From a277ded8d4b71196bd9df4b945f67643db005eef Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Mon, 20 Jul 2026 11:12:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BA=86=20TPC=20=E7=9A=84?= =?UTF-8?q?=E4=B8=80=E4=BA=9B=E9=94=99=E8=AF=AF=EF=BC=8C=E5=8C=85=E6=8B=AC?= =?UTF-8?q?=20Test=20=E7=BB=B4=E6=8A=A4=E5=90=8E=20TPV=20=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E9=87=8D=E6=96=B0=E7=BC=96=E8=AF=91=E6=88=96=E9=87=8D?= =?UTF-8?q?=E7=BC=96=E8=AF=91=E5=90=8E=E8=B6=8A=E7=95=8C=E7=9A=84=E9=83=A8?= =?UTF-8?q?=E5=88=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .transpyc_cache/14d33679f7fadf1f.pyi | 31 - .transpyc_cache/48352329f97d0858.pyi | 19 - .transpyc_cache/5b2e220c5bae60c9.pyi | 33 - HEAD_ExprAttr.py | 1379 +++++++++++++++++ .../output/08ea5281873244fd.deps.json | 2 +- .../output/_shared_sym_includes.pickle | Bin 0 -> 369950 bytes .../output/aba439b7882ad9d6.deps.json | 1 + .../output/b8c66c8ff44eb874.deps.json | 1 + .../temp/47775d5e50909338.pyi} | 1 + Test/ArgparseTest/temp/_phase1_manifest.json | 2 +- Test/ArgparseTest/temp/_sha1_map.txt | 2 +- Test/AstTest/build_all.txt | 1 + .../AstTest/output/0853acdbdfc9b27c.deps.json | 2 +- .../AstTest/output/0c212981c180e7fb.deps.json | 1 + .../AstTest/output/34548789d646f432.deps.json | 1 + .../AstTest/output/4337fb260448bbe2.deps.json | 1 + .../AstTest/output/47767b5026a8ee15.deps.json | 1 + .../AstTest/output/4dd6b3f1427d1cc5.deps.json | 1 + .../AstTest/output/5dab8cb390496d22.deps.json | 1 + .../AstTest/output/6503c97dde0c79c4.deps.json | 1 + .../AstTest/output/657e182b27c2a022.deps.json | 1 + .../output/_shared_sym_includes.pickle | Bin 0 -> 1550063 bytes .../AstTest/output/b547ac4f380bddb6.deps.json | 1 + .../AstTest/output/b5a965302cded36b.deps.json | 1 + .../AstTest/output/ee52c08239684346.deps.json | 1 + .../temp/1d40c4bdc94641c5.pyi} | 1 + .../temp/47775d5e50909338.pyi} | 2 + Test/AstTest/temp/_phase1_manifest.json | 2 +- Test/AstTest/temp/_sha1_map.txt | 4 +- Test/AstTest/temp/f3560b99de458aec.pyi | 86 - Test/BuddyTest/App/mbuddytest.py | 4 +- .../output/4f218f56e4225fcd.deps.json | 1 + .../output/5a3d93d7860d5dc0.deps.json | 1 - .../output/5e430ae5bf7af3a2.deps.json | 2 +- .../temp/1d40c4bdc94641c5.pyi} | 1 + .../temp/47775d5e50909338.pyi} | 2 + .../BuddyTest/temp/4f218f56e4225fcd.doc.json | 0 ...d93d7860d5dc0.pyi => 4f218f56e4225fcd.pyi} | 1 + Test/BuddyTest/temp/_phase1_manifest.json | 2 +- Test/BuddyTest/temp/_sha1_map.txt | 6 +- Test/BuddyTest/temp/_shared_sym.json | Bin 426400 -> 423192 bytes .../temp/_phase1_manifest.json | 2 +- Test/CPythonTest/temp/_shared_sym.json | Bin 567405 -> 564042 bytes .../output/20cd49775c100a38.deps.json | 1 + .../output/240a9a4157959a9f.deps.json | 1 + .../output/57288496f7c2d1ad.deps.json | 1 + .../output/_shared_sym_includes.pickle | Bin 0 -> 652063 bytes .../output/b3c2b99b6f3be4c7.deps.json | 2 +- .../output/e3e7b6de8d7d8b03.deps.json | 1 + .../temp/47775d5e50909338.pyi} | 2 + Test/DictTest/temp/_phase1_manifest.json | 2 +- Test/DictTest/temp/_sha1_map.txt | 2 +- .../DocTest/output/14d33679f7fadf1f.deps.json | 1 + .../DocTest/output/7e529fe7a078cfef.deps.json | 1 + .../DocTest/output/9474791561654346.deps.json | 1 + .../output/_shared_sym_includes.pickle | Bin 0 -> 307251 bytes .../DocTest/output/bbdf3bbd4c3bc28c.deps.json | 1 + Test/DocTest/temp/_shared_sym.json | Bin 306737 -> 303970 bytes Test/EqTest/temp/_phase1_manifest.json | 2 +- .../output/0035c95a18d4f8e8.deps.json | 1 - .../output/067c78e9f121dce3.deps.json | 1 - .../output/06f53cc594b4ac6c.deps.json | 1 - .../output/14d33679f7fadf1f.deps.json | 1 - .../output/271ea3decb810db2.deps.json | 1 - .../output/41c5ddb425c4eae0.deps.json | 1 - .../output/48352329f97d0858.deps.json | 2 +- .../output/5b2e220c5bae60c9.deps.json | 2 +- .../output/622aeae2531892d4.deps.json | 1 - .../output/6446627d4f07a1b5.deps.json | 1 - .../output/668790e6c9efdbae.deps.json | 1 + .../output/72e2d5ccb7cedcf1.deps.json | 1 - .../output/79b337e5ea8951e2.deps.json | 1 + .../output/7e529fe7a078cfef.deps.json | 1 - .../output/9474791561654346.deps.json | 1 - .../output/_shared_sym_includes.pickle | Bin 625193 -> 624787 bytes .../output/bbdf3bbd4c3bc28c.deps.json | 1 - .../output/c9f4be41ca1cc2b4.deps.json | 1 - .../output/f6b51804a0ba8ff0.deps.json | 1 - .../output/ff46ba125b2759f7.deps.json | 1 - Test/FakeDuckTest/temp/47775d5e50909338.pyi | 88 ++ Test/FakeDuckTest/temp/622aeae2531892d4.pyi | 31 - .../temp/668790e6c9efdbae.pyi} | 0 ...6ba125b2759f7.pyi => 79b337e5ea8951e2.pyi} | 0 Test/FakeDuckTest/temp/_phase1_manifest.json | 2 +- Test/FakeDuckTest/temp/_sha1_map.txt | 6 +- .../output/6deb1a24b47f47fc.deps.json | 2 +- Test/ForAndLoopTest/temp/47775d5e50909338.pyi | 88 ++ .../temp/668790e6c9efdbae.pyi} | 0 .../ForAndLoopTest/temp/_phase1_manifest.json | 2 +- Test/ForAndLoopTest/temp/_sha1_map.txt | 4 +- Test/ForAndLoopTest/temp/f3560b99de458aec.pyi | 86 - .../output/02d833b3cf571c5b.deps.json | 2 +- Test/HashTableTest/temp/47775d5e50909338.pyi | 88 ++ Test/HashTableTest/temp/_phase1_manifest.json | 2 +- Test/HashTableTest/temp/_sha1_map.txt | 2 +- Test/HashTableTest/temp/f3560b99de458aec.pyi | 86 - .../output/8a97754e9e3c2b9a.deps.json | 2 +- Test/JsonTest/temp/47775d5e50909338.pyi | 88 ++ Test/JsonTest/temp/_phase1_manifest.json | 2 +- Test/JsonTest/temp/_sha1_map.txt | 2 +- Test/JsonTest/temp/f3560b99de458aec.pyi | 86 - .../output/15f1ded02f3aa5bc.deps.json | 1 + .../output/21a7fcfc665f75ef.deps.json | 1 + .../output/2d39c6c7d3557b3e.deps.json | 1 + .../output/5b8cf12a5862b640.deps.json | 2 +- .../output/6b3bc463fd044545.deps.json | 1 + .../output/89b3965176cd2407.deps.json | 1 + .../output/946e087da91aaada.deps.json | 1 + .../output/95394ca8da0f655a.deps.json | 1 + .../output/_shared_sym_includes.pickle | Bin 0 -> 777309 bytes .../output/f9e36e2cd6fa659f.deps.json | 1 + .../temp/1d40c4bdc94641c5.pyi} | 1 + Test/LLvmLiteTest/temp/47775d5e50909338.pyi | 88 ++ ...d2ba72ed7ba09.pyi => 89b3965176cd2407.pyi} | 0 Test/LLvmLiteTest/temp/_phase1_manifest.json | 2 +- Test/LLvmLiteTest/temp/_sha1_map.txt | 6 +- Test/LLvmLiteTest/temp/f3560b99de458aec.pyi | 86 - .../output/1ff2c5eb32359e40.deps.json | 2 +- Test/ListTest/temp/47775d5e50909338.pyi | 88 ++ .../temp/668790e6c9efdbae.pyi} | 0 Test/ListTest/temp/_phase1_manifest.json | 2 +- Test/ListTest/temp/_sha1_map.txt | 4 +- Test/ListTest/temp/f3560b99de458aec.pyi | 86 - .../output/3ff210e50f345c7c.deps.json | 2 +- Test/MemhubTest/temp/47775d5e50909338.pyi | 88 ++ Test/MemhubTest/temp/_phase1_manifest.json | 2 +- Test/MemhubTest/temp/_sha1_map.txt | 2 +- Test/MemhubTest/temp/f3560b99de458aec.pyi | 86 - .../output/4175f14c5fbef360.deps.json | 2 +- .../temp/1d40c4bdc94641c5.pyi} | 1 + Test/NewAstTest/temp/47775d5e50909338.pyi | 88 ++ .../temp/668790e6c9efdbae.pyi} | 0 Test/NewAstTest/temp/_phase1_manifest.json | 2 +- Test/NewAstTest/temp/_sha1_map.txt | 6 +- Test/NewAstTest/temp/f3560b99de458aec.pyi | 86 - .../output/22650858c377c847.deps.json | 2 +- Test/NoVTableTest/temp/1d40c4bdc94641c5.pyi | 24 + Test/NoVTableTest/temp/_phase1_manifest.json | 2 +- Test/NoVTableTest/temp/_sha1_map.txt | 2 +- Test/NoVTableTest/temp/c3b259b4059f8668.pyi | 23 - .../temp/_phase1_manifest.json | 2 +- Test/SimdTest/App/main.py | 60 +- .../output/271ea3decb810db2.deps.json | 1 + .../output/2fcb6780db4d937f.deps.json | 1 - .../output/3f7c5e78d8652535.deps.json | 1 + .../output/47775d5e50909338.deps.json | 1 + .../output/90f67f777f23b84b.deps.json | 1 + .../output/_shared_sym_includes.pickle | Bin 0 -> 534585 bytes .../output/c24f25b14b4bbd0a.deps.json | 1 + .../output/c3a6aed1f1fb8b1e.deps.json | 1 + .../output/c9f4be41ca1cc2b4.deps.json | 1 + Test/SimdTest/temp/47775d5e50909338.pyi | 88 ++ .../temp/90f67f777f23b84b.doc.json} | 0 ...b6780db4d937f.pyi => 90f67f777f23b84b.pyi} | 0 Test/SimdTest/temp/_phase1_manifest.json | 2 +- Test/SimdTest/temp/_sha1_map.txt | 4 +- Test/SimdTest/temp/f3560b99de458aec.pyi | 86 - .../output/f492cb40d913400b.deps.json | 2 +- Test/SprintfTest/temp/1d40c4bdc94641c5.pyi | 24 + Test/SprintfTest/temp/_phase1_manifest.json | 2 +- Test/SprintfTest/temp/_sha1_map.txt | 2 +- Test/SprintfTest/temp/c3b259b4059f8668.pyi | 23 - .../output/924ed8cd4ea5c4c2.deps.json | 2 +- Test/StringIterTest/temp/47775d5e50909338.pyi | 88 ++ .../StringIterTest/temp/668790e6c9efdbae.pyi | 0 .../StringIterTest/temp/_phase1_manifest.json | 2 +- Test/StringIterTest/temp/_sha1_map.txt | 4 +- Test/StringIterTest/temp/f3560b99de458aec.pyi | 86 - .../output/13110effbb0bb06c.deps.json | 1 + .../output/2da636c61863c815.deps.json | 1 + .../output/59e00d50660b941e.deps.json | 2 +- .../output/76dd6c275aa72b3b.deps.json | 1 + .../output/_shared_sym_includes.pickle | Bin 0 -> 766994 bytes .../output/a03139660029514f.deps.json | 2 +- .../output/a68b70f233541a7f.deps.json | 1 + .../output/abbcbd92436cc16a.deps.json | 1 + .../output/c70684ccfe48a5a9.deps.json | 2 +- .../output/d152115b49e50218.deps.json | 1 + Test/SysLibTest/temp/1d40c4bdc94641c5.pyi | 24 + Test/SysLibTest/temp/47775d5e50909338.pyi | 88 ++ Test/SysLibTest/temp/_phase1_manifest.json | 2 +- Test/SysLibTest/temp/_sha1_map.txt | 4 +- Test/SysLibTest/temp/_shared_sym.json | Bin 699092 -> 698259 bytes Test/SysLibTest/temp/c3b259b4059f8668.pyi | 23 - Test/SysLibTest/temp/f3560b99de458aec.pyi | 86 - .../output/0035c95a18d4f8e8.deps.json | 1 + .../output/067c78e9f121dce3.deps.json | 1 + .../output/06f53cc594b4ac6c.deps.json | 1 + .../output/6446627d4f07a1b5.deps.json | 1 + .../output/72e2d5ccb7cedcf1.deps.json | 1 + .../output/_shared_sym_includes.pickle | Bin 0 -> 540397 bytes .../output/f6b51804a0ba8ff0.deps.json | 1 + .../output/3cd87018ba1e76bc.deps.json | 2 +- .../output/49cae05490a513cb.deps.json | 2 +- .../output/75583f20a922ab2e.deps.json | 2 +- .../output/8e0d8fdba991b3b4.deps.json | 2 +- .../output/cfc83b830141b00e.deps.json | 2 +- .../output/e5fb16127bce8f68.deps.json | 2 +- .../output/faec3233d98371da.deps.json | 2 +- Test/TestProject/temp/47775d5e50909338.pyi | 88 ++ Test/TestProject/temp/_phase1_manifest.json | 2 +- Test/TestProject/temp/_sha1_map.txt | 2 +- Test/TestProject/temp/_shared_sym.json | Bin 555124 -> 554459 bytes Test/TestProject/temp/f3560b99de458aec.pyi | 86 - .../output/0df65b8ed15664b0.deps.json | 1 + .../output/19f8024d10c828e8.deps.json | 1 + .../output/1c46d554b3a3f9f3.deps.json | 1 + .../output/213348433fb01cc6.deps.json | 1 + .../output/257e074b935c33b4.deps.json | 1 + .../output/451745df21e598af.deps.json | 1 + .../output/541a1ed9b8be53c8.deps.json | 2 +- .../output/6ff26590374ae6fc.deps.json | 1 + .../output/8ebed83a7817fa0c.deps.json | 1 + .../output/90921d009fdd674c.deps.json | 1 + .../output/_shared_sym_includes.pickle | Bin 0 -> 723655 bytes .../output/c9d54a4158f7f5a8.deps.json | 1 + .../output/cfc83b830141b00e.deps.json | 2 +- .../output/d541ade6afb689a5.deps.json | 1 + Test/TestProject2/temp/47775d5e50909338.pyi | 88 ++ Test/TestProject2/temp/_phase1_manifest.json | 2 +- Test/TestProject2/temp/_sha1_map.txt | 2 +- Test/TestProject2/temp/_shared_sym.json | Bin 463682 -> 463038 bytes Test/TestProject2/temp/f3560b99de458aec.pyi | 86 - .../output/0019c939aae7f9f1.deps.json | 2 +- .../output/1b58766d38d05de3.deps.json | 2 +- .../output/285a822aa26bfbda.deps.json | 1 + .../output/64ac83614c9bdbc6.deps.json | 2 +- .../output/b235d6477436c524.deps.json | 2 +- .../output/b777c587cc21465a.deps.json | 2 +- .../output/c01b27dbcd683245.deps.json | 2 +- Test/TestProject3/temp/1d40c4bdc94641c5.pyi | 24 + Test/TestProject3/temp/47775d5e50909338.pyi | 88 ++ Test/TestProject3/temp/_phase1_manifest.json | 2 +- Test/TestProject3/temp/_sha1_map.txt | 4 +- Test/TestProject3/temp/_shared_sym.json | Bin 521371 -> 520853 bytes Test/TestProject3/temp/c3b259b4059f8668.pyi | 23 - Test/TestProject3/temp/f3560b99de458aec.pyi | 86 - .../output/3f7c5e78d8652535.deps.json | 1 + .../output/62cc01c2bb770ca3.deps.json | 1 + .../output/_shared_sym_includes.pickle | Bin 0 -> 354964 bytes .../output/c1416dfae155d6e2.deps.json | 2 +- Test/VariadicTest/temp/1d40c4bdc94641c5.pyi | 24 + Test/VariadicTest/temp/_phase1_manifest.json | 2 +- Test/VariadicTest/temp/_sha1_map.txt | 2 +- Test/VariadicTest/temp/c3b259b4059f8668.pyi | 23 - .../WebTest/output/8046d45456d0b153.deps.json | 2 +- .../output/_shared_sym_includes.pickle | Bin 0 -> 377483 bytes .../WebTest/output/b558d8d8f01f4825.deps.json | 1 + .../WebTest/output/d7e3386b828acb66.deps.json | 1 + Test/WebTest/temp/47775d5e50909338.pyi | 88 ++ Test/WebTest/temp/_phase1_manifest.json | 2 +- Test/WebTest/temp/_sha1_map.txt | 2 +- Test/WebTest/temp/f3560b99de458aec.pyi | 86 - Test/ZlibTest/temp/_phase1_manifest.json | 2 +- Test/ZlibTest/temp/_shared_sym.json | Bin 436960 -> 437132 bytes TransPyV/App/lib/core/IncludesScanner.py | 26 +- TransPyV/App/lib/core/Phase1.py | 37 +- TransPyV/App/lib/core/StubMerger.py | 52 + TransPyV/App/main.py | 4 + .../output/f3458d483d1f87c2.deps.json | 1 - .../Test/Sha1Test/temp/271ea3decb810db2.pyi | 26 - .../Test/Sha1Test/temp/6f62fe05c5ea1ceb.pyi | 28 - .../Test/Sha1Test/temp/6ff26590374ae6fc.pyi | 39 - .../Test/Sha1Test/temp/73fcdc4dd1618580.pyi | 29 - .../Test/Sha1Test/temp/83210a72e829a086.pyi | 46 - .../Test/Sha1Test/temp/96837bcc64032444.pyi | 13 - .../Test/Sha1Test/temp/_phase1_manifest.json | 1 - TransPyV/Test/Sha1Test/temp/_sha1_map.txt | 13 - .../Test/Sha1Test/temp/c9d54a4158f7f5a8.pyi | 34 - .../Test/Sha1Test/temp/c9f4be41ca1cc2b4.pyi | 22 - .../Test/Sha1Test/temp/cc436a125bbaf28c.pyi | 34 - .../Test/Sha1Test/temp/e79ec1d5e09b18bc.pyi | 20 - .../Test/Sha1Test/temp/ee084e9fc6ee413a.pyi | 81 - .../Sha1Test/temp/f3458d483d1f87c2.doc.json | 1 - .../Test/Sha1Test/temp/f3458d483d1f87c2.pyi | 17 - .../Test/Sha1Test/temp/f5522571bcce7bcb.pyi | 100 -- TransPyV/Test/temp/0035c95a18d4f8e8.deps.txt | 1 - TransPyV/Test/temp/05c11f22675c60cb.deps.txt | 1 - TransPyV/Test/temp/067c78e9f121dce3.deps.txt | 1 - TransPyV/Test/temp/06f53cc594b4ac6c.deps.txt | 1 - TransPyV/Test/temp/07f7da85af876124.deps.txt | 1 - TransPyV/Test/temp/0c212981c180e7fb.deps.txt | 1 - TransPyV/Test/temp/0df65b8ed15664b0.deps.txt | 1 - TransPyV/Test/temp/0eccc2393466d940.deps.txt | 1 - TransPyV/Test/temp/13110effbb0bb06c.deps.txt | 1 - TransPyV/Test/temp/14d33679f7fadf1f.deps.txt | 1 - TransPyV/Test/temp/17c0dfbcebfa3a0e.deps.txt | 1 - TransPyV/Test/temp/19f8024d10c828e8.deps.txt | 1 - TransPyV/Test/temp/1b9ab264a942c56b.deps.txt | 1 - TransPyV/Test/temp/1c46d554b3a3f9f3.deps.txt | 1 - TransPyV/Test/temp/1eb1c9fc7e85d9f8.deps.txt | 1 - TransPyV/Test/temp/20cd49775c100a38.deps.txt | 1 - TransPyV/Test/temp/213348433fb01cc6.deps.txt | 1 - TransPyV/Test/temp/21a7fcfc665f75ef.deps.txt | 1 - TransPyV/Test/temp/240a9a4157959a9f.deps.txt | 1 - TransPyV/Test/temp/257e074b935c33b4.deps.txt | 1 - TransPyV/Test/temp/271ea3decb810db2.deps.txt | 1 - TransPyV/Test/temp/2769dee537308b00.deps.txt | 1 - TransPyV/Test/temp/285a822aa26bfbda.deps.txt | 1 - TransPyV/Test/temp/2d39c6c7d3557b3e.deps.txt | 1 - TransPyV/Test/temp/2da636c61863c815.deps.txt | 1 - TransPyV/Test/temp/33a854a5c4f67d74.deps.txt | 1 - TransPyV/Test/temp/34548789d646f432.deps.txt | 1 - TransPyV/Test/temp/3487a256b250bb74.deps.txt | 1 - TransPyV/Test/temp/3624cfde3c5cb6cb.deps.txt | 1 - TransPyV/Test/temp/3c2fbc9e35ad3bf2.deps.txt | 1 - TransPyV/Test/temp/3f7c5e78d8652535.deps.txt | 1 - TransPyV/Test/temp/4337fb260448bbe2.deps.txt | 1 - TransPyV/Test/temp/451745df21e598af.deps.txt | 1 - TransPyV/Test/temp/455ff4e74c3dbfb0.deps.txt | 1 - TransPyV/Test/temp/46ea362b72c10a9e.deps.txt | 1 - TransPyV/Test/temp/47767b5026a8ee15.deps.txt | 1 - TransPyV/Test/temp/4dd6b3f1427d1cc5.deps.txt | 1 - TransPyV/Test/temp/55cbbb5dec4fef2c.deps.txt | 1 - TransPyV/Test/temp/56d07ea7e30ef631.deps.txt | 1 - TransPyV/Test/temp/57288496f7c2d1ad.deps.txt | 1 - TransPyV/Test/temp/5b2e220c5bae60c9.deps.txt | 1 - TransPyV/Test/temp/5dab8cb390496d22.deps.txt | 1 - TransPyV/Test/temp/62cc01c2bb770ca3.deps.txt | 1 - TransPyV/Test/temp/6446627d4f07a1b5.deps.txt | 1 - TransPyV/Test/temp/6503c97dde0c79c4.deps.txt | 1 - TransPyV/Test/temp/657e182b27c2a022.deps.txt | 1 - TransPyV/Test/temp/6f5e876273093314.deps.txt | 1 - TransPyV/Test/temp/6f62fe05c5ea1ceb.deps.txt | 1 - TransPyV/Test/temp/6ff26590374ae6fc.deps.txt | 1 - TransPyV/Test/temp/71e0a3ffcb3ebfad.deps.txt | 1 - TransPyV/Test/temp/72e2d5ccb7cedcf1.deps.txt | 1 - TransPyV/Test/temp/74ca31446cac2107.deps.txt | 1 - TransPyV/Test/temp/76dd6c275aa72b3b.deps.txt | 1 - TransPyV/Test/temp/79b337e5ea8951e2.deps.txt | 1 - TransPyV/Test/temp/7e529fe7a078cfef.deps.txt | 1 - TransPyV/Test/temp/80241c7d6f357bd1.deps.txt | 1 - TransPyV/Test/temp/87274c2b0190fb33.deps.txt | 1 - TransPyV/Test/temp/8ebed83a7817fa0c.deps.txt | 1 - TransPyV/Test/temp/90921d009fdd674c.deps.txt | 1 - TransPyV/Test/temp/90c53dd6db8d41cf.deps.txt | 1 - TransPyV/Test/temp/93c1d18e35d188d6.deps.txt | 1 - TransPyV/Test/temp/95394ca8da0f655a.deps.txt | 1 - TransPyV/Test/temp/96837bcc64032444.deps.txt | 1 - TransPyV/Test/temp/969c589035910845.deps.txt | 1 - TransPyV/Test/temp/97043f0d52da437f.deps.txt | 1 - TransPyV/Test/temp/971e24c228377a9b.deps.txt | 1 - TransPyV/Test/temp/9d4b01572930a369.deps.txt | 1 - TransPyV/Test/temp/9d798d964b9d3411.deps.txt | 1 - TransPyV/Test/temp/9d8626a10208b8de.deps.txt | 1 - TransPyV/Test/temp/9d8e1c9631c28b1b.deps.txt | 1 - TransPyV/Test/temp/_sha1_map.txt | 110 +- TransPyV/Test/temp/a68b70f233541a7f.deps.txt | 1 - TransPyV/Test/temp/a7bc8c01684c0001.deps.txt | 1 - TransPyV/Test/temp/a7cf0ce4066332ae.deps.txt | 1 - TransPyV/Test/temp/a9df037d9178888f.deps.txt | 1 - TransPyV/Test/temp/ab6e54ba9a669f76.deps.txt | 1 - TransPyV/Test/temp/aba439b7882ad9d6.deps.txt | 1 - TransPyV/Test/temp/abbcbd92436cc16a.deps.txt | 1 - TransPyV/Test/temp/ad6c853acfc0c146.deps.txt | 1 - TransPyV/Test/temp/b078e9c9c74a2a0c.deps.txt | 1 - TransPyV/Test/temp/b19a9e500f677f2e.deps.txt | 1 - TransPyV/Test/temp/b547ac4f380bddb6.deps.txt | 1 - TransPyV/Test/temp/b558d8d8f01f4825.deps.txt | 1 - TransPyV/Test/temp/b5a965302cded36b.deps.txt | 1 - TransPyV/Test/temp/b62eded2baf30423.deps.txt | 1 - TransPyV/Test/temp/b7bbe6a1c1e75ad8.deps.txt | 1 - TransPyV/Test/temp/b7eeff93aa63e70f.deps.txt | 1 - TransPyV/Test/temp/b8c66c8ff44eb874.deps.txt | 1 - TransPyV/Test/temp/b8cbe044a10adcca.deps.txt | 1 - TransPyV/Test/temp/bbdf3bbd4c3bc28c.deps.txt | 1 - TransPyV/Test/temp/c24f25b14b4bbd0a.deps.txt | 1 - TransPyV/Test/temp/c38a35636ba0f067.deps.txt | 1 - TransPyV/Test/temp/c39f3e540adb7b4e.deps.txt | 1 - TransPyV/Test/temp/c3a6aed1f1fb8b1e.deps.txt | 1 - TransPyV/Test/temp/c3b259b4059f8668.deps.txt | 1 - TransPyV/Test/temp/c9d54a4158f7f5a8.deps.txt | 1 - TransPyV/Test/temp/c9f4be41ca1cc2b4.deps.txt | 1 - TransPyV/Test/temp/cc3ad7f3bc880326.deps.txt | 1 - TransPyV/Test/temp/d152115b49e50218.deps.txt | 1 - TransPyV/Test/temp/d4117f5e00a6c3b5.deps.txt | 1 - TransPyV/Test/temp/d541ade6afb689a5.deps.txt | 1 - TransPyV/Test/temp/d63d2c2a2bd9bd2a.deps.txt | 1 - TransPyV/Test/temp/d7662500f1c2c0ff.deps.txt | 1 - TransPyV/Test/temp/d7e3386b828acb66.deps.txt | 1 - TransPyV/Test/temp/da44924f0777c67a.deps.txt | 1 - TransPyV/Test/temp/e0009679269c6b63.deps.txt | 1 - TransPyV/Test/temp/e0b84369e50c937c.deps.txt | 1 - TransPyV/Test/temp/e0f1d864a10b2e4d.deps.txt | 1 - TransPyV/Test/temp/e3e7b6de8d7d8b03.deps.txt | 1 - TransPyV/Test/temp/e74870eba3e6d774.deps.txt | 1 - TransPyV/Test/temp/ea80a4a724accbda.deps.txt | 1 - TransPyV/Test/temp/eb252050d92f8fb9.deps.txt | 1 - TransPyV/Test/temp/ed1c124f3cb787c9.deps.txt | 1 - TransPyV/Test/temp/ee52c08239684346.deps.txt | 1 - TransPyV/Test/temp/ef45adce81bf5b2d.deps.txt | 1 - TransPyV/Test/temp/f2ecbf8ced20575c.deps.txt | 1 - TransPyV/Test/temp/f3560b99de458aec.deps.txt | 1 - TransPyV/Test/temp/f5522571bcce7bcb.deps.txt | 1 - TransPyV/Test/temp/f6b51804a0ba8ff0.deps.txt | 1 - TransPyV/output/001c1416e7a7dc50.deps.json | 2 +- TransPyV/output/02885f6f134079c2.deps.json | 2 +- TransPyV/output/07a8c82a8ca2be90.deps.json | 2 +- TransPyV/output/0c56128647a0b845.deps.json | 2 +- TransPyV/output/21fffba3315e81b4.deps.json | 2 +- TransPyV/output/2998b8f78d7022bf.deps.json | 2 +- TransPyV/output/2ed380190e9df89e.deps.json | 2 +- TransPyV/output/3d3edda4a4e6c08b.deps.json | 2 +- TransPyV/output/4020cac9bab5e9f1.deps.json | 2 +- TransPyV/output/48fa8cc758d3826b.deps.json | 2 +- TransPyV/output/49cf633017627a4a.deps.json | 2 +- TransPyV/output/51f0144d6e8188d9.deps.json | 2 +- TransPyV/output/54014f6c53e9640b.deps.json | 2 +- TransPyV/output/541a090dde0cc1ba.deps.json | 2 +- TransPyV/output/66de93aaeebc0601.deps.json | 2 +- TransPyV/output/78bbe886bbe5ca8f.deps.json | 2 +- TransPyV/output/7e260c14d2712119.deps.json | 2 +- TransPyV/output/81eb28ba912467a6.deps.json | 2 +- TransPyV/output/83ba314b4637eec9.deps.json | 2 +- TransPyV/output/888ea5bd6ab516ae.deps.json | 2 +- TransPyV/output/8f12094c840be06a.deps.json | 2 +- TransPyV/output/950028de389b7a7b.deps.json | 1 - TransPyV/output/ae0cc890f657076d.deps.json | 2 +- TransPyV/output/af9484a65085bf4b.deps.json | 2 +- TransPyV/output/b29b80b6106e4be7.deps.json | 2 +- TransPyV/output/b5d05dbd7fee36ef.deps.json | 1 - TransPyV/output/bd82e3ca81546c76.deps.json | 1 - TransPyV/output/c4f2d483ec0f4db5.deps.json | 2 +- TransPyV/output/d1599ecbac5b6586.deps.json | 2 +- TransPyV/output/d9322f0db660edd8.deps.json | 2 +- TransPyV/output/db7c4a8f09d02a17.deps.json | 1 - TransPyV/output/e5be27ae4fe7ce04.deps.json | 2 +- TransPyV/temp/05c11f22675c60cb.pyi | 50 - TransPyV/temp/455ff4e74c3dbfb0.pyi | 120 -- TransPyV/temp/46ea362b72c10a9e.pyi | 219 --- TransPyV/temp/950028de389b7a7b.doc.json | 1 - TransPyV/temp/950028de389b7a7b.pyi | 41 - TransPyV/temp/_phase1_manifest.json | 2 +- TransPyV/temp/_sha1_map.txt | 25 +- TransPyV/temp/_shared_sym.json | Bin 2245844 -> 1846304 bytes TransPyV/temp/ab6e54ba9a669f76.pyi | 48 - TransPyV/temp/b5d05dbd7fee36ef.doc.json | 1 - TransPyV/temp/b5d05dbd7fee36ef.pyi | 60 - TransPyV/temp/bd82e3ca81546c76.doc.json | 1 - TransPyV/temp/bd82e3ca81546c76.pyi | 45 - TransPyV/temp/d4117f5e00a6c3b5.pyi | 62 - TransPyV/temp/db7c4a8f09d02a17.doc.json | 1 - TransPyV/temp/db7c4a8f09d02a17.pyi | 32 - TransPyV/temp/e0b84369e50c937c.pyi | 93 -- TransPyV/temp/ee084e9fc6ee413a.pyi | 81 - heapchk_test.c | 25 + heapvalidate_test.c | 33 + includes/_fakeduck.py | 10 - includes/_list.py | 5 - includes/llvmlite/__function.py | 31 +- includes/memhub.py | 15 +- lib/core/Handles/HandlesAnnAssign.py | 133 +- lib/core/Handles/HandlesAssign.py | 25 +- lib/core/Handles/HandlesClassDef.py | 89 +- lib/core/Handles/HandlesExpr.py | 6 + lib/core/Handles/HandlesExprAttr.py | 131 +- lib/core/Handles/HandlesExprCall.py | 174 ++- lib/core/Handles/HandlesExprUtils.py | 19 + lib/core/Handles/HandlesFunctions.py | 27 +- lib/core/Handles/HandlesReturn.py | 20 +- lib/core/SymbolUtils.py | 8 + regression_log.txt | 1 + test.py | 1 + thistest/App/{benchmark_main.py => main.py} | 4 +- thistest/output/6166aecc7fa7ad65.deps.json | 2 +- thistest/output/8c37156d7b67c1f5.deps.json | 1 - thistest/output/92e17df16c98b2b5.deps.json | 1 + thistest/output/_shared_sym_includes.pickle | Bin 582206 -> 619292 bytes thistest/output/a7bc8c01684c0001.deps.json | 2 +- thistest/temp/47775d5e50909338.pyi | 88 ++ thistest/temp/8c37156d7b67c1f5.doc.json | 1 - .../temp/92e17df16c98b2b5.doc.json | 0 ...7156d7b67c1f5.pyi => 92e17df16c98b2b5.pyi} | 4 +- thistest/temp/_phase1_manifest.json | 2 +- thistest/temp/_sha1_map.txt | 4 +- thistest/temp/f3560b99de458aec.pyi | 86 - 476 files changed, 4000 insertions(+), 3439 deletions(-) delete mode 100644 .transpyc_cache/14d33679f7fadf1f.pyi delete mode 100644 .transpyc_cache/48352329f97d0858.pyi delete mode 100644 .transpyc_cache/5b2e220c5bae60c9.pyi create mode 100644 HEAD_ExprAttr.py create mode 100644 Test/ArgparseTest/output/_shared_sym_includes.pickle create mode 100644 Test/ArgparseTest/output/aba439b7882ad9d6.deps.json create mode 100644 Test/ArgparseTest/output/b8c66c8ff44eb874.deps.json rename Test/{FakeDuckTest/temp/41c5ddb425c4eae0.pyi => ArgparseTest/temp/47775d5e50909338.pyi} (98%) create mode 100644 Test/AstTest/build_all.txt create mode 100644 Test/AstTest/output/0c212981c180e7fb.deps.json create mode 100644 Test/AstTest/output/34548789d646f432.deps.json create mode 100644 Test/AstTest/output/4337fb260448bbe2.deps.json create mode 100644 Test/AstTest/output/47767b5026a8ee15.deps.json create mode 100644 Test/AstTest/output/4dd6b3f1427d1cc5.deps.json create mode 100644 Test/AstTest/output/5dab8cb390496d22.deps.json create mode 100644 Test/AstTest/output/6503c97dde0c79c4.deps.json create mode 100644 Test/AstTest/output/657e182b27c2a022.deps.json create mode 100644 Test/AstTest/output/_shared_sym_includes.pickle create mode 100644 Test/AstTest/output/b547ac4f380bddb6.deps.json create mode 100644 Test/AstTest/output/b5a965302cded36b.deps.json create mode 100644 Test/AstTest/output/ee52c08239684346.deps.json rename Test/{LLvmLiteTest/temp/c3b259b4059f8668.pyi => AstTest/temp/1d40c4bdc94641c5.pyi} (98%) rename Test/{BuddyTest/temp/f3560b99de458aec.pyi => AstTest/temp/47775d5e50909338.pyi} (98%) delete mode 100644 Test/AstTest/temp/f3560b99de458aec.pyi create mode 100644 Test/BuddyTest/output/4f218f56e4225fcd.deps.json delete mode 100644 Test/BuddyTest/output/5a3d93d7860d5dc0.deps.json rename Test/{AstTest/temp/c3b259b4059f8668.pyi => BuddyTest/temp/1d40c4bdc94641c5.pyi} (98%) rename Test/{DictTest/temp/f3560b99de458aec.pyi => BuddyTest/temp/47775d5e50909338.pyi} (98%) rename .transpyc_cache/48352329f97d0858.doc.json => Test/BuddyTest/temp/4f218f56e4225fcd.doc.json (100%) rename Test/BuddyTest/temp/{5a3d93d7860d5dc0.pyi => 4f218f56e4225fcd.pyi} (96%) create mode 100644 Test/DictTest/output/20cd49775c100a38.deps.json create mode 100644 Test/DictTest/output/240a9a4157959a9f.deps.json create mode 100644 Test/DictTest/output/57288496f7c2d1ad.deps.json create mode 100644 Test/DictTest/output/_shared_sym_includes.pickle create mode 100644 Test/DictTest/output/e3e7b6de8d7d8b03.deps.json rename Test/{ArgparseTest/temp/f3560b99de458aec.pyi => DictTest/temp/47775d5e50909338.pyi} (98%) create mode 100644 Test/DocTest/output/14d33679f7fadf1f.deps.json create mode 100644 Test/DocTest/output/7e529fe7a078cfef.deps.json create mode 100644 Test/DocTest/output/9474791561654346.deps.json create mode 100644 Test/DocTest/output/_shared_sym_includes.pickle create mode 100644 Test/DocTest/output/bbdf3bbd4c3bc28c.deps.json delete mode 100644 Test/FakeDuckTest/output/0035c95a18d4f8e8.deps.json delete mode 100644 Test/FakeDuckTest/output/067c78e9f121dce3.deps.json delete mode 100644 Test/FakeDuckTest/output/06f53cc594b4ac6c.deps.json delete mode 100644 Test/FakeDuckTest/output/14d33679f7fadf1f.deps.json delete mode 100644 Test/FakeDuckTest/output/271ea3decb810db2.deps.json delete mode 100644 Test/FakeDuckTest/output/41c5ddb425c4eae0.deps.json delete mode 100644 Test/FakeDuckTest/output/622aeae2531892d4.deps.json delete mode 100644 Test/FakeDuckTest/output/6446627d4f07a1b5.deps.json create mode 100644 Test/FakeDuckTest/output/668790e6c9efdbae.deps.json delete mode 100644 Test/FakeDuckTest/output/72e2d5ccb7cedcf1.deps.json create mode 100644 Test/FakeDuckTest/output/79b337e5ea8951e2.deps.json delete mode 100644 Test/FakeDuckTest/output/7e529fe7a078cfef.deps.json delete mode 100644 Test/FakeDuckTest/output/9474791561654346.deps.json delete mode 100644 Test/FakeDuckTest/output/bbdf3bbd4c3bc28c.deps.json delete mode 100644 Test/FakeDuckTest/output/c9f4be41ca1cc2b4.deps.json delete mode 100644 Test/FakeDuckTest/output/f6b51804a0ba8ff0.deps.json delete mode 100644 Test/FakeDuckTest/output/ff46ba125b2759f7.deps.json create mode 100644 Test/FakeDuckTest/temp/47775d5e50909338.pyi delete mode 100644 Test/FakeDuckTest/temp/622aeae2531892d4.pyi rename Test/{ForAndLoopTest/temp/f2ecbf8ced20575c.pyi => FakeDuckTest/temp/668790e6c9efdbae.pyi} (100%) rename Test/FakeDuckTest/temp/{ff46ba125b2759f7.pyi => 79b337e5ea8951e2.pyi} (100%) create mode 100644 Test/ForAndLoopTest/temp/47775d5e50909338.pyi rename Test/{ListTest/temp/f2ecbf8ced20575c.pyi => ForAndLoopTest/temp/668790e6c9efdbae.pyi} (100%) delete mode 100644 Test/ForAndLoopTest/temp/f3560b99de458aec.pyi create mode 100644 Test/HashTableTest/temp/47775d5e50909338.pyi delete mode 100644 Test/HashTableTest/temp/f3560b99de458aec.pyi create mode 100644 Test/JsonTest/temp/47775d5e50909338.pyi delete mode 100644 Test/JsonTest/temp/f3560b99de458aec.pyi create mode 100644 Test/LLvmLiteTest/output/15f1ded02f3aa5bc.deps.json create mode 100644 Test/LLvmLiteTest/output/21a7fcfc665f75ef.deps.json create mode 100644 Test/LLvmLiteTest/output/2d39c6c7d3557b3e.deps.json create mode 100644 Test/LLvmLiteTest/output/6b3bc463fd044545.deps.json create mode 100644 Test/LLvmLiteTest/output/89b3965176cd2407.deps.json create mode 100644 Test/LLvmLiteTest/output/946e087da91aaada.deps.json create mode 100644 Test/LLvmLiteTest/output/95394ca8da0f655a.deps.json create mode 100644 Test/LLvmLiteTest/output/_shared_sym_includes.pickle create mode 100644 Test/LLvmLiteTest/output/f9e36e2cd6fa659f.deps.json rename Test/{NewAstTest/temp/c3b259b4059f8668.pyi => LLvmLiteTest/temp/1d40c4bdc94641c5.pyi} (98%) create mode 100644 Test/LLvmLiteTest/temp/47775d5e50909338.pyi rename Test/LLvmLiteTest/temp/{4dad2ba72ed7ba09.pyi => 89b3965176cd2407.pyi} (100%) delete mode 100644 Test/LLvmLiteTest/temp/f3560b99de458aec.pyi create mode 100644 Test/ListTest/temp/47775d5e50909338.pyi rename Test/{NewAstTest/temp/f2ecbf8ced20575c.pyi => ListTest/temp/668790e6c9efdbae.pyi} (100%) delete mode 100644 Test/ListTest/temp/f3560b99de458aec.pyi create mode 100644 Test/MemhubTest/temp/47775d5e50909338.pyi delete mode 100644 Test/MemhubTest/temp/f3560b99de458aec.pyi rename Test/{BuddyTest/temp/c3b259b4059f8668.pyi => NewAstTest/temp/1d40c4bdc94641c5.pyi} (98%) create mode 100644 Test/NewAstTest/temp/47775d5e50909338.pyi rename Test/{StringIterTest/temp/f2ecbf8ced20575c.pyi => NewAstTest/temp/668790e6c9efdbae.pyi} (100%) delete mode 100644 Test/NewAstTest/temp/f3560b99de458aec.pyi create mode 100644 Test/NoVTableTest/temp/1d40c4bdc94641c5.pyi delete mode 100644 Test/NoVTableTest/temp/c3b259b4059f8668.pyi create mode 100644 Test/SimdTest/output/271ea3decb810db2.deps.json delete mode 100644 Test/SimdTest/output/2fcb6780db4d937f.deps.json create mode 100644 Test/SimdTest/output/3f7c5e78d8652535.deps.json create mode 100644 Test/SimdTest/output/47775d5e50909338.deps.json create mode 100644 Test/SimdTest/output/90f67f777f23b84b.deps.json create mode 100644 Test/SimdTest/output/_shared_sym_includes.pickle create mode 100644 Test/SimdTest/output/c24f25b14b4bbd0a.deps.json create mode 100644 Test/SimdTest/output/c3a6aed1f1fb8b1e.deps.json create mode 100644 Test/SimdTest/output/c9f4be41ca1cc2b4.deps.json create mode 100644 Test/SimdTest/temp/47775d5e50909338.pyi rename Test/{BuddyTest/temp/5a3d93d7860d5dc0.doc.json => SimdTest/temp/90f67f777f23b84b.doc.json} (100%) rename Test/SimdTest/temp/{2fcb6780db4d937f.pyi => 90f67f777f23b84b.pyi} (100%) delete mode 100644 Test/SimdTest/temp/f3560b99de458aec.pyi create mode 100644 Test/SprintfTest/temp/1d40c4bdc94641c5.pyi delete mode 100644 Test/SprintfTest/temp/c3b259b4059f8668.pyi create mode 100644 Test/StringIterTest/temp/47775d5e50909338.pyi rename TransPyV/temp/f2ecbf8ced20575c.pyi => Test/StringIterTest/temp/668790e6c9efdbae.pyi (100%) delete mode 100644 Test/StringIterTest/temp/f3560b99de458aec.pyi create mode 100644 Test/SysLibTest/output/13110effbb0bb06c.deps.json create mode 100644 Test/SysLibTest/output/2da636c61863c815.deps.json create mode 100644 Test/SysLibTest/output/76dd6c275aa72b3b.deps.json create mode 100644 Test/SysLibTest/output/_shared_sym_includes.pickle create mode 100644 Test/SysLibTest/output/a68b70f233541a7f.deps.json create mode 100644 Test/SysLibTest/output/abbcbd92436cc16a.deps.json create mode 100644 Test/SysLibTest/output/d152115b49e50218.deps.json create mode 100644 Test/SysLibTest/temp/1d40c4bdc94641c5.pyi create mode 100644 Test/SysLibTest/temp/47775d5e50909338.pyi delete mode 100644 Test/SysLibTest/temp/c3b259b4059f8668.pyi delete mode 100644 Test/SysLibTest/temp/f3560b99de458aec.pyi create mode 100644 Test/TestFBProject/output/0035c95a18d4f8e8.deps.json create mode 100644 Test/TestFBProject/output/067c78e9f121dce3.deps.json create mode 100644 Test/TestFBProject/output/06f53cc594b4ac6c.deps.json create mode 100644 Test/TestFBProject/output/6446627d4f07a1b5.deps.json create mode 100644 Test/TestFBProject/output/72e2d5ccb7cedcf1.deps.json create mode 100644 Test/TestFBProject/output/_shared_sym_includes.pickle create mode 100644 Test/TestFBProject/output/f6b51804a0ba8ff0.deps.json create mode 100644 Test/TestProject/temp/47775d5e50909338.pyi delete mode 100644 Test/TestProject/temp/f3560b99de458aec.pyi create mode 100644 Test/TestProject2/output/0df65b8ed15664b0.deps.json create mode 100644 Test/TestProject2/output/19f8024d10c828e8.deps.json create mode 100644 Test/TestProject2/output/1c46d554b3a3f9f3.deps.json create mode 100644 Test/TestProject2/output/213348433fb01cc6.deps.json create mode 100644 Test/TestProject2/output/257e074b935c33b4.deps.json create mode 100644 Test/TestProject2/output/451745df21e598af.deps.json create mode 100644 Test/TestProject2/output/6ff26590374ae6fc.deps.json create mode 100644 Test/TestProject2/output/8ebed83a7817fa0c.deps.json create mode 100644 Test/TestProject2/output/90921d009fdd674c.deps.json create mode 100644 Test/TestProject2/output/_shared_sym_includes.pickle create mode 100644 Test/TestProject2/output/c9d54a4158f7f5a8.deps.json create mode 100644 Test/TestProject2/output/d541ade6afb689a5.deps.json create mode 100644 Test/TestProject2/temp/47775d5e50909338.pyi delete mode 100644 Test/TestProject2/temp/f3560b99de458aec.pyi create mode 100644 Test/TestProject3/output/285a822aa26bfbda.deps.json create mode 100644 Test/TestProject3/temp/1d40c4bdc94641c5.pyi create mode 100644 Test/TestProject3/temp/47775d5e50909338.pyi delete mode 100644 Test/TestProject3/temp/c3b259b4059f8668.pyi delete mode 100644 Test/TestProject3/temp/f3560b99de458aec.pyi create mode 100644 Test/VRandomTest/output/3f7c5e78d8652535.deps.json create mode 100644 Test/VRandomTest/output/62cc01c2bb770ca3.deps.json create mode 100644 Test/VRandomTest/output/_shared_sym_includes.pickle create mode 100644 Test/VariadicTest/temp/1d40c4bdc94641c5.pyi delete mode 100644 Test/VariadicTest/temp/c3b259b4059f8668.pyi create mode 100644 Test/WebTest/output/_shared_sym_includes.pickle create mode 100644 Test/WebTest/output/b558d8d8f01f4825.deps.json create mode 100644 Test/WebTest/output/d7e3386b828acb66.deps.json create mode 100644 Test/WebTest/temp/47775d5e50909338.pyi delete mode 100644 Test/WebTest/temp/f3560b99de458aec.pyi delete mode 100644 TransPyV/Test/Sha1Test/output/f3458d483d1f87c2.deps.json delete mode 100644 TransPyV/Test/Sha1Test/temp/271ea3decb810db2.pyi delete mode 100644 TransPyV/Test/Sha1Test/temp/6f62fe05c5ea1ceb.pyi delete mode 100644 TransPyV/Test/Sha1Test/temp/6ff26590374ae6fc.pyi delete mode 100644 TransPyV/Test/Sha1Test/temp/73fcdc4dd1618580.pyi delete mode 100644 TransPyV/Test/Sha1Test/temp/83210a72e829a086.pyi delete mode 100644 TransPyV/Test/Sha1Test/temp/96837bcc64032444.pyi delete mode 100644 TransPyV/Test/Sha1Test/temp/_phase1_manifest.json delete mode 100644 TransPyV/Test/Sha1Test/temp/_sha1_map.txt delete mode 100644 TransPyV/Test/Sha1Test/temp/c9d54a4158f7f5a8.pyi delete mode 100644 TransPyV/Test/Sha1Test/temp/c9f4be41ca1cc2b4.pyi delete mode 100644 TransPyV/Test/Sha1Test/temp/cc436a125bbaf28c.pyi delete mode 100644 TransPyV/Test/Sha1Test/temp/e79ec1d5e09b18bc.pyi delete mode 100644 TransPyV/Test/Sha1Test/temp/ee084e9fc6ee413a.pyi delete mode 100644 TransPyV/Test/Sha1Test/temp/f3458d483d1f87c2.doc.json delete mode 100644 TransPyV/Test/Sha1Test/temp/f3458d483d1f87c2.pyi delete mode 100644 TransPyV/Test/Sha1Test/temp/f5522571bcce7bcb.pyi delete mode 100644 TransPyV/Test/temp/0035c95a18d4f8e8.deps.txt delete mode 100644 TransPyV/Test/temp/05c11f22675c60cb.deps.txt delete mode 100644 TransPyV/Test/temp/067c78e9f121dce3.deps.txt delete mode 100644 TransPyV/Test/temp/06f53cc594b4ac6c.deps.txt delete mode 100644 TransPyV/Test/temp/07f7da85af876124.deps.txt delete mode 100644 TransPyV/Test/temp/0c212981c180e7fb.deps.txt delete mode 100644 TransPyV/Test/temp/0df65b8ed15664b0.deps.txt delete mode 100644 TransPyV/Test/temp/0eccc2393466d940.deps.txt delete mode 100644 TransPyV/Test/temp/13110effbb0bb06c.deps.txt delete mode 100644 TransPyV/Test/temp/14d33679f7fadf1f.deps.txt delete mode 100644 TransPyV/Test/temp/17c0dfbcebfa3a0e.deps.txt delete mode 100644 TransPyV/Test/temp/19f8024d10c828e8.deps.txt delete mode 100644 TransPyV/Test/temp/1b9ab264a942c56b.deps.txt delete mode 100644 TransPyV/Test/temp/1c46d554b3a3f9f3.deps.txt delete mode 100644 TransPyV/Test/temp/1eb1c9fc7e85d9f8.deps.txt delete mode 100644 TransPyV/Test/temp/20cd49775c100a38.deps.txt delete mode 100644 TransPyV/Test/temp/213348433fb01cc6.deps.txt delete mode 100644 TransPyV/Test/temp/21a7fcfc665f75ef.deps.txt delete mode 100644 TransPyV/Test/temp/240a9a4157959a9f.deps.txt delete mode 100644 TransPyV/Test/temp/257e074b935c33b4.deps.txt delete mode 100644 TransPyV/Test/temp/271ea3decb810db2.deps.txt delete mode 100644 TransPyV/Test/temp/2769dee537308b00.deps.txt delete mode 100644 TransPyV/Test/temp/285a822aa26bfbda.deps.txt delete mode 100644 TransPyV/Test/temp/2d39c6c7d3557b3e.deps.txt delete mode 100644 TransPyV/Test/temp/2da636c61863c815.deps.txt delete mode 100644 TransPyV/Test/temp/33a854a5c4f67d74.deps.txt delete mode 100644 TransPyV/Test/temp/34548789d646f432.deps.txt delete mode 100644 TransPyV/Test/temp/3487a256b250bb74.deps.txt delete mode 100644 TransPyV/Test/temp/3624cfde3c5cb6cb.deps.txt delete mode 100644 TransPyV/Test/temp/3c2fbc9e35ad3bf2.deps.txt delete mode 100644 TransPyV/Test/temp/3f7c5e78d8652535.deps.txt delete mode 100644 TransPyV/Test/temp/4337fb260448bbe2.deps.txt delete mode 100644 TransPyV/Test/temp/451745df21e598af.deps.txt delete mode 100644 TransPyV/Test/temp/455ff4e74c3dbfb0.deps.txt delete mode 100644 TransPyV/Test/temp/46ea362b72c10a9e.deps.txt delete mode 100644 TransPyV/Test/temp/47767b5026a8ee15.deps.txt delete mode 100644 TransPyV/Test/temp/4dd6b3f1427d1cc5.deps.txt delete mode 100644 TransPyV/Test/temp/55cbbb5dec4fef2c.deps.txt delete mode 100644 TransPyV/Test/temp/56d07ea7e30ef631.deps.txt delete mode 100644 TransPyV/Test/temp/57288496f7c2d1ad.deps.txt delete mode 100644 TransPyV/Test/temp/5b2e220c5bae60c9.deps.txt delete mode 100644 TransPyV/Test/temp/5dab8cb390496d22.deps.txt delete mode 100644 TransPyV/Test/temp/62cc01c2bb770ca3.deps.txt delete mode 100644 TransPyV/Test/temp/6446627d4f07a1b5.deps.txt delete mode 100644 TransPyV/Test/temp/6503c97dde0c79c4.deps.txt delete mode 100644 TransPyV/Test/temp/657e182b27c2a022.deps.txt delete mode 100644 TransPyV/Test/temp/6f5e876273093314.deps.txt delete mode 100644 TransPyV/Test/temp/6f62fe05c5ea1ceb.deps.txt delete mode 100644 TransPyV/Test/temp/6ff26590374ae6fc.deps.txt delete mode 100644 TransPyV/Test/temp/71e0a3ffcb3ebfad.deps.txt delete mode 100644 TransPyV/Test/temp/72e2d5ccb7cedcf1.deps.txt delete mode 100644 TransPyV/Test/temp/74ca31446cac2107.deps.txt delete mode 100644 TransPyV/Test/temp/76dd6c275aa72b3b.deps.txt delete mode 100644 TransPyV/Test/temp/79b337e5ea8951e2.deps.txt delete mode 100644 TransPyV/Test/temp/7e529fe7a078cfef.deps.txt delete mode 100644 TransPyV/Test/temp/80241c7d6f357bd1.deps.txt delete mode 100644 TransPyV/Test/temp/87274c2b0190fb33.deps.txt delete mode 100644 TransPyV/Test/temp/8ebed83a7817fa0c.deps.txt delete mode 100644 TransPyV/Test/temp/90921d009fdd674c.deps.txt delete mode 100644 TransPyV/Test/temp/90c53dd6db8d41cf.deps.txt delete mode 100644 TransPyV/Test/temp/93c1d18e35d188d6.deps.txt delete mode 100644 TransPyV/Test/temp/95394ca8da0f655a.deps.txt delete mode 100644 TransPyV/Test/temp/96837bcc64032444.deps.txt delete mode 100644 TransPyV/Test/temp/969c589035910845.deps.txt delete mode 100644 TransPyV/Test/temp/97043f0d52da437f.deps.txt delete mode 100644 TransPyV/Test/temp/971e24c228377a9b.deps.txt delete mode 100644 TransPyV/Test/temp/9d4b01572930a369.deps.txt delete mode 100644 TransPyV/Test/temp/9d798d964b9d3411.deps.txt delete mode 100644 TransPyV/Test/temp/9d8626a10208b8de.deps.txt delete mode 100644 TransPyV/Test/temp/9d8e1c9631c28b1b.deps.txt delete mode 100644 TransPyV/Test/temp/a68b70f233541a7f.deps.txt delete mode 100644 TransPyV/Test/temp/a7bc8c01684c0001.deps.txt delete mode 100644 TransPyV/Test/temp/a7cf0ce4066332ae.deps.txt delete mode 100644 TransPyV/Test/temp/a9df037d9178888f.deps.txt delete mode 100644 TransPyV/Test/temp/ab6e54ba9a669f76.deps.txt delete mode 100644 TransPyV/Test/temp/aba439b7882ad9d6.deps.txt delete mode 100644 TransPyV/Test/temp/abbcbd92436cc16a.deps.txt delete mode 100644 TransPyV/Test/temp/ad6c853acfc0c146.deps.txt delete mode 100644 TransPyV/Test/temp/b078e9c9c74a2a0c.deps.txt delete mode 100644 TransPyV/Test/temp/b19a9e500f677f2e.deps.txt delete mode 100644 TransPyV/Test/temp/b547ac4f380bddb6.deps.txt delete mode 100644 TransPyV/Test/temp/b558d8d8f01f4825.deps.txt delete mode 100644 TransPyV/Test/temp/b5a965302cded36b.deps.txt delete mode 100644 TransPyV/Test/temp/b62eded2baf30423.deps.txt delete mode 100644 TransPyV/Test/temp/b7bbe6a1c1e75ad8.deps.txt delete mode 100644 TransPyV/Test/temp/b7eeff93aa63e70f.deps.txt delete mode 100644 TransPyV/Test/temp/b8c66c8ff44eb874.deps.txt delete mode 100644 TransPyV/Test/temp/b8cbe044a10adcca.deps.txt delete mode 100644 TransPyV/Test/temp/bbdf3bbd4c3bc28c.deps.txt delete mode 100644 TransPyV/Test/temp/c24f25b14b4bbd0a.deps.txt delete mode 100644 TransPyV/Test/temp/c38a35636ba0f067.deps.txt delete mode 100644 TransPyV/Test/temp/c39f3e540adb7b4e.deps.txt delete mode 100644 TransPyV/Test/temp/c3a6aed1f1fb8b1e.deps.txt delete mode 100644 TransPyV/Test/temp/c3b259b4059f8668.deps.txt delete mode 100644 TransPyV/Test/temp/c9d54a4158f7f5a8.deps.txt delete mode 100644 TransPyV/Test/temp/c9f4be41ca1cc2b4.deps.txt delete mode 100644 TransPyV/Test/temp/cc3ad7f3bc880326.deps.txt delete mode 100644 TransPyV/Test/temp/d152115b49e50218.deps.txt delete mode 100644 TransPyV/Test/temp/d4117f5e00a6c3b5.deps.txt delete mode 100644 TransPyV/Test/temp/d541ade6afb689a5.deps.txt delete mode 100644 TransPyV/Test/temp/d63d2c2a2bd9bd2a.deps.txt delete mode 100644 TransPyV/Test/temp/d7662500f1c2c0ff.deps.txt delete mode 100644 TransPyV/Test/temp/d7e3386b828acb66.deps.txt delete mode 100644 TransPyV/Test/temp/da44924f0777c67a.deps.txt delete mode 100644 TransPyV/Test/temp/e0009679269c6b63.deps.txt delete mode 100644 TransPyV/Test/temp/e0b84369e50c937c.deps.txt delete mode 100644 TransPyV/Test/temp/e0f1d864a10b2e4d.deps.txt delete mode 100644 TransPyV/Test/temp/e3e7b6de8d7d8b03.deps.txt delete mode 100644 TransPyV/Test/temp/e74870eba3e6d774.deps.txt delete mode 100644 TransPyV/Test/temp/ea80a4a724accbda.deps.txt delete mode 100644 TransPyV/Test/temp/eb252050d92f8fb9.deps.txt delete mode 100644 TransPyV/Test/temp/ed1c124f3cb787c9.deps.txt delete mode 100644 TransPyV/Test/temp/ee52c08239684346.deps.txt delete mode 100644 TransPyV/Test/temp/ef45adce81bf5b2d.deps.txt delete mode 100644 TransPyV/Test/temp/f2ecbf8ced20575c.deps.txt delete mode 100644 TransPyV/Test/temp/f3560b99de458aec.deps.txt delete mode 100644 TransPyV/Test/temp/f5522571bcce7bcb.deps.txt delete mode 100644 TransPyV/Test/temp/f6b51804a0ba8ff0.deps.txt delete mode 100644 TransPyV/output/950028de389b7a7b.deps.json delete mode 100644 TransPyV/output/b5d05dbd7fee36ef.deps.json delete mode 100644 TransPyV/output/bd82e3ca81546c76.deps.json delete mode 100644 TransPyV/output/db7c4a8f09d02a17.deps.json delete mode 100644 TransPyV/temp/05c11f22675c60cb.pyi delete mode 100644 TransPyV/temp/455ff4e74c3dbfb0.pyi delete mode 100644 TransPyV/temp/46ea362b72c10a9e.pyi delete mode 100644 TransPyV/temp/950028de389b7a7b.doc.json delete mode 100644 TransPyV/temp/950028de389b7a7b.pyi delete mode 100644 TransPyV/temp/ab6e54ba9a669f76.pyi delete mode 100644 TransPyV/temp/b5d05dbd7fee36ef.doc.json delete mode 100644 TransPyV/temp/b5d05dbd7fee36ef.pyi delete mode 100644 TransPyV/temp/bd82e3ca81546c76.doc.json delete mode 100644 TransPyV/temp/bd82e3ca81546c76.pyi delete mode 100644 TransPyV/temp/d4117f5e00a6c3b5.pyi delete mode 100644 TransPyV/temp/db7c4a8f09d02a17.doc.json delete mode 100644 TransPyV/temp/db7c4a8f09d02a17.pyi delete mode 100644 TransPyV/temp/e0b84369e50c937c.pyi delete mode 100644 TransPyV/temp/ee084e9fc6ee413a.pyi create mode 100644 heapchk_test.c create mode 100644 heapvalidate_test.c create mode 100644 regression_log.txt create mode 100644 test.py rename thistest/App/{benchmark_main.py => main.py} (91%) delete mode 100644 thistest/output/8c37156d7b67c1f5.deps.json create mode 100644 thistest/output/92e17df16c98b2b5.deps.json create mode 100644 thistest/temp/47775d5e50909338.pyi delete mode 100644 thistest/temp/8c37156d7b67c1f5.doc.json rename Test/SimdTest/temp/2fcb6780db4d937f.doc.json => thistest/temp/92e17df16c98b2b5.doc.json (100%) rename thistest/temp/{8c37156d7b67c1f5.pyi => 92e17df16c98b2b5.pyi} (79%) delete mode 100644 thistest/temp/f3560b99de458aec.pyi diff --git a/.transpyc_cache/14d33679f7fadf1f.pyi b/.transpyc_cache/14d33679f7fadf1f.pyi deleted file mode 100644 index da1aabc..0000000 --- a/.transpyc_cache/14d33679f7fadf1f.pyi +++ /dev/null @@ -1,31 +0,0 @@ -""" -Auto-generated Python stub file from testcheck.py -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/.transpyc_cache/48352329f97d0858.pyi b/.transpyc_cache/48352329f97d0858.pyi deleted file mode 100644 index 06f88af..0000000 --- a/.transpyc_cache/48352329f97d0858.pyi +++ /dev/null @@ -1,19 +0,0 @@ -""" -Auto-generated Python stub file from main.py -Module: main -""" - - -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/.transpyc_cache/5b2e220c5bae60c9.pyi b/.transpyc_cache/5b2e220c5bae60c9.pyi deleted file mode 100644 index 364be1a..0000000 --- a/.transpyc_cache/5b2e220c5bae60c9.pyi +++ /dev/null @@ -1,33 +0,0 @@ -""" -Auto-generated Python stub file from _withcontent.py -Module: _withcontent -""" - - -import t, c -from stdint import * -from w32.win32process import TlsAlloc, TlsGetValue, TlsSetValue -import stdlib -import stdio -import string - -_MAX_PROVIDER_DEPTH: t.CDefine = 32 - -@t.Object -class _ProviderStack: - names: t.CArray[VOIDPTR, 32] - ptrs: t.CArray[VOIDPTR, 32] - top: UINT64 - -_tls_index: t.CExtern | ULONG - -@t.TLS -def _init_tls() -> t.CInt: pass - -def _get_stack() -> _ProviderStack | t.CPtr: pass - -def _push_provider(field_name: str, ptr: t.CPtr) -> t.CInt: pass - -def _pop_provider() -> t.CInt: pass - -def _find_provider(field_name: str) -> t.CPtr: pass diff --git a/HEAD_ExprAttr.py b/HEAD_ExprAttr.py new file mode 100644 index 0000000..90ab2c4 --- /dev/null +++ b/HEAD_ExprAttr.py @@ -0,0 +1,1379 @@ +from __future__ import annotations +from typing import Any, TYPE_CHECKING +if TYPE_CHECKING: + from lib.core.translator import Translator + from lib.core.LlvmCodeGenerator import LlvmCodeGenerator +from lib.core.Handles.HandlesBase import BaseHandle, FuncMeta +import ast +import llvmlite.ir as ir + + +class ExprAttrHandle(BaseHandle): + + # ========== 辅助方法 ========== + + def _apply_bswap_on_Load(self, val: ir.Value, ClassName: str, AttrName: str) -> ir.Value: + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + byte_order: str = getattr(Gen, 'class_member_byteorders', {}).get(ClassName, {}).get(AttrName, "") + return Gen._apply_bswap_if_big(val, byte_order, f"bswap_load_{AttrName}") + + def _load_arr_elem_with_bswap(self, Gen: LlvmCodeGenerator, ElemPtr: ir.Value, arr_byte_order: str) -> ir.Value: + """加载数组元素并按字节序应用 bswap""" + val: ir.Value = Gen._load(ElemPtr, name="arr_elem_load") + return Gen._apply_bswap_if_big(val, arr_byte_order, "bswap_arr_load") + + def _gep_and_Load_member(self, Gen: LlvmCodeGenerator, ObjVal: ir.Value, offset: int | None, AttrName: str, ClassName: str, ST: ir.Type | None = None) -> ir.Value | None: + """从结构体指针通过 GEP 取成员,处理 array/struct pointer/class_members 特殊情况""" + if offset is None: + return None + if isinstance(ObjVal.type, ir.PointerType): + pointee: Any = ObjVal.type.pointee + if isinstance(pointee, ir.IdentifiedStructType) and pointee.elements is not None and offset >= len(pointee.elements): + # sha1 冲突修复:pointee 字段不足时,尝试 bitcast 到 ST(更完整的版本) + if ST is not None and isinstance(ST, ir.IdentifiedStructType) and ST.elements is not None and offset < len(ST.elements): + ObjVal = Gen.builder.bitcast(ObjVal, ir.PointerType(ST), name=f"cast_gep_{ClassName}") + else: + return None + MemberPtr: Any = Gen.builder.gep(ObjVal, [ir.Constant(ir.IntType(32), 0), ir.Constant(ir.IntType(32), offset)], name=AttrName) + if isinstance(MemberPtr.type, ir.PointerType) and isinstance(MemberPtr.type.pointee, ir.ArrayType): + return MemberPtr + if isinstance(MemberPtr.type, ir.PointerType) and isinstance(MemberPtr.type.pointee, ir.IdentifiedStructType): + return MemberPtr + # 检查 pointer-to-pointer 且实际元素是 ArrayType + if isinstance(MemberPtr.type, ir.PointerType) and isinstance(MemberPtr.type.pointee, ir.PointerType): + actual_elem_type: Any = None + if ST is not None and isinstance(ST, ir.IdentifiedStructType) and ST.elements is not None and offset < len(ST.elements): + actual_elem_type = ST.elements[offset] + if isinstance(actual_elem_type, ir.ArrayType): + return Gen.builder.bitcast(MemberPtr, ir.PointerType(actual_elem_type), name=f"cast_arr_{AttrName}") + # 检查 class_members 中的 ArrayType + if ClassName in Gen.class_members: + for member_name, member_type in Gen.class_members[ClassName]: + if member_name == AttrName and isinstance(member_type, ir.ArrayType): + return Gen.builder.bitcast(MemberPtr, ir.PointerType(member_type), name=f"cast_arr_{AttrName}") + val: Any = Gen._load(MemberPtr, name=AttrName) + return self._apply_bswap_on_Load(val, ClassName, AttrName) + + def _try_Load_struct_from_stub(self, Gen: LlvmCodeGenerator, ClassName: str) -> tuple[ir.Type | None, bool]: + """尝试从 stub 加载结构体定义,返回 (struct_type, ok)""" + if ClassName not in Gen.structs: + return None, False + st: Any = Gen.structs[ClassName] + if isinstance(st, ir.IdentifiedStructType) and (st.elements is None or len(st.elements) == 0): + self.Trans.ImportHandler._TryLoadStructFromStub(ClassName, Gen) + st = Gen.structs.get(ClassName, st) + if isinstance(st, ir.IdentifiedStructType) and (st.elements is None or len(st.elements) == 0): + return st, False + return st, True + + def _find_specialized_struct_with_body(self, Gen: LlvmCodeGenerator, opaque_struct: Any) -> tuple[ir.IdentifiedStructType, str] | None: + """查找 opaque 非特化泛型结构体的特化版本(如 GSList -> GSList[Param])。 + 所有特化版本布局相同,可用于 GEP 偏移计算。""" + if not isinstance(opaque_struct, ir.IdentifiedStructType): + return None + base_name: str = opaque_struct.name or "" + short_name: str = base_name.split('.')[-1] if '.' in base_name else base_name + if not short_name or '[' in short_name: + return None + for CN2, ST2 in Gen.structs.items(): + if not isinstance(ST2, ir.IdentifiedStructType): + continue + if ST2 is opaque_struct: + continue + if ST2.elements is None: + continue + st2_short: str = (ST2.name or "").split('.')[-1] if '.' in (ST2.name or "") else (ST2.name or "") + if st2_short.startswith(short_name + '['): + return (ST2, CN2) + return None + + def _try_access_opaque_generic_member(self, Gen: LlvmCodeGenerator, ObjVal: ir.Value, opaque_struct: Any, Node: ast.Attribute, orig_CN: str) -> ir.Value | None: + """通过特化版本访问 opaque 非特化泛型结构体成员。""" + spec_result: Any = self._find_specialized_struct_with_body(Gen, opaque_struct) + if spec_result is None: + return None + spec_st: ir.IdentifiedStructType + spec_CN: str + spec_st, spec_CN = spec_result + CastedObj: Any = Gen.builder.bitcast(ObjVal, ir.PointerType(spec_st), name=f"cast_spec_{orig_CN}") + for lookup_CN in (spec_CN, orig_CN): + bitfield_offsets: Any = Gen.class_member_bitoffsets.get(lookup_CN, {}) + if Node.attr in bitfield_offsets: + return self._load_bitfield_member(CastedObj, lookup_CN, Node.attr) + offset: int | None = Gen._get_member_offset(Node.attr, lookup_CN) + if offset is not None: + return self._gep_and_Load_member(Gen, CastedObj, offset, Node.attr, lookup_CN, spec_st) + return None + + def _make_define_constant(self, Gen: LlvmCodeGenerator, val: int | float | str) -> ir.Value | None: + """将 CDefine 值转为 LLVM 常量""" + if isinstance(val, int): + if abs(val) > 2147483647: + return ir.Constant(ir.IntType(64), val) + return ir.Constant(ir.IntType(32), val) + elif isinstance(val, float): + return ir.Constant(ir.DoubleType(), val) + elif isinstance(val, str): + return Gen._create_string_global(val) + return None + + def _lookup_cdefine(self, Gen: LlvmCodeGenerator, VarName: str, AttrName: str) -> ir.Value | None: + """在符号表和模块中查找 CDefine 常量值""" + imported_modules: Any = getattr(self.Trans, '_ImportedModules', None) + if not imported_modules: + return None + PossibleKeys: list[str] = [f"{VarName}.{AttrName}", AttrName] + for mod_name in imported_modules: + if mod_name.endswith(f".{VarName}") or mod_name == VarName: + key: str = f"{mod_name}.{AttrName}" + if key not in PossibleKeys: + PossibleKeys.append(key) + for lookup_key in PossibleKeys: + SymInfo: Any = self.Trans.SymbolTable.lookup(lookup_key) + if SymInfo and SymInfo.IsDefine and SymInfo.DefineValue is not None: + return self._make_define_constant(Gen, SymInfo.DefineValue) + # 也检查 _define_constants + define_constants: Any = getattr(Gen, '_define_constants', {}) + for key in (f"{VarName}.{AttrName}", AttrName): + if key in define_constants: + return self._make_define_constant(Gen, define_constants[key]) + return None + + def _lookup_module_global(self, Gen: LlvmCodeGenerator, VarName: str, AttrName: str) -> ir.Value | None: + """在模块全局变量中查找 import 的属性""" + imported_modules: Any = getattr(self.Trans, '_ImportedModules', None) + if not imported_modules: + return None + resolved_mod: str = self.Trans.SymbolTable.resolve_alias(VarName) + if VarName not in imported_modules and resolved_mod not in imported_modules: + return None + PossibleKeys: list[str] = [f"{VarName}.{AttrName}", AttrName] + for mod_name in imported_modules: + if mod_name.endswith(f".{VarName}") or mod_name == VarName: + key: str = f"{mod_name}.{AttrName}" + if key not in PossibleKeys: + PossibleKeys.append(key) + for key in PossibleKeys: + if key in Gen.module.globals: + GVar: Any = Gen.module.globals[key] + if isinstance(GVar, ir.Function): + return GVar + if isinstance(GVar.type, ir.PointerType) and isinstance(GVar.type.pointee, (ir.IdentifiedStructType, ir.LiteralStructType, ir.ArrayType)): + return GVar + return Gen._load(GVar, name=AttrName) + # SHA1 前缀查找 + ModuleSha1Map: Any = getattr(Gen, 'ModuleSha1Map', {}) + sha1_candidates: list[str] = [VarName, resolved_mod] + for mod_name in imported_modules: + if mod_name.endswith(f".{VarName}") or mod_name == VarName: + if mod_name not in sha1_candidates: + sha1_candidates.append(mod_name) + for cand in sha1_candidates: + sha1: str | None = ModuleSha1Map.get(cand) + if sha1: + prefixed: str = f"{sha1}.{AttrName}" + if prefixed in Gen.module.globals: + GVar2: Any = Gen.module.globals[prefixed] + if isinstance(GVar2, ir.Function): + return GVar2 + if isinstance(GVar2.type, ir.PointerType) and isinstance(GVar2.type.pointee, (ir.IdentifiedStructType, ir.LiteralStructType, ir.ArrayType)): + return GVar2 + return Gen._load(GVar2, name=AttrName) + if AttrName in Gen.module.globals: + gv: Any = Gen.module.globals[AttrName] + if AttrName in Gen.variables and Gen.variables[AttrName] is None: + str_gv_name: str = AttrName + '_str' + if str_gv_name in Gen.module.globals: + str_gv: Any = Gen.module.globals[str_gv_name] + return Gen.builder.gep(str_gv, [ir.Constant(ir.IntType(32), 0), ir.Constant(ir.IntType(32), 0)], name=f"{AttrName}_str_ptr") + return Gen.builder.load(gv, name=AttrName) + return None + + def _resolve_var_classname(self, Gen: LlvmCodeGenerator, VarName: str) -> str | None: + """根据变量名解析其结构体类名""" + ClassName: str | None = Gen.var_struct_class.get(VarName) + if not ClassName and getattr(Gen, 'global_struct_class', None): + ClassName = Gen.global_struct_class.get(VarName) + if ClassName: + Gen.var_struct_class[VarName] = ClassName + if not ClassName and VarName in Gen.module.globals: + GVar: Any = Gen.module.globals[VarName] + if isinstance(GVar.type, ir.PointerType) and isinstance(GVar.type.pointee, (ir.IdentifiedStructType, ir.LiteralStructType)): + found: Any = Gen.find_struct_by_pointee(GVar.type.pointee) + if found: + ClassName = found[0] + Gen.var_struct_class[VarName] = ClassName + if getattr(Gen, 'global_struct_class', None): + Gen.global_struct_class[VarName] = ClassName + if not ClassName and VarName in Gen.variables: + VarPtr: Any = Gen.variables[VarName] + if VarPtr is not None and isinstance(VarPtr.type, ir.PointerType): + pointee: Any = VarPtr.type.pointee + if isinstance(pointee, ir.PointerType): + pointee = pointee.pointee + found = Gen.find_struct_by_pointee(pointee) + if found: + ClassName = found[0] + return ClassName + + def _check_struct_match(self, Gen: LlvmCodeGenerator, ObjVal: ir.Value, ClassName: str) -> bool: + """检查 ObjVal 是否指向 ClassName 对应的结构体""" + if ClassName not in Gen.structs: + return False + if isinstance(ObjVal.type, ir.PointerType): + ST: Any = Gen.structs[ClassName] + if ObjVal.type.pointee == ST: + return True + if isinstance(ObjVal.type.pointee, ir.IdentifiedStructType) and isinstance(ST, ir.IdentifiedStructType): + # 精确名匹配(含 sha1 前缀)或短名匹配(去掉 sha1 前缀) + if ObjVal.type.pointee.name == ST.name: + return True + if Gen._extract_short_name(ObjVal.type.pointee.name) == Gen._extract_short_name(ST.name): + return True + return False + + # ========== _HandleAttributeLlvm 子方法 ========== + + def _handle_attr_self(self, Node: ast.Attribute, VarName: str) -> ir.Value | None: + """处理 self.xxx 属性访问""" + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + ClassName: str | None = self.Trans._CurrentCpythonObjectClass + if not ClassName: + return None + # 检查 property getter + PropKey: str = f'{ClassName}.{Node.attr}' + PropInfo: Any = self.Trans.SymbolTable.lookup(PropKey) + if PropInfo and PropInfo.MetaList and FuncMeta.PROPERTY_GETTER in PropInfo.MetaList: + SelfVar: Any = Gen._get_var_ptr('self') + if SelfVar: + SelfPtr: Any = Gen._load(SelfVar, name="self") + GetterFunc: Any = Gen._get_function(PropKey) + if GetterFunc and SelfPtr: + return Gen.builder.call(GetterFunc, [SelfPtr], name=f"prop_{PropKey}") + offset: int | None = Gen._get_member_offset(Node.attr, ClassName) + SelfVar = Gen._get_var_ptr('self') + if not SelfVar: + return None + SelfPtr = Gen._load(SelfVar, name="self") + if not isinstance(SelfPtr.type, ir.PointerType): + return None + pointee: Any = SelfPtr.type.pointee + if isinstance(pointee, ir.IdentifiedStructType) and pointee.elements is None: + # 修复 Bug 4/5:NoVTable fix 清除 struct elements 后,_handle_attr_self + # 必须主动从 stub 文件重新加载 struct 定义,否则 self.Trans 等属性访问 + # 会因 pointee.elements 为 None 返回 None,导致 AnnAssign/Store 不生成 IR。 + # 与 _handle_attr_nested 的处理保持一致。 + # 策略:先用 ClassName 直接尝试加载;若失败,遍历 Gen.structs 按名字匹配 + # 找到对应的 dict key(可能是 sha1 前缀形式),再用该 key 加载。 + loaded: bool = False + for TryCN in (ClassName,): + st, ok = self._try_Load_struct_from_stub(Gen, TryCN) + if ok and isinstance(st, ir.IdentifiedStructType) and st.elements is not None: + pointee = st + loaded = True + break + if not loaded: + for CN2, ST2 in Gen.structs.items(): + if isinstance(ST2, ir.IdentifiedStructType) and ST2.name == pointee.name: + st2, ok2 = self._try_Load_struct_from_stub(Gen, CN2) + if ok2 and isinstance(st2, ir.IdentifiedStructType) and st2.elements is not None: + pointee = st2 + loaded = True + break + if not loaded: + # 最后回退:在 Gen.structs 中查找同名非 opaque 版本 + for CN2, ST2 in Gen.structs.items(): + if isinstance(ST2, ir.IdentifiedStructType) and ST2.name == pointee.name and ST2.elements is not None: + pointee = ST2 + break + # 当 pointee 元素数不足以容纳 offset 时(常见于跨模块继承:子类 struct + # 在父类 class_members 加载前生成,只有部分继承字段),从 Gen.structs + # 中查找同名且元素数更多的完整定义。 + if (isinstance(pointee, ir.IdentifiedStructType) + and offset is not None + and pointee.elements is not None + and offset >= len(pointee.elements)): + _cur_count: int = len(pointee.elements) + for CN2, ST2 in Gen.structs.items(): + if (isinstance(ST2, ir.IdentifiedStructType) + and ST2.name == pointee.name + and ST2.elements is not None + and len(ST2.elements) > _cur_count + and offset < len(ST2.elements)): + pointee = ST2 + break + if isinstance(pointee, ir.IdentifiedStructType) and pointee.elements is not None and offset is not None and offset < len(pointee.elements): + if isinstance(pointee.elements[offset], ir.VoidType): + return None + return self._gep_and_Load_member(Gen, SelfPtr, offset, Node.attr, ClassName, pointee) + DynamicVarName: str = f"self.{Node.attr}" + if DynamicVarName in Gen.variables: + return Gen._load(Gen.variables[DynamicVarName], name=Node.attr) + return None + + def _handle_attr_enum(self, Node: ast.Attribute, VarName: str) -> ir.Value | None: + """处理枚举成员访问 (VarName 是枚举类型名)""" + SymInfo: Any = self.Trans.SymbolTable.lookup(VarName) + if not SymInfo or not SymInfo.IsEnum: + return None + # 优先用带前缀的 key 查找(避免短名被同名函数/变量覆盖) + FullKey: str = f"{VarName}.{Node.attr}" + MemberInfo: Any = self.Trans.SymbolTable.lookup(FullKey) + if not MemberInfo or not MemberInfo.IsEnumMember or MemberInfo.EnumName != VarName: + # 回退到短名查找 + MemberInfo = self.Trans.SymbolTable.lookup(Node.attr) + if not MemberInfo or not MemberInfo.IsEnumMember or MemberInfo.EnumName != VarName: + # 最后遍历符号表 + for key, info in self.Trans.SymbolTable.items(): + if info.IsEnumMember and info.EnumName == VarName and key == Node.attr: + if isinstance(info.value, int): + return ir.Constant(ir.IntType(32), info.value) + return None + if isinstance(MemberInfo.value, int): + return ir.Constant(ir.IntType(32), MemberInfo.value) + return None + + def _handle_attr_name(self, Node: ast.Attribute, VarName: str) -> ir.Value | None: + """处理 x.attr 形式 (x 是普通 Name)""" + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + AttrName: str = Node.attr + + # __doc__ 魔法字符串:函数/结构体的 docstring + if AttrName == '__doc__': + doc_ptr: ir.Value | None = Gen._get_doc_ptr(VarName) + if doc_ptr is not None: + return doc_ptr + + # 先尝试枚举成员 + result: Any = self._handle_attr_enum(Node, VarName) + if result is not None: + return result + + # 尝试 CDefine 常量 + result = self._lookup_cdefine(Gen, VarName, AttrName) + if result is not None: + return result + + # 尝试 import 模块全局变量 + result = self._lookup_module_global(Gen, VarName, AttrName) + if result is not None: + return result + + # FakeDuck: 检查是否有影子结构体 a__meta__ (str 变量的 per-instance 字段存储) + # 当 a 是 str 变量时, a 本身是 char*, 但 a__meta__ 存储了 __data__/__mbuddy__ 等字段 + # 直接通过 a.__field__ 访问影子结构体字段 (语法糖) + _fd_meta_name: str = f"{VarName}__meta__" + if _fd_meta_name in Gen.variables and '_str' in Gen.structs: + _fd_offset = Gen._get_member_offset(AttrName, '_str') + if _fd_offset is not None: + _fd_meta_ptr: ir.Value = Gen.variables[_fd_meta_name] + _fd_field_ptr: ir.Value = Gen.builder.gep(_fd_meta_ptr, [ir.Constant(ir.IntType(32), 0), ir.Constant(ir.IntType(32), _fd_offset)], name=f"{VarName}_{AttrName}_ptr") + return Gen._load(_fd_field_ptr, name=f"{VarName}_{AttrName}_val") + + # 解析结构体类名:若 VarName 是结构体变量,优先走结构体字段访问路径 + # 避免结构体字段名(如 stdout)与全局变量名冲突时被误解析为全局变量 + ClassName: str | None = self._resolve_var_classname(Gen, VarName) + + # 尝试 attr 直接作为全局变量(仅当 VarName 不是结构体变量时) + if not ClassName and AttrName in Gen.module.globals: + gv: Any = Gen.module.globals[AttrName] + if AttrName in Gen.variables and Gen.variables[AttrName] is None: + str_gv_name: str = AttrName + '_str' + if str_gv_name in Gen.module.globals: + str_gv: Any = Gen.module.globals[str_gv_name] + return Gen.builder.gep(str_gv, [ir.Constant(ir.IntType(32), 0), ir.Constant(ir.IntType(32), 0)], name=f"{AttrName}_str_ptr") + return Gen.builder.load(gv, name=AttrName) + + if not ClassName: + return None + + # 检查 property getter + PropKey: str = f'{ClassName}.{AttrName}' + PropInfo: Any = self.Trans.SymbolTable.lookup(PropKey) + if PropInfo and PropInfo.MetaList and FuncMeta.PROPERTY_GETTER in PropInfo.MetaList: + ObjVal: Any = self.HandleExprLlvm(Node.value) + GetterFunc: Any = Gen._get_function(PropKey) + if GetterFunc and ObjVal: + if isinstance(ObjVal.type, ir.PointerType) and isinstance(ObjVal.type.pointee, ir.PointerType): + ObjVal = Gen._load(ObjVal, name=f"Load_{VarName}") + return Gen.builder.call(GetterFunc, [ObjVal], name=f"prop_{PropKey}") + + # 获取类型信息 + TypeInfo: Any = self.Trans.SymbolTable.lookup(ClassName) + IsUnion: bool = TypeInfo.IsUnion if TypeInfo else False + IsCenum: bool = TypeInfo.IsEnum if TypeInfo else False + IsRenum: bool = TypeInfo.IsRenum if TypeInfo else False + + # REnum 处理 + if IsRenum: + if AttrName == 'tag': + ObjVal = self.HandleExprLlvm(Node.value) + if ObjVal: + if isinstance(ObjVal.type, ir.PointerType) and isinstance(ObjVal.type.pointee, ir.PointerType): + ObjVal = Gen._load(ObjVal, name=f"Load_{VarName}") + tag_ptr: Any = Gen.builder.gep(ObjVal, [ir.Constant(ir.IntType(32), 0), ir.Constant(ir.IntType(32), 0)], name="tag_ptr") + return Gen._load(tag_ptr, name="tag_val") + NestedStructName: str = f"{ClassName}_{AttrName}" + if NestedStructName in Gen.structs: + NestedStructType: Any = Gen.structs[NestedStructName] + ObjVal = self.HandleExprLlvm(Node.value) + if ObjVal: + if isinstance(ObjVal.type, ir.PointerType) and isinstance(ObjVal.type.pointee, ir.PointerType): + ObjVal = Gen._load(ObjVal, name=f"Load_{VarName}") + return Gen.builder.bitcast(ObjVal, ir.PointerType(NestedStructType), name=f"cast_{NestedStructName}") + + # CEnum 处理 + if IsCenum: + for qname in (f"{ClassName}.{AttrName}", f"{ClassName}_{AttrName}"): + info: Any = self.Trans.SymbolTable.lookup(qname) + if info and info.IsEnumMember and isinstance(info.value, int): + return ir.Constant(ir.IntType(32), info.value) + for key, info in self.Trans.SymbolTable.items(): + if key == AttrName: + if info.IsEnumMember and info.EnumName == ClassName: + if isinstance(info.value, int): + return ir.Constant(ir.IntType(32), info.value) + break + + # CUnion 处理 + if IsUnion: + NestedStructName = f"{ClassName}_{AttrName}" + if NestedStructName in Gen.structs: + NestedStructType = Gen.structs[NestedStructName] + ObjVal = self.HandleExprLlvm(Node.value) + if ObjVal: + if isinstance(ObjVal.type, ir.PointerType) and isinstance(ObjVal.type.pointee, ir.PointerType): + ObjVal = Gen._load(ObjVal, name=f"Load_{VarName}") + return Gen.builder.bitcast(ObjVal, ir.PointerType(NestedStructType), name=f"cast_{NestedStructName}") + + # 普通结构体成员访问 + ObjVal = self.HandleExprLlvm(Node.value) + if not ObjVal: + return None + # char* → struct* cast + if self._is_char_pointer(ObjVal): + if ClassName in Gen.structs: + ObjVal = Gen.builder.bitcast(ObjVal, ir.PointerType(Gen.structs[ClassName]), name=f"cast_{ClassName}") + # 二级指针解引用 + if isinstance(ObjVal.type, ir.PointerType) and isinstance(ObjVal.type.pointee, ir.PointerType): + ObjVal = Gen._load(ObjVal, name=f"Load_{VarName}") + + # 检查结构体匹配 + struct_match: bool = self._check_struct_match(Gen, ObjVal, ClassName) + if not struct_match and ClassName and VarName: + if VarName in Gen.var_struct_class: + CN: str = Gen.var_struct_class[VarName] + if CN != ClassName and CN in Gen.structs: + ClassName = CN + struct_match = self._check_struct_match(Gen, ObjVal, ClassName) + # 最终回退:var_struct_class 可能被前一个函数污染(如 cur 在不同函数中 + # 分别是 Line/Param/BasicBlock),通过 ObjVal 的实际 pointee 类型恢复正确类名 + if not struct_match and isinstance(ObjVal.type, ir.PointerType): + found: Any = Gen.find_struct_by_pointee(ObjVal.type.pointee) + if found: + ClassName = found[0] + struct_match = True + if VarName: + Gen.var_struct_class[VarName] = ClassName + elif isinstance(ObjVal.type.pointee, ir.IdentifiedStructType): + # sha1 冲突 fallback:find_struct_by_pointee 因 sha1 前缀不匹配失败时, + # 用短名匹配,优先选字段最多的完整版本 + pointee_short: str = Gen._extract_short_name(ObjVal.type.pointee.name) + best_elem_count: int = 0 + for CN, ST in Gen.structs.items(): + if isinstance(ST, ir.IdentifiedStructType): + st_short: str = Gen._extract_short_name(ST.name) + if st_short == pointee_short: + elem_count: int = len(ST.elements) if ST.elements else 0 + if elem_count > best_elem_count: + ClassName = CN + best_elem_count = elem_count + struct_match = True + if struct_match and VarName: + Gen.var_struct_class[VarName] = ClassName + if not struct_match: + return None + + st: Any + ok: bool + st, ok = self._try_Load_struct_from_stub(Gen, ClassName) + if not ok: + return None + + # bitfield 处理 + bitfield_offsets: Any = Gen.class_member_bitoffsets.get(ClassName, {}) + bitfields: Any = Gen.class_member_bitfields.get(ClassName, {}) + if AttrName in bitfield_offsets and bitfields.get(AttrName, 0) > 0: + return self._load_bitfield_member(ObjVal, ClassName, AttrName) + if AttrName in bitfields and bitfields[AttrName] > 0: + if ClassName not in Gen.class_member_bitoffsets: + Gen.class_member_bitoffsets[ClassName] = {} + if AttrName not in Gen.class_member_bitoffsets[ClassName]: + bo: int = 0 + for bf_name, bf_width in bitfields.items(): + if bf_name == AttrName: + break + bo += bf_width + Gen.class_member_bitoffsets[ClassName][AttrName] = bo + return self._load_bitfield_member(ObjVal, ClassName, AttrName) + + offset = Gen._get_member_offset(AttrName, ClassName) + # 检查 offset 是否超出实际结构体 + if isinstance(ObjVal.type, ir.PointerType): + actual_pointee: Any = ObjVal.type.pointee + if isinstance(actual_pointee, ir.IdentifiedStructType): + actual_elems: Any = actual_pointee.elements + if actual_elems is not None and offset is not None and offset >= len(actual_elems): + self.Trans.ImportHandler._TryLoadStructFromStub(ClassName, Gen) + actual_elems = actual_pointee.elements + if actual_elems is not None and offset >= len(actual_elems): + # sha1 冲突修复:ObjVal 的 pointee 可能是字段不全的版本(如 2 字段 Function), + # 而 st(来自 _try_Load_struct_from_stub)可能是字段完整的版本。 + # bitcast ObjVal 到 st 的类型,使 GEP 能正确访问完整字段。 + if st is not None and isinstance(st, ir.IdentifiedStructType) and st.elements is not None and offset < len(st.elements): + ObjVal = Gen.builder.bitcast(ObjVal, ir.PointerType(st), name=f"cast_load_{ClassName}") + else: + return None + result = self._gep_and_Load_member(Gen, ObjVal, offset, AttrName, ClassName, st) + return result + + def _handle_attr_nested(self, Node: ast.Attribute) -> ir.Value | None: + """处理 a.b.c 嵌套属性访问""" + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + if isinstance(Node.value.value, ast.Name): + ParentVarName: str = Node.value.value.id + ParentAttrName: str = Node.value.attr + # __doc__ 魔法字符串:ClassName.method.__doc__ 或 module.ClassName.__doc__ + if Node.attr == '__doc__': + full_symbol: str = f"{ParentVarName}.{ParentAttrName}" + doc_ptr: ir.Value | None = Gen._get_doc_ptr(full_symbol) + if doc_ptr is not None: + return doc_ptr + # 回退:module.ClassName.__doc__ → 仅用 ClassName 查找 + doc_ptr = Gen._get_doc_ptr(ParentAttrName) + if doc_ptr is not None: + return doc_ptr + enum_result: Any = self._try_resolve_cross_module_enum(ParentVarName, ParentAttrName, Node.attr) + if enum_result is not None: + return enum_result + # 尝试跨模块子模块全局变量解析: a.b.c 其中 a.b 是已知子模块, c 是该模块的全局变量 + imported_modules: Any = getattr(self.Trans, '_ImportedModules', None) + if imported_modules: + full_ModulePath: str = f"{ParentVarName}.{ParentAttrName}" + if full_ModulePath in imported_modules: + result: Any = self._lookup_module_global(Gen, full_ModulePath, Node.attr) + if result is not None: + return result + elif isinstance(Node.value.value, ast.Attribute) and isinstance(Node.value.value.value, ast.Name): + # 三层嵌套:module.ClassName.method.__doc__ + if Node.attr == '__doc__': + ModuleName: str = Node.value.value.value.id + ClassName2: str = Node.value.value.attr + MethodName: str = Node.value.attr + FullSymbol3: str = f"{ModuleName}.{ClassName2}.{MethodName}" + doc_ptr3: ir.Value | None = Gen._get_doc_ptr(FullSymbol3) + if doc_ptr3 is not None: + return doc_ptr3 + # 回退:ClassName.method.__doc__ + doc_ptr3 = Gen._get_doc_ptr(f"{ClassName2}.{MethodName}") + if doc_ptr3 is not None: + return doc_ptr3 + # 三层嵌套:module.submodule.EnumClass.MEMBER + ModuleAlias3: str = f"{Node.value.value.value.id}.{Node.value.value.attr}" + EnumClassName3: str = Node.value.attr + enum_result3: Any = self._try_resolve_cross_module_enum(ModuleAlias3, EnumClassName3, Node.attr) + if enum_result3 is not None: + return enum_result3 + cdefine_result: Any = self._try_resolve_nested_cdefine(Node) + if cdefine_result is not None: + return cdefine_result + ObjVal: Any = self.HandleExprLlvm(Node.value) + if not ObjVal or not isinstance(ObjVal.type, ir.PointerType): + return None + pointee: Any = ObjVal.type.pointee + + # char* → struct* cast + 成员访问 + if isinstance(pointee, ir.IntType) and pointee.width == 8: + AttrClassName: str | None = self._get_attr_class(Node.value, Gen) + if AttrClassName and AttrClassName in Gen.structs: + st: Any + ok: bool + st, ok = self._try_Load_struct_from_stub(Gen, AttrClassName) + if not isinstance(st, ir.IdentifiedStructType) or st.elements is None: + return None + CastedObj: Any = Gen.builder.bitcast(ObjVal, ir.PointerType(st), name=f"cast_{AttrClassName}") + offset: int | None = Gen._get_member_offset(Node.attr, AttrClassName) + if offset is None: + return None + if offset < len(st.elements) and isinstance(st.elements[offset], ir.VoidType): + return None + return self._gep_and_Load_member(Gen, CastedObj, offset, Node.attr, AttrClassName, st) + + # 已知结构体类型 → 直接成员访问 + if isinstance(pointee, (ir.LiteralStructType, ir.IdentifiedStructType)): + for CN, ST in Gen.structs.items(): + if pointee == ST or (isinstance(pointee, ir.IdentifiedStructType) and isinstance(ST, ir.IdentifiedStructType) and pointee.name == ST.name): + st, ok = self._try_Load_struct_from_stub(Gen, CN) + if not isinstance(st, ir.IdentifiedStructType) or st.elements is None: + spec_val: Any = self._try_access_opaque_generic_member(Gen, ObjVal, st if isinstance(st, ir.IdentifiedStructType) else pointee, Node, CN) + if spec_val is not None: + return spec_val + break + bitfield_offsets: Any = Gen.class_member_bitoffsets.get(CN, {}) + if Node.attr in bitfield_offsets: + return self._load_bitfield_member(ObjVal, CN, Node.attr) + offset = Gen._get_member_offset(Node.attr, CN) + if offset is None: + break + return self._gep_and_Load_member(Gen, ObjVal, offset, Node.attr, CN, st) + return None + + def _handle_attr_call_result(self, Node: ast.Attribute) -> ir.Value | None: + """处理 func().attr 属性访问""" + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + # Check if this is c.Deref(...) — we need the pointer, not the Loaded value + ObjVal: Any = None + is_cderef: bool = (isinstance(Node.value, ast.Call) and + isinstance(Node.value.func, ast.Attribute) and + isinstance(Node.value.func.value, ast.Name) and + Node.value.func.value.id == 'c' and + Node.value.func.attr == 'Deref' and + Node.value.args) + if is_cderef: + deref_arg: ast.expr = Node.value.args[0] + inner_val: Any = self.HandleExprLlvm(deref_arg) + if inner_val and isinstance(inner_val.type, ir.PointerType): + if isinstance(inner_val.type.pointee, ir.PointerType): + ObjVal = Gen._load(inner_val, name="deref_load_ptr") + else: + ObjVal = inner_val + if ObjVal is None: + ObjVal = self.HandleExprLlvm(Node.value) + if not ObjVal or not isinstance(ObjVal.type, ir.PointerType): + return None + pointee: Any = ObjVal.type.pointee + if isinstance(pointee, ir.PointerType): + ObjVal = Gen._load(ObjVal, name="load_ptr_for_attr") + pointee = ObjVal.type.pointee + found: Any = Gen.find_struct_by_pointee(pointee) + if not found: + return None + CN: str + ST: Any + CN, ST = found + st: Any + ok: bool + st, ok = self._try_Load_struct_from_stub(Gen, CN) + if not isinstance(st, ir.IdentifiedStructType) or st.elements is None: + spec_val: Any = self._try_access_opaque_generic_member(Gen, ObjVal, st if isinstance(st, ir.IdentifiedStructType) else pointee, Node, CN) + if spec_val is not None: + return spec_val + return None + bitfield_offsets: Any = Gen.class_member_bitoffsets.get(CN, {}) + if Node.attr in bitfield_offsets: + return self._load_bitfield_member(ObjVal, CN, Node.attr) + offset: int | None = Gen._get_member_offset(Node.attr, CN) + if offset is None: + return None + return self._gep_and_Load_member(Gen, ObjVal, offset, Node.attr, CN, st) + + def _handle_attr_subscript_result(self, Node: ast.Attribute) -> ir.Value | None: + """处理 arr[i].attr 属性访问""" + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + ObjVal: Any = self.HandleExprLlvm(Node.value) + if not ObjVal or not isinstance(ObjVal.type, ir.PointerType): + return None + pointee: Any = ObjVal.type.pointee + if not isinstance(pointee, (ir.LiteralStructType, ir.IdentifiedStructType)): + return None + found: Any = Gen.find_struct_by_pointee(pointee) + if not found: + return None + CN: str + ST: Any + CN, ST = found + st: Any + ok: bool + st, ok = self._try_Load_struct_from_stub(Gen, CN) + if not isinstance(st, ir.IdentifiedStructType) or st.elements is None: + spec_val: Any = self._try_access_opaque_generic_member(Gen, ObjVal, st if isinstance(st, ir.IdentifiedStructType) else pointee, Node, CN) + if spec_val is not None: + return spec_val + return None + offset: int | None = Gen._get_member_offset(Node.attr, CN) + if offset is None: + return None + return self._gep_and_Load_member(Gen, ObjVal, offset, Node.attr, CN, st) + + def _handle_attr_fallback(self, Node: ast.Attribute) -> ir.Value | None: + """兜底:对任意值尝试指针解引用后查找结构体成员""" + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + ObjVal: Any = self.HandleExprLlvm(Node.value) + if not ObjVal or not isinstance(ObjVal.type, ir.PointerType): + return None + pointee: Any = ObjVal.type.pointee + if isinstance(pointee, ir.PointerType): + ObjVal = Gen._load(ObjVal, name="load_ptr_for_attr_fallback") + pointee = ObjVal.type.pointee + if not isinstance(pointee, (ir.IdentifiedStructType, ir.LiteralStructType)): + return None + found: Any = Gen.find_struct_by_pointee(pointee) + if not found: + return None + CN: str + ST: Any + CN, ST = found + st: Any + ok: bool + st, ok = self._try_Load_struct_from_stub(Gen, CN) + if not isinstance(st, ir.IdentifiedStructType) or st.elements is None: + spec_val: Any = self._try_access_opaque_generic_member(Gen, ObjVal, st if isinstance(st, ir.IdentifiedStructType) else pointee, Node, CN) + if spec_val is not None: + return spec_val + return None + offset: int | None = Gen._get_member_offset(Node.attr, CN) + if offset is None: + return None + return self._gep_and_Load_member(Gen, ObjVal, offset, Node.attr, CN, st) + + # ========== 主入口 ========== + + def _HandleAttributeLlvm(self, Node: ast.Attribute) -> ir.Value | None: + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + + if isinstance(Node.value, ast.Name): + VarName: str = Node.value.id + # 处理 t/c import 的别名重定向 + t_c_imported: Any = getattr(self.Trans, '_t_c_imported_names', {}) + if VarName != 'self' and VarName in t_c_imported: + src_module: str + src_name: str + src_module, src_name = t_c_imported[VarName] + virtual_attr: ast.Attribute = ast.Attribute( + value=ast.Name(id=src_module, ctx=ast.Load()), + attr=src_name, ctx=ast.Load() + ) + ast.copy_location(virtual_attr, Node) + return self._HandleAttributeLlvm(ast.Attribute( + value=virtual_attr, attr=Node.attr, ctx=ast.Load() + )) + if VarName == 'self': + return self._handle_attr_self(Node, VarName) + return self._handle_attr_name(Node, VarName) + + elif isinstance(Node.value, ast.Attribute): + return self._handle_attr_nested(Node) + + elif isinstance(Node.value, ast.Call): + return self._handle_attr_call_result(Node) + + elif isinstance(Node.value, ast.Subscript): + return self._handle_attr_subscript_result(Node) + + # 兜底 + return self._handle_attr_fallback(Node) + + # ========== HandleSubscript 及其辅助 ========== + + def _HandleSubscriptLlvm(self, Node: ast.Subscript) -> ir.Value | None: + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + # 查询数组元素字节序 + arr_byte_order: str = '' + if isinstance(Node.value, ast.Name) and Node.value.id in Gen.local_var_byteorders: + arr_byte_order = Gen.local_var_byteorders[Node.value.id] + ClassName: str | None = self.Trans.ExprHandler._get_var_class(Node.value, Gen) + if ClassName and Gen._has_function(f'{ClassName}.__getitem__'): + obj_val: Any = self.HandleExprLlvm(Node.value) + idx_val: Any = self.HandleExprLlvm(Node.slice) + if obj_val and idx_val: + # 处理 obj_val 为 i8(整数)的情况:联合类型 | t.CPtr 降级后可能被 load 为 i8 + # 需要先 inttoptr 转换为 i8*,再 bitcast 到目标 struct 指针 + if isinstance(obj_val.type, ir.IntType) and obj_val.type.width == 8: + obj_val = Gen.builder.inttoptr(obj_val, ir.PointerType(ir.IntType(8)), name=f"i8_to_ptr_{ClassName}") + if isinstance(obj_val.type, ir.PointerType) and isinstance(obj_val.type.pointee, ir.IntType) and obj_val.type.pointee.width == 8: + obj_val = Gen.builder.bitcast(obj_val, ir.PointerType(Gen.structs[ClassName]), name=f"cast_{ClassName}") + if isinstance(idx_val.type, ir.IntType) and idx_val.type.width < 64: + idx_val = Gen.builder.zext(idx_val, ir.IntType(64), name="zext_idx") + _getitem_func: Any = Gen._get_function(f'{ClassName}.__getitem__') + # 处理泛型特化类型不匹配:obj_val 可能是通用类型,而函数期望特化类型 + if _getitem_func.ftype.args and _getitem_func.ftype.args[0] != obj_val.type: + _expected_type = _getitem_func.ftype.args[0] + if isinstance(_expected_type, ir.PointerType) and isinstance(obj_val.type, ir.PointerType): + obj_val = Gen.builder.bitcast(obj_val, _expected_type, name=f"cast_{ClassName}_getitem") + result: Any = Gen.builder.call(_getitem_func, [obj_val, idx_val], name=f"call_{ClassName}.__getitem__") + return result + ValueVal: Any = self.HandleExprLlvm(Node.value) + if not ValueVal: + return None + IndexVal: Any = self.HandleExprLlvm(Node.slice) + if not IndexVal: + return None + if isinstance(IndexVal.type, ir.PointerType) and isinstance(IndexVal.type.pointee, ir.IntType) and IndexVal.type.pointee.width == 8: + Loaded_byte: Any = Gen._load(IndexVal, name="Load_char_idx") + IndexVal = Gen.builder.zext(Loaded_byte, ir.IntType(32), name="char_to_int_idx") + if isinstance(ValueVal.type, ir.IntType): + var_ptr: Any = self._get_int_ptr(Node.value) + if var_ptr: + i8_ptr: Any = Gen.builder.bitcast(var_ptr, ir.PointerType(ir.IntType(8)), name="int_to_i8ptr") + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width < 64: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(64), name="zext_int_index") + ptr: Any = Gen.builder.gep(i8_ptr, [IndexVal], name="int_subscript_ptr") + return Gen._load(ptr, name="int_subscript_val") + return None + # 当变量本身是二级指针(如 elem_ptr: T | t.CPtr = AST**), + # 但 HandleExprLlvm 已自动 load 返回 AST*(一级指针), + # 需要检查 Gen.variables 中的原始 alloca 类型, + # 若是二级指针且存储的是结构体指针,应 bitcast ValueVal 为 AST** 后 GEP 再 load, + # 避免 GEP AST 结构体数组返回错误的 AST*(指向存储位置而非实际对象) + if (isinstance(Node.value, ast.Name) + and isinstance(ValueVal.type, ir.PointerType) + and isinstance(ValueVal.type.pointee, (ir.IdentifiedStructType, ir.LiteralStructType))): + VarName: str = Node.value.id + if VarName in Gen.variables and Gen.variables[VarName] is not None: + VarAlloca: ir.Value = Gen.variables[VarName] + if (isinstance(VarAlloca.type, ir.PointerType) + and isinstance(VarAlloca.type.pointee, ir.PointerType)): + # 原始 alloca 是二级指针,ValueVal 是已 load 的一级结构体指针 + # 该指针指向数据缓冲区,缓冲区存储的是 AST* 指针数组, + # 需 bitcast ValueVal 为 AST** 后 GEP 指针数组再 load 出 AST* + PtrToStruct: ir.Type = ValueVal.type.pointee + BaseAsPP: ir.Value = Gen.builder.bitcast(ValueVal, + ir.PointerType(ir.PointerType(PtrToStruct)), name="cast_base_pp_load") + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width < 64: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(64), name="zext_ptr_index_load") + ElemPtrLoad: ir.Value = Gen.builder.gep(BaseAsPP, [IndexVal], name="subscript_pp_load") + return Gen._load(ElemPtrLoad, name="ptr_elem_load") + if isinstance(ValueVal.type, ir.PointerType) and isinstance(ValueVal.type.pointee, ir.PointerType): + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width < 64: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(64), name="zext_ptr_index") + ElemPtr: Any = Gen.builder.gep(ValueVal, [IndexVal], name="subscript") + if isinstance(ValueVal.type.pointee.pointee, ir.IntType) and ValueVal.type.pointee.pointee.width == 8: + return self._load_arr_elem_with_bswap(Gen, ElemPtr, arr_byte_order) + return self._load_arr_elem_with_bswap(Gen, ElemPtr, arr_byte_order) + if isinstance(ValueVal.type, ir.PointerType): + pointee: Any = ValueVal.type.pointee + if isinstance(pointee, ir.ArrayType): + zero: ir.Constant = ir.Constant(ir.IntType(32), 0) + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width != 32: + if IndexVal.type.width < 32: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(32), name="zext_arr_index") + else: + IndexVal = Gen.builder.trunc(IndexVal, ir.IntType(32), name="trunc_arr_index") + ElemPtr = Gen.builder.gep(ValueVal, [zero, IndexVal], name="subscript") + elem_type: Any = pointee.element + if isinstance(elem_type, (ir.IdentifiedStructType, ir.LiteralStructType)): + return ElemPtr + return self._load_arr_elem_with_bswap(Gen, ElemPtr, arr_byte_order) + else: + if isinstance(pointee, ir.IntType) and pointee.width == 8: + elem_class: str | None = self._infer_element_struct_class(Node.value, Gen) + if elem_class and elem_class in Gen.structs: + CastedPtr: Any = Gen.builder.bitcast(ValueVal, ir.PointerType(Gen.structs[elem_class]), name=f"cast_{elem_class}_arr") + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width < 64: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(64), name="zext_arr_index") + ElemPtr = Gen.builder.gep(CastedPtr, [IndexVal], name="subscript") + if isinstance(pointee, ir.IntType): + return self._load_arr_elem_with_bswap(Gen, ElemPtr, arr_byte_order) + return ElemPtr + # 指针到 str/bytes 的变量 (BinOp 注解如 str | t.CPtr) + # elem_ptr 是 i8* 但实际指向 i8* (字符串指针), elem_ptr[0] 应加载 8 字节 + if isinstance(Node.value, ast.Name): + _ptr_elem_flag: bool = (getattr(Gen, 'var_ptr_element', {}).get(Node.value.id, False) + or getattr(Gen, 'global_var_ptr_element', {}).get(Node.value.id, False)) + if _ptr_elem_flag: + CastedPtrPtr: Any = Gen.builder.bitcast(ValueVal, ir.PointerType(ir.PointerType(ir.IntType(8))), name="cast_pp_str") + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width < 64: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(64), name="zext_pp_str_index") + ElemPtr = Gen.builder.gep(CastedPtrPtr, [IndexVal], name="subscript") + return Gen._load(ElemPtr, name="str_ptr_load") + arr_type: Any = self._infer_array_member_type(Node.value, Gen) + if arr_type and isinstance(arr_type, ir.ArrayType): + arr_ptr: Any = Gen.builder.bitcast(ValueVal, ir.PointerType(arr_type), name=f"cast_arr_subscript") + zero = ir.Constant(ir.IntType(32), 0) + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width != 32: + if IndexVal.type.width < 32: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(32), name="zext_arr_index") + else: + IndexVal = Gen.builder.trunc(IndexVal, ir.IntType(32), name="trunc_arr_index") + ElemPtr = Gen.builder.gep(arr_ptr, [zero, IndexVal], name="subscript") + arr_elem_type: Any = arr_type.element + if isinstance(arr_elem_type, (ir.IdentifiedStructType, ir.LiteralStructType)): + return ElemPtr + return self._load_arr_elem_with_bswap(Gen, ElemPtr, arr_byte_order) + ElemPtr = Gen.builder.gep(ValueVal, [IndexVal], name="subscript") + if isinstance(pointee, (ir.IdentifiedStructType, ir.LiteralStructType)): + return ElemPtr + return self._load_arr_elem_with_bswap(Gen, ElemPtr, arr_byte_order) + elif isinstance(ValueVal.type, ir.ArrayType): + zero = ir.Constant(ir.IntType(32), 0) + if isinstance(Node.value, ast.Name): + VarName: str = Node.value.id + if VarName in Gen.variables and Gen.variables[VarName] is not None: + VarPtr: Any = Gen.variables[VarName] + if isinstance(VarPtr.type, ir.PointerType) and isinstance(VarPtr.type.pointee, ir.ArrayType): + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width != 32: + if IndexVal.type.width < 32: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(32), name="zext_arr_index") + else: + IndexVal = Gen.builder.trunc(IndexVal, ir.IntType(32), name="trunc_arr_index") + ElemPtr = Gen.builder.gep(VarPtr, [zero, IndexVal], name="subscript") + var_arr_elem_type: Any = VarPtr.type.pointee.element + if isinstance(var_arr_elem_type, (ir.IdentifiedStructType, ir.LiteralStructType)): + return ElemPtr + return self._load_arr_elem_with_bswap(Gen, ElemPtr, arr_byte_order) + if isinstance(Node.value, ast.Attribute): + AttrPtr: Any = self._get_attr_ptr(Node.value) + if AttrPtr and isinstance(AttrPtr.type, ir.PointerType) and isinstance(AttrPtr.type.pointee, ir.ArrayType): + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width != 32: + if IndexVal.type.width < 32: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(32), name="zext_arr_index") + else: + IndexVal = Gen.builder.trunc(IndexVal, ir.IntType(32), name="trunc_arr_index") + ElemPtr = Gen.builder.gep(AttrPtr, [zero, IndexVal], name="subscript") + attr_arr_elem_type: Any = AttrPtr.type.pointee.element + if isinstance(attr_arr_elem_type, (ir.IdentifiedStructType, ir.LiteralStructType)): + return ElemPtr + return self._load_arr_elem_with_bswap(Gen, ElemPtr, arr_byte_order) + if isinstance(Node.value, ast.Subscript): + InnerPtr: Any = self.HandleSubscriptPtrLlvm(Node.value) + if InnerPtr and isinstance(InnerPtr.type, ir.PointerType): + inner_pointee: Any = InnerPtr.type.pointee + if isinstance(inner_pointee, ir.ArrayType): + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width != 32: + if IndexVal.type.width < 32: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(32), name="zext_arr_index") + else: + IndexVal = Gen.builder.trunc(IndexVal, ir.IntType(32), name="trunc_arr_index") + ElemPtr = Gen.builder.gep(InnerPtr, [zero, IndexVal], name="subscript") + inner_elem_type: Any = inner_pointee.element + if isinstance(inner_elem_type, (ir.IdentifiedStructType, ir.LiteralStructType)): + return ElemPtr + return self._load_arr_elem_with_bswap(Gen, ElemPtr, arr_byte_order) + arr_alloc: Any = Gen._allocaEntry(ValueVal.type, name="arr_subscript_tmp") + Gen._store(ValueVal, arr_alloc) + ElemPtr = Gen.builder.gep(arr_alloc, [zero, IndexVal], name="subscript") + alloc_arr_elem_type: Any = ValueVal.type.element + if isinstance(alloc_arr_elem_type, (ir.IdentifiedStructType, ir.LiteralStructType)): + return ElemPtr + return self._load_arr_elem_with_bswap(Gen, ElemPtr, arr_byte_order) + return None + + def HandleSubscriptPtrLlvm(self, Node: ast.Subscript) -> ir.Value | None: + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + ValueVal: Any = self.HandleExprLlvm(Node.value) + if not ValueVal: + return None + IndexVal: Any = self.HandleExprLlvm(Node.slice) + if not IndexVal: + return None + if isinstance(IndexVal.type, ir.PointerType) and isinstance(IndexVal.type.pointee, ir.IntType) and IndexVal.type.pointee.width == 8: + Loaded_byte: Any = Gen._load(IndexVal, name="Load_char_idx_ptr") + IndexVal = Gen.builder.zext(Loaded_byte, ir.IntType(32), name="char_to_int_idx_ptr") + if isinstance(ValueVal.type, ir.PointerType): + pointee: Any = ValueVal.type.pointee + if isinstance(pointee, ir.ArrayType): + zero: ir.Constant = ir.Constant(ir.IntType(32), 0) + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width != 32: + if IndexVal.type.width < 32: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(32), name="zext_arr_index") + else: + IndexVal = Gen.builder.trunc(IndexVal, ir.IntType(32), name="trunc_arr_index") + ElemPtr: Any = Gen.builder.gep(ValueVal, [zero, IndexVal], name="subscript_ptr") + return ElemPtr + elif isinstance(pointee, ir.PointerType): + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width < 64: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(64), name="zext_ptr_index_ptr") + ElemPtr = Gen.builder.gep(ValueVal, [IndexVal], name="subscript_ptr") + return ElemPtr + else: + # 指针到 str/bytes 的变量 (BinOp 注解如 str | t.CPtr, bytes | t.CPtr) + # elem_ptr 是 i8* 但实际指向 i8* (指针数组), 应按 8 字节步长 GEP + if isinstance(Node.value, ast.Name): + _ptr_elem_flag: bool = (getattr(Gen, 'var_ptr_element', {}).get(Node.value.id, False) + or getattr(Gen, 'global_var_ptr_element', {}).get(Node.value.id, False)) + if _ptr_elem_flag: + CastedPtrPtr: Any = Gen.builder.bitcast(ValueVal, ir.PointerType(ir.PointerType(ir.IntType(8))), name="cast_pp_str_ptr") + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width < 64: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(64), name="zext_pp_str_index_ptr") + ElemPtr = Gen.builder.gep(CastedPtrPtr, [IndexVal], name="subscript_ptr") + return ElemPtr + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width < 64: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(64), name="zext_ptr_index") + ElemPtr = Gen.builder.gep(ValueVal, [IndexVal], name="subscript_ptr") + return ElemPtr + elif isinstance(ValueVal.type, ir.IntType): + var_ptr: Any = self._get_int_ptr(Node.value) + if var_ptr: + i8_ptr: Any = Gen.builder.bitcast(var_ptr, ir.PointerType(ir.IntType(8)), name="int_to_i8ptr") + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width < 64: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(64), name="zext_int_index") + ElemPtr = Gen.builder.gep(i8_ptr, [IndexVal], name="int_subscript_ptr") + return ElemPtr + elif isinstance(ValueVal.type, ir.ArrayType): + zero = ir.Constant(ir.IntType(32), 0) + if isinstance(Node.value, ast.Name): + VarName: str = Node.value.id + if VarName in Gen.variables and Gen.variables[VarName] is not None: + VarPtr: Any = Gen.variables[VarName] + if isinstance(VarPtr.type, ir.PointerType) and isinstance(VarPtr.type.pointee, ir.ArrayType): + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width != 32: + if IndexVal.type.width < 32: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(32), name="zext_arr_index") + else: + IndexVal = Gen.builder.trunc(IndexVal, ir.IntType(32), name="trunc_arr_index") + ElemPtr = Gen.builder.gep(VarPtr, [zero, IndexVal], name="subscript_ptr") + return ElemPtr + if isinstance(Node.value, ast.Subscript): + InnerPtr: Any = self.HandleSubscriptPtrLlvm(Node.value) + if InnerPtr: + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width != 32: + if IndexVal.type.width < 32: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(32), name="zext_arr_index") + else: + IndexVal = Gen.builder.trunc(IndexVal, ir.IntType(32), name="trunc_arr_index") + ElemPtr = Gen.builder.gep(InnerPtr, [zero, IndexVal], name="subscript_ptr") + return ElemPtr + if isinstance(Node.value, ast.Attribute): + AttrPtr: Any = self._get_attr_ptr(Node.value) + if AttrPtr and isinstance(AttrPtr.type, ir.PointerType) and isinstance(AttrPtr.type.pointee, ir.ArrayType): + if isinstance(IndexVal.type, ir.IntType) and IndexVal.type.width != 32: + if IndexVal.type.width < 32: + IndexVal = Gen.builder.zext(IndexVal, ir.IntType(32), name="zext_arr_index") + else: + IndexVal = Gen.builder.trunc(IndexVal, ir.IntType(32), name="trunc_arr_index") + ElemPtr = Gen.builder.gep(AttrPtr, [zero, IndexVal], name="subscript_ptr") + return ElemPtr + arr_alloc: Any = Gen._allocaEntry(ValueVal.type, name="arr_subscript_tmp") + Gen._store(ValueVal, arr_alloc) + ElemPtr = Gen.builder.gep(arr_alloc, [zero, IndexVal], name="subscript_ptr") + return ElemPtr + return None + + # ========== _get_attr_ptr / _get_int_ptr / _get_attr_class ========== + + def _get_attr_ptr(self, Node: ast.Attribute) -> ir.Value | None: + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + if not isinstance(Node, ast.Attribute): + return None + if isinstance(Node.value, ast.Name): + VarName: str = Node.value.id + if VarName == 'self': + ClassName: str | None = self.Trans._CurrentCpythonObjectClass + if ClassName: + offset: int | None = Gen._get_member_offset(Node.attr, ClassName) + SelfVar: Any = Gen._get_var_ptr('self') + if SelfVar: + SelfPtr: Any = Gen._load(SelfVar, name="self") + if isinstance(SelfPtr.type, ir.PointerType): + MemberPtr: Any = Gen.builder.gep(SelfPtr, [ir.Constant(ir.IntType(32), 0), ir.Constant(ir.IntType(32), offset)], name=Node.attr) + return MemberPtr + ClassName = Gen.var_struct_class.get(VarName) + if not ClassName and getattr(Gen, 'global_struct_class', None): + ClassName = Gen.global_struct_class.get(VarName) + if not ClassName: + imported_modules: Any = getattr(self.Trans, '_ImportedModules', None) + resolved_mod: str = self.Trans.SymbolTable.resolve_alias(VarName) + if imported_modules and (VarName in imported_modules or resolved_mod in imported_modules): + AttrName: str = Node.attr + ModuleSha1Map: Any = getattr(Gen, 'ModuleSha1Map', {}) + candidates: list[str] = [VarName, resolved_mod] + for mod_name in imported_modules: + if mod_name.endswith(f".{VarName}") or mod_name == VarName: + if mod_name not in candidates: + candidates.append(mod_name) + for cand in candidates: + sha1: str | None = ModuleSha1Map.get(cand) + if sha1: + prefixed: str = f"{sha1}.{AttrName}" + if prefixed in Gen.module.globals: + return Gen.module.globals[prefixed] + if AttrName in Gen.module.globals: + gv: Any = Gen.module.globals[AttrName] + if isinstance(gv, ir.GlobalVariable): + return gv + if ClassName and ClassName in Gen.structs: + VarPtr: Any = Gen.variables.get(VarName) + if VarPtr: + ObjVal: Any = VarPtr + if isinstance(ObjVal.type, ir.PointerType) and isinstance(ObjVal.type.pointee, ir.PointerType): + ObjVal = Gen._load(ObjVal, name=f"Load_{VarName}") + if isinstance(ObjVal.type, ir.PointerType) and ObjVal.type.pointee == Gen.structs[ClassName]: + ST: Any = Gen.structs[ClassName] + if isinstance(ST, ir.IdentifiedStructType) and (ST.elements is None or len(ST.elements) == 0): + self.Trans.ImportHandler._TryLoadStructFromStub(ClassName, Gen) + ST = Gen.structs.get(ClassName, ST) + if ST.elements is not None and isinstance(ObjVal.type.pointee, ir.IdentifiedStructType) and ObjVal.type.pointee.elements is None: + ObjVal = Gen.builder.bitcast(ObjVal, ir.PointerType(ST), name=f"cast_{ClassName}") + offset = Gen._get_member_offset(Node.attr, ClassName) + if offset is not None and ST.elements is not None: + MemberPtr = Gen.builder.gep(ObjVal, [ir.Constant(ir.IntType(32), 0), ir.Constant(ir.IntType(32), offset)], name=Node.attr) + return MemberPtr + elif isinstance(Node.value, ast.Attribute): + InnerPtr: Any = self._get_attr_ptr(Node.value) + if InnerPtr and isinstance(InnerPtr.type, ir.PointerType): + pointee: Any = InnerPtr.type.pointee + if isinstance(pointee, (ir.IdentifiedStructType, ir.LiteralStructType)): + found: Any = Gen.find_struct_by_pointee(pointee) + if found: + CN: str + ST: Any + CN, ST = found + if isinstance(ST, ir.IdentifiedStructType) and (ST.elements is None or len(ST.elements) == 0): + self.Trans.ImportHandler._TryLoadStructFromStub(CN, Gen) + ST = Gen.structs.get(CN, ST) + if ST.elements is not None and isinstance(InnerPtr.type, ir.PointerType) and isinstance(InnerPtr.type.pointee, ir.IdentifiedStructType) and InnerPtr.type.pointee.elements is None: + InnerPtr = Gen.builder.bitcast(InnerPtr, ir.PointerType(ST), name=f"cast_{CN}") + offset = Gen._get_member_offset(Node.attr, CN) + if offset is not None and ST.elements is not None: + MemberPtr = Gen.builder.gep(InnerPtr, [ir.Constant(ir.IntType(32), 0), ir.Constant(ir.IntType(32), offset)], name=Node.attr) + return MemberPtr + elif isinstance(pointee, ir.IntType) and pointee.width == 8: + AttrClassName: str | None = self._get_attr_class(Node.value, Gen) + if AttrClassName and AttrClassName in Gen.structs: + CastedObj: Any = Gen.builder.bitcast(InnerPtr, ir.PointerType(Gen.structs[AttrClassName]), name=f"cast_{AttrClassName}") + offset = Gen._get_member_offset(Node.attr, AttrClassName) + if offset is not None: + MemberPtr = Gen.builder.gep(CastedObj, [ir.Constant(ir.IntType(32), 0), ir.Constant(ir.IntType(32), offset)], name=Node.attr) + return MemberPtr + elif isinstance(Node.value, ast.Subscript): + SubPtr: Any = self.HandleSubscriptPtrLlvm(Node.value) + if SubPtr and isinstance(SubPtr.type, ir.PointerType): + pointee = SubPtr.type.pointee + if isinstance(pointee, (ir.IdentifiedStructType, ir.LiteralStructType)): + found = Gen.find_struct_by_pointee(pointee) + if found: + CN, ST = found + offset = Gen._get_member_offset(Node.attr, CN) + if offset is not None: + MemberPtr = Gen.builder.gep(SubPtr, [ir.Constant(ir.IntType(32), 0), ir.Constant(ir.IntType(32), offset)], name=Node.attr) + return MemberPtr + return None + + def _HandleSliceLlvm(self, base_val: ir.Value, slice_node: ast.Slice | ast.Index, base_ast: ast.AST) -> ir.Value | None: + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + lower_val: Any = None + upper_val: Any = None + step_val: Any = None + if isinstance(slice_node, ast.Slice): + if slice_node.lower: + lower_val = self.HandleExprLlvm(slice_node.lower) + if slice_node.upper: + upper_val = self.HandleExprLlvm(slice_node.upper) + if slice_node.step: + step_val = self.HandleExprLlvm(slice_node.step) + if isinstance(slice_node, ast.Index): + return self.HandleExprLlvm(slice_node.value) + return None + + def _infer_element_struct_class(self, node: ast.AST, Gen: LlvmCodeGenerator) -> str | None: + if isinstance(node, ast.Attribute): + attr_name: str = node.attr + if isinstance(node.value, ast.Name) and node.value.id == 'self': + current_class: str | None = self.Trans._CurrentCpythonObjectClass + if current_class: + if current_class in Gen.class_member_element_class: + elem_class: str | None = Gen.class_member_element_class[current_class].get(attr_name) + if elem_class and elem_class in Gen.structs: + return elem_class + if current_class in Gen.class_members: + for member_name, member_type in Gen.class_members[current_class]: + if member_name == attr_name: + if isinstance(member_type, ir.IdentifiedStructType): + found: Any = Gen.find_struct_by_pointee(member_type) + if found: + return found[0] + break + class_name: str | None = Gen.var_struct_class.get(attr_name) + if class_name: + return class_name + elif isinstance(node, ast.Name): + var_name: str = node.id + class_name = Gen.var_struct_class.get(var_name) + if class_name: + return class_name + return None + + def _get_int_ptr(self, target: ast.AST) -> ir.Value | None: + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + if isinstance(target, ast.Name): + VarName: str = target.id + if VarName in Gen.variables and Gen.variables[VarName] is not None: + VarPtr: Any = Gen.variables[VarName] + if isinstance(VarPtr.type, ir.PointerType): + pointee: Any = VarPtr.type.pointee + if isinstance(pointee, ir.ArrayType): + return Gen.builder.gep(VarPtr, [ir.Constant(ir.IntType(32), 0), ir.Constant(ir.IntType(32), 0)], name=f"arr_start_{VarName}") + return VarPtr + elif isinstance(target, ast.Attribute): + if isinstance(target.value, ast.Name): + obj_name: str = target.value.id + if obj_name in Gen.variables and Gen.variables[obj_name] is not None: + obj_ptr: Any = Gen.variables[obj_name] + if isinstance(obj_ptr.type, ir.PointerType): + pointee = obj_ptr.type.pointee + if isinstance(pointee, ir.PointerType): + obj_ptr = Gen._load(obj_ptr, name=f"Load_{obj_name}") + pointee = obj_ptr.type.pointee + if isinstance(pointee, (ir.IdentifiedStructType, ir.LiteralStructType)): + StructName: str | None = None + if isinstance(pointee, ir.IdentifiedStructType): + StructName = pointee.name + if not StructName: + found: Any = Gen.find_struct_by_pointee(pointee) + if found: + StructName = found[0] + if StructName and StructName in Gen.structs: + offset: int | None = Gen._get_member_offset(target.attr, StructName) + if offset is not None: + return Gen.builder.gep(obj_ptr, [ir.Constant(ir.IntType(32), 0), ir.Constant(ir.IntType(32), offset)], name=f"{target.attr}_ptr") + obj_val: Any = self.HandleExprLlvm(target.value) + if obj_val and isinstance(obj_val.type, ir.PointerType): + if isinstance(obj_val.type.pointee, ir.PointerType): + obj_val = Gen._load(obj_val, name="Load_attr_ptr") + pointee = obj_val.type.pointee + if isinstance(pointee, (ir.IdentifiedStructType, ir.LiteralStructType)): + StructName = None + if isinstance(pointee, ir.IdentifiedStructType): + StructName = pointee.name + if not StructName: + found = Gen.find_struct_by_pointee(pointee) + if found: + StructName = found[0] + if StructName and StructName in Gen.structs: + offset = Gen._get_member_offset(target.attr, StructName) + if offset is not None: + return Gen.builder.gep(obj_val, [ir.Constant(ir.IntType(32), 0), ir.Constant(ir.IntType(32), offset)], name=f"{target.attr}_ptr") + return None + + def _resolve_struct_class_for_attr(self, Node: ast.AST, Gen: LlvmCodeGenerator) -> str | None: + if isinstance(Node, ast.Name): + VarName: str = Node.id + if VarName in Gen.var_struct_class: + return Gen.var_struct_class[VarName] + elif isinstance(Node, ast.Attribute): + ClassName: str | None = self._resolve_struct_class_for_attr(Node.value, Gen) + if ClassName and ClassName in Gen.class_members: + for member_name, _ in Gen.class_members[ClassName]: + if member_name == Node.attr: + return ClassName + return None + + def _infer_array_member_type(self, Node: ast.AST, Gen: LlvmCodeGenerator) -> ir.ArrayType | None: + if isinstance(Node, ast.Attribute): + parent_class: str | None = self._get_attr_class(Node, Gen) + if parent_class and parent_class in Gen.class_members: + for m_name, m_type in Gen.class_members[parent_class]: + if m_name == Node.attr and isinstance(m_type, ir.ArrayType): + return m_type + if parent_class and parent_class in Gen.structs: + st: Any = Gen.structs[parent_class] + if isinstance(st, ir.IdentifiedStructType) and st.elements is not None: + offset: int | None = Gen._get_member_offset(Node.attr, parent_class) + if offset is not None and offset < len(st.elements): + elem: Any = st.elements[offset] + if isinstance(elem, ir.ArrayType): + return elem + return None + + def _build_attr_path(self, node: ast.AST) -> list[str]: + parts: list[str] = [] + current: ast.AST = node + while isinstance(current, ast.Attribute): + parts.append(current.attr) + current = current.value + if isinstance(current, ast.Name): + parts.append(current.id) + parts.reverse() + return parts + + def _try_resolve_nested_cdefine(self, Node: ast.Attribute) -> ir.Value | None: + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + imported_modules: Any = getattr(self.Trans, '_ImportedModules', None) + if not imported_modules: + return None + parts: list[str] = self._build_attr_path(Node) + if len(parts) < 2: + return None + attr_name: str = parts[-1] + module_parts: list[str] = parts[:-1] + possible_keys: list[str] = [attr_name] + full_path: str = '.'.join(parts) + possible_keys.append(full_path) + if module_parts: + ModulePath: str = '.'.join(module_parts) + resolved_first: str = self.Trans.SymbolTable.resolve_alias(module_parts[0]) + if resolved_first != module_parts[0]: + resolved_parts: list[str] = [resolved_first] + module_parts[1:] + resolved_path: str = '.'.join(resolved_parts) + possible_keys.append(f"{resolved_path}.{attr_name}") + for mod_name in imported_modules: + if mod_name.endswith('.' + ModulePath) or mod_name == ModulePath: + key: str = f"{mod_name}.{attr_name}" + if key not in possible_keys: + possible_keys.append(key) + if module_parts and (mod_name.endswith('.' + module_parts[-1]) or mod_name == module_parts[-1]): + key = f"{mod_name}.{attr_name}" + if key not in possible_keys: + possible_keys.append(key) + for lookup_key in possible_keys: + SymInfo: Any = self.Trans.SymbolTable.lookup(lookup_key) + if SymInfo and SymInfo.IsDefine and SymInfo.DefineValue is not None: + val: Any = SymInfo.DefineValue + if isinstance(val, int): + if val > 0x7FFFFFFF or val < -0x80000000: + return ir.Constant(ir.IntType(64), val & 0xFFFFFFFFFFFFFFFF) + return ir.Constant(ir.IntType(32), val) + elif isinstance(val, float): + return ir.Constant(ir.FloatType(), val) + return None + + def _try_resolve_cross_module_enum(self, module_alias: str, enum_class_name: str, member_name: str) -> ir.Value | None: + Gen: LlvmCodeGenerator = self.Trans.LlvmGen + imported_modules: Any = getattr(self.Trans, '_ImportedModules', None) + if not imported_modules: + return None + resolved_module: str = self.Trans.SymbolTable.resolve_alias(module_alias) + if resolved_module not in imported_modules and module_alias not in imported_modules: + return None + enum_keys: list[str] = [enum_class_name, f"{resolved_module}.{enum_class_name}"] + for enum_key in enum_keys: + SymInfo: Any = self.Trans.SymbolTable.lookup(enum_key) + if SymInfo: + if SymInfo.IsEnum: + for qname in (f"{enum_key}.{member_name}", f"{enum_key}_{member_name}"): + info: Any = self.Trans.SymbolTable.lookup(qname) + if info and info.IsEnumMember and isinstance(info.value, int): + return ir.Constant(ir.IntType(32), info.value) + for key, info in self.Trans.SymbolTable.items(): + if info.IsEnumMember and info.EnumName == enum_key and key == member_name: + if isinstance(info.value, int): + return ir.Constant(ir.IntType(32), info.value) + for key, info in self.Trans.SymbolTable.items(): + if info.IsEnumMember and key == member_name: + if isinstance(info.value, int): + for enum_key in enum_keys: + if info.EnumName == enum_key: + return ir.Constant(ir.IntType(32), info.value) + return None + + def _get_attr_class(self, Node: ast.AST, Gen: LlvmCodeGenerator) -> str | None: + if isinstance(Node, ast.Attribute): + # 注: 不再硬编码 ZLIB_VERSION / C_OK,它们应从符号表查找 + if isinstance(Node.value, ast.Name) and Node.value.id == 'self': + ClassName: str | None = self.Trans._CurrentCpythonObjectClass + if ClassName and ClassName in Gen.class_member_element_class: + return Gen.class_member_element_class[ClassName].get(Node.attr) + if isinstance(Node.value, ast.Name): + VarName: str = Node.value.id + if VarName in Gen.var_struct_class: + ParentClass: str = Gen.var_struct_class[VarName] + if ParentClass in Gen.class_member_element_class: + return Gen.class_member_element_class[ParentClass].get(Node.attr) + if isinstance(Node.value, ast.Attribute): + ParentClass = self._get_attr_class(Node.value, Gen) + if ParentClass and ParentClass in Gen.class_member_element_class: + return Gen.class_member_element_class[ParentClass].get(Node.attr) + return None + + def _get_llvm_member_offset(self, field_name: str, ClassName: str, Gen: LlvmCodeGenerator) -> int | None: + return Gen._get_member_offset(field_name, ClassName) \ No newline at end of file diff --git a/Test/ArgparseTest/output/08ea5281873244fd.deps.json b/Test/ArgparseTest/output/08ea5281873244fd.deps.json index bd634ff..1f1902c 100644 --- a/Test/ArgparseTest/output/08ea5281873244fd.deps.json +++ b/Test/ArgparseTest/output/08ea5281873244fd.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "argparse": "aba439b7882ad9d6", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "argparse": "aba439b7882ad9d6", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/ArgparseTest/output/_shared_sym_includes.pickle b/Test/ArgparseTest/output/_shared_sym_includes.pickle new file mode 100644 index 0000000000000000000000000000000000000000..2496401cb182b3b72ad352c674a313af4b74899e GIT binary patch literal 369950 zcmeEv2YegHmA(o)soo{qa<_^ti$x^mPLY&EEd|OfDz0s$IDlpNbBm$QWg ziIWR*sg9G}|3np6g& zPm zWPFPzlG${o1z%3YB62cJ+|rq*kernBPZ#lT#>a9zE}!y;!V`(?ZP`qHA{mRz$B;&I zIN={pMT342OlOwppZ$|^T-HL@$nj&_vzeL`v2ZARZ&uDM)dC@aKPpcs{GElEaV43G zN3&{+CQEgRx|}|NpSmiu7?KD_gOOB-#FxxwYI}FZVv&NtYEQ_K6mnJzDI~I+Gc`U+ zBb%9*%`^`rNYddTBuANT97r69g`-IYId2$9jD(Lxl@NWd842I1WTl2wKwT}(Q`e-` zwP|%-T3w%3H{6z0&-bYpq}7e|=~DWCxh4b>Xjl$~gA^Sy351j5VI_jMHPUDQR5+AW zQ4CFiQ%S`ii-#yxwLQ~9VKw1u0&FaN@nst5VInCfk=aGDc=%X2Dw96uN*52c9Q#uD zW&@dp{=`I9U7BgqG;+U^lr^z%)u@4_kz!pW995z*E_PNi`Pr#{x_VLVp_R$4NPOoQta^q>R%${kr5Em1s&US-h)>f6G6k zh~X%*zy-xW`2(@gDJro=+5=s6e422gvFNFZSSmr`7sqq&B2h=FUXUs-3Ms*e99Ke` zSSYq^>#PNb~+CJDkldp-kl@AVT4!1V$Ri1rn#pVY$QeVXLx z*<$*_$!U_OU+`Mamp(7Y)007E5>fp`IDtIY(QnDPOofEX3% zn>;!im!pXTr+Sa-b?#`8k_;yk+a^ziv+90&3#pfSAg$hA+2>meXQ^(TkL7#fa zryfqLN2rqANhZK1NvjiSHJVmqIwva5 zTzXm?YTGLKN>|g2)&i*)Q{$smS@jBcvQkq57}w_*+qZzzaLqMIF6hlu2i?*;ZC9Xa zhXQTri62W%DAXyrDNFbK){?3pI3rabRT9agluPQu5(@v4R3;{m$^p5feP^JnySq&e z?F@CAYQQFSpDi7AEA>#lsvOVvQ0jJ{+PYb7qZ-kXR(GV;&eLjFuCJLtZC~TEVB5>6 zw@wAylu%>wWUddf>%7%>=X&&WRRWEw5}EWTsa3Yu?Q>oL4P@%&I$~P|*qW*79iW=8 zo459L;leYtyJl7wG7ATMqgm?n(9o5qKAh$~ms5SHleM1SzFqiHsk-2e1k|SmvTr8S zMovYNWbHZChN=+(S&h}&AjFkBQeiUB9r$16R14DiK5_c-*UZ`hs{7?^12pT^sSQ{} zhWlhJ5r*9^N2*i^H8fOrY6H%3lOW}0WOUj*GIG+brUS4~Lu9BX>=nzip~5B9gFd8N zl$&VcL3JwLt(p4X5pB$z@ALO%8u!WxRhvJvS^z$^%f}6Xv(p$p)57ulCjzNZ=#<}Y zUpVX}%{1m(zkQj8{mR5H1kawM0`amUEY?Sqyh1p1wVqXmtId_6);}4K9kVa3k55*0@Tnr6+%T~mt7dGlfMu!J{dt8;U`&sbCcI;?M z%=NkrjZRM6tlQ9Blbyazqq**REwSY_zwEp+HM@p}1_c+|Qd@Eh%1^F#WOQh_Uog96 zw(QEUlC&@mcK*@fG0_y4+fwvEJDW9%yL$#lL~~qW%h3xZ?HwA!Ouo?eWu+~j0h&U%9h}Tcv{=*%HJS1ZhvUz8_#F5C2r^DNJ4rhe{;f4j6T9tgG_k9cn%MPxXHD8Vv3uoNJ+Vu(XtUb@+}72q$nA9C zAkf{qJrrm&Z2+E`Ld|Fk{NlVq1!+;h-TL+{GzmMH58~`jeg}u$ij_3alUb>3% zkPXquwJV(?diRFY(V(Rd$SW$4_0k; zrlh_7J;E2KTb!7Bu!5^Ir7}fb6(n_?bK?67~Jkyd_QhrJb}%9*c)(L9H(Ts%0Ozrrk*a!*gNM@{nhf;)K#9H1Ag zNts6J>=`bH+#sF(+MOH(4p)ohP_8j6TUBFRD_%?AT+|PNgSQLJ^`opKIJT1u!*&42 zZg3|WfdiT%6)D@OhWSf~CFD*l0*!pFMXef3-$eJ^H}_3+&wZQUMEBe`{7rPvee2&u z_uL->)SxdHJeZ?ZuUVM#Gg-A}&v81jHq8>X`y(4aKOi0DH1lEqjt{=K9A{{06=kGLv#_hvJevg~TH7YnhAK$2FSchR1DpXha1 ztYp~|^FJeQV#9g7#}$l%bZe`Mem(FIBed+dp>EkDr} zXpy<+e)6%OcQz*U923?V3gyZ^ho0BF^Ovg%geziXWSlY}NdoPTl|@nzY=LAP(w8KG zHi@wy%440daq9RBXEehw17^N1EwFPo)c$Jdrq>v>zDhdm)n>|7&~+CTay4|~jrl?r zY?5K#z0h^f^nQz(%)4ir$n)oZIZC(bxI5V6ejsuFZ0FxQy1Ke{gmx%9w(s1&v%S5$ zX#SlhTgesXi7>f@bed7}Y;8f%5H(YS`)Fg0GlC3A6xyeGun{Uq0 zqe?xs3SE*Ljwe{FqntBMYWSGypQ5|C9GdCskb{?# zIYO<2e?p$LZ>MNSMLl1o>7H(pM!R0}FWUZFoEHXNMOodJV5TmW;5WkBT5Hu% zGnzF4RJ|s6Xd`J3B3@%4t|D8aN73HXcy}zf@%TV*WggUtDqBOM;*z}ZGLmQ z$@vWDvl{($x%RQBKjmOKPt%1tcrMW$nUr!}QXRuH7flK|{Wi_@x!Ipkv=iOw9`B`o zx~BaY9O6yJrrP|tciygxokj@?+vT|Tnv!m-s-nWWDD*Yr3Vo%&FqKA55lh)tXI${p z`zxC(c&lqhTza}rT*0^O@87?7Y?r@haA1$mRZVxlu8IA0#sv($QIi_Vzs+nJ@f;cK z+2!9q;PdYq9O{(>lf|AoTe2Q(9$cxD-8C?}zvqB|*OAeF(brU9FPR%1ZPp5RZ+{PQt;CL4Y>Bhw z>qS#Fp-iZ$z_v>6H!+Z9K};igw;y(Kfo{bY(b-#tajp0QD*L9lT$dEeHFsgMi(!O& zJ3XXjjJe8-NqwjEuqfnZSS3IqeD&HZjn-uya2Y0m*QV_w}jmucx8 zi^3J95+eE8OYfbU^e~0^R($l{Q$juXdZsFijg*~K=EE9kOeG2;U4yAZZz{*4JmX#! zcjegCkuPe5F_$Qaa6JfnR?16EoSlmKyBcduDGFj;bBJaUy(wnR6Gm$%xlyqz;b%0i zm`@bMwYJY|vh8gSWEV8^CLfcDqR8It8Ck}ijM$aw3XLY*7>lAg+Pk;Mn@(JPm#yAj zqH)BmiXe^+pg1_-k@xmY-3hum%&A3c*Vw{Qf*`gv2Zsi{X_2&x%Ix&EPh*KmB0(%` zNA?a4d*fgV?gG_V+`)Vr)u_Uav>>VtoT_I%YlFttNr4rOFQ&Z&@vR&4uxty~Vu><7 zp>c*!Y(bnGHO`(D^3uHd#A!Pf_I(=h4dRG53=aAB;J-IERAcX8EP4$8?Tx5cYlP1e zN4Rm!TgJ=sC0&~N!y0osAumeDYrHGwT3*cdMf`6X(F?>8t>s1RjY1d3e$Gn$sK$7s zK*onWvm)8E80Xj-9ZzU9FBC_!fz$M?k#6FL>S(~{)I9%8V|+o;iXoKuZ!d^d~cOB?>Z=yEbS zzK+wXf35L_KO8{=U9EiSWQ&)4;XT?`pR*d@t>XALX!_jdQT=VoDRi4t4StKp_)2k% zYiP00Ber~1*oo=CXiTpX$F!E1deu_ZV*%W;o%)ohOUbRx3t79AW4UOy7V!3+N zLUFE+?bA~l*X;tiVr|}=>dH1_zpb4S^?Qvb+)@eZcIrUWqq^!mL(#N|5A50m^Yo~m zIuBsiYdqTp^Yo~WIxo*|(Rg-<<5`c|>DdUj0i8^@<8;$C8r>b@=r-_L>KWh0T&LJH--iZ}XNg^{h^Wk7|Uw#1ii8@Rl%juTF#~G{W5i3G)utL&CT&$GHyQqY>UI zj&P&a)q2Kw+FA1ZHOkirrtD!g)+m>#$8XdqUn`ihhZR|)T%smFqEWt19OYW9g?M8s zlRrhQgg6atKdy1TUL4mtaP`Purb$PTbsXG2rm@8_L{Xyyu=U7l&arhI-ae_Zy-^%n zz8%gxqp~rl%1&MIZ#2R;i6h*oDYJ(?Qcj!lls)Z{K)FPZv__-6OC03| zVQ<=I_F>Fc*iB<>(m3{tqqoy&B1WktDsEy?Dln zRY}K-O3XEmY+#1if7@QSFT;n%o?4?k}fNHpbT9d)$+)@ekC#Sv`)QSU0L zqY1cKV>%+3sdu&1(GJ|HF&!1m)VpfxXbcW$Ovl7At;3BrUNuLK#^4c+=Rt8i>l0oQ zbu^8_8qq`Ih&E0p;~_Fjy(&{js;4xnhs9BCpoW*&dc>4w?FXVsGV&b^{ItgRh&aBD z=xID8+{h0fIWvB(#`qR-jO(X@G{@{!0oV5)!W6bc`MzCad#gaUAnVz%=CfFIu^Ya9 zP$PO&9MJ|4_0DAarW4c8X-sbu%+x!R>1R$%pU{}zE|BRsjt6E6vwsJzssx3#nmfqyVL75jv;Xzn-a+oS%%wa=d34_`sxquh-OU5N>Z~p!ix%o zz1q>i{@%goK&Cix?uAm+Hl^kq^IbzjgCfh?oUSA-5?9!I(%4h#31#+Pr=m6|ElC0$ zW-iVZG+2A4*K^3G|z(i`_H#ne0EEh?|p^B!SK|b(wqVLzDg3iMSj z{cYw+=Mt7Afu1*)Q-K$yElC31bn43Hskcrx;Y8h=OOy0v6)bfRxfUXld5^UO=%Tl$YU(YHxok_0;S)cZKke0#Ew zJ5e_$ElC1BeCqv-caA>UV@|Y-(v~EFem?cIE8y-kZ^!1+mgs(1VFv{DM#fYBpX}F8 zMQ%-Al4k7$^p*4G&7X&VK2$-o=blep zk_5U7)vJ94yoTnheJ*WD66ilvFLN*5h_cS<^gW-tBnfmUs+YNUUPaj+C+0j$uoLm(#3f0fqftF^5B-fYr=1-6g*82KNfPLERIlfnuSRctk20s79fh_X z{(EtlP?7{XAT@FK>Xe_;Ru40Gq%KJUospWjdv*BFY43-bJ5rYBGzr7cMU zotGMTd)2}@oia1>*4j6Lj!X@_y=vW@4xJf!Yi*lAr=~h@?t0CeZ6i)+(DJ-W%hqS$_;ErqQ#feLjK)syJs^m^b)=bQ`S}xEx zs&2iJ)IIZN#dbMtvd>#@`P3yzprcgXdgB${v#GcdC-T+Aq)tt8Uq21SZcSd2 z1UhZiTRKhYJfpuDPJnCGW+W_00{z13vKHCaCSGC!33f7deBnk8yn@`!R+Uz*_YD!s> z1Uiw`ZE_D?tTHF}VR@TePh64&x|P-EoW1le%bdJy<>#F9sY{YT7qhxWO15|j=Khm6PF}`o@jNgC+6OHzH!_+U`bt)1UjcRr0$(797ikF zlDZ@b^jB+0-8B*wI(k~0=?fFllQLDI~ujt*iD zZ}0M{OOimhxw>Ub?o}({JvVRJ8q${}fxdM0O6RGES@v>xFtnR$wMrH}5$ zI|sY$%}(@f(w8KGes=Ym@1?t4_WzvNTT+)KfnIm@)GOkAH{a^zQ^_ z=-JoA-#g`ZJoROhz9b2B_iIYuyFrfQ$uFDqB}t$U;AOeBbxr@oy8_PGWk8YydIr|_ zk%@K?oZm#2OIVTwx(cq-irtd~F+MxXUTvo}*LkyY({Wl28U0hF)o@y6Y4vzojil9y zv>HvTvAeUWd$WO5AXCc;isQ!)uI8S~$=g)sK;Jb-#}Z0BadcFPPlSES$yDNKpOQG9 zj7=ULjmy!*fm6NoERj6g6F)X7#}f+wl2j%pk9LlCwv8*>cLaARa%)ftY@0k4&Z_%K ze!jc2>VdR+b6OqtsU!5ms81bBs|S7RA)k6Utsc28tKLdKAEm#ys{u8bHVf=@Nr6El zVyUD+i5=4<2LDttK8oR}#Nz@vPH7zBg-R61$v6#O$6ayE)X4E;+p}!EZr;3mv$A?A zY0~Ak*Mq7*+Wh?N-Puj*cAwh1S#2Y=>qx6R(rV{vwM)7%6;M}GZC{gC*QV8VX?1;C z-9Ya;U)`Fi9ZAYbCHso3(+hlRmyhCKkXAQR6rKg2dTm<0F0Ecq@4SJMx-qTZU{ z4SZxW-#Rj>?v?}h00>f&y7BQyDxuD%|IpRIg8^!Fs{yVC5Tpj&>sD-=;8{A&<5oUd z%{hG87?+-4+B9<^UCkl9aLz)f-3*+0x|$n!v7BcylFH4yn5W^`%Q2OB zR?jx^9dog5<(P9~|3YjXrkvOZ+(|;<1WQg5<(Ot+-!37E@4J(Pz&QoJtA<*ia?C8S zx-~|nXe@jyo>yRt>6welB5)MVk8H)ZxgJK@Hxlif_t`vh%ys2jF$kcr*Hnde4K?D>UnR4ZO+lFEJVq#|&1kTa5IKSp40AYFJcqk*wt802bukn?*BPkguDNBav9p6~SCvN8>&|m0W7v#~xc)at%qEH#Y;2 z4XFL<9`gc7%WU^8?A#vQ(H;tQh63H8j@ICK`SvZ8UdyTry4NeitW#l)qBX1QS*dBJ zIX$CYHZGmxQ$tm7GSO>5)N#ey?x3a zp^h!TZ;t&lx;fj8Yb9-RvcyDFFM|oizQMWcqtI{iZ~AEb+wLSG&{n`S6_lX-CIefz z4oabmqK>|~Pzr&aBPJ#wit_f6Y^yus0=omfAt-mRzz(>hF0c*6=5H!+PR~ny`!^y z1MJf4mO0U-CMSi9?kAe)aFN85_*jnJ+@;Ab%IS%cOw#!carJ@yUZaY8BLq>c3x$t` zU2fNLR}-4n^O}I$Ap~)3RF#v$X|C63;u;81G-JV}aGF~*nz-*l5Y6VvR5X}O$;ogm zDzIu^qY=f`4uXg_O{w9el9-f(B0H*m8c$r|Ac$up-y|UiA|h$tqS3@n4T5Nrbrlaz zo^qwK`V_T!w`}fPsR?S;-9AX)nH;<-Iew)zB{4@SW<0~#RL&wVJ@?FuTy}Swa<0f7 z4)wYiH)ArTY_+^}k=Ii#k9tzg`J_tQ87)iA)q2ayCT5WYsQ_wyL~&=EqzWsbhzi+VnjzJIRT7w>9XElvgMCX|U;Yk+C9iE-=68CrjH8c?hOYXxcm zhWTna+kM(@#E(DDjq{6Lzm&8*$p@3jhJUWm-FTxa_x3TkSQ6CRW0)u2z?+-TD{k8_ z5M1Pw?nd_RZF&Nj{`RrY%>ViM>bt0Ds5A=l2 zV2{^d+%muxaV1X`Z zWLc9@UzW1A4hng~XLVU`6Ia%?iOEQKmcv5L!8UKo^A45uQDF^vTZX&kl9Rr3GXuqw zLEFV?z-pTO3rCM_tJs->jAIV?IfL@egO=VbZ_Y&p4hR&0J zq%TPVPZQALDPAW;Z$rl&@TP<%N#OYcy1j=dUV&oJg<=S$I}h)?4u-#{J@BP z!ku6Q?guxhNLjaqvmd&nE^yd>#o3LP^>$*(23PHb!2Q7a+TroGVAkPI6au%& z=0)N0ZdrDOL{Vrcj=B?!z|Et2ZSi;yDSN(2E-!Q^7lB(Ub-BRWDC^Ej_EwW5-sVmc z0yi2Os!q8@@p+RdzT{360=M58l!Ela)e1{~9ko=~@*8)O5V$MNC|0=I0CUo>8o%DZ!eecv5%fjb$< zC%aC(oEsWg-TAJ16@kn8h9WQH>OR}zj<~=zZoSC8UFv2BNDzf#+K4-`2weEZ!4F#a zb!Bp%!FDR^#tZ#!+F7jV&d5z(vwu=fB>cfxD(Y^BgDaNoog1kokR+P2oSloj){ann zduP|q@vd<>G~QZ9AM~Xc!khi$ayTMfY#-LdhTDAJhmYR7$7}W{V@Wx}wM1MkU|-OP zV&+ybQIxAdqTkkt;u<1BL~8@ev9P;yO>;X@@6N&}f~$KFa93~Hig-H5L`u-L%e=Wl zo<$+!Iw?VgydZYmRXa6TzOyJ_T#O~Cd~00yL~|uPixS2KV1i1xHmE8=ca>P5&Ndw| zE#6psCO#uQ-&Xt=cVc9nI0dK)N5|b=05?~~XHmsBh%4cRN;KrEm)3^Ww#UWhPI*~8 zKAtbGMC%i&i3vIG&bRMesa`M5Q*WS2t{cQA%suyb0Cq}7SE8cnM)y`jvkA_wD1ZgOm^$fTcR2KYRntsH!Aq)>Y1 z&M1XS%;A}&V9bCd37pn5N}&=Hd?qOvGayL<=lrZva6RU7H4Sbf1uX-TByd7-NugaR z^VA^w9cDLYzNcH@RN1lu`9!%V&De$uUC|dfiPTb{U(V?yc7r?S0;g9N7nr-Q^tPig zCcEPGYQ*eDt?cve zxC$J_8JqoCkLTFW-SHJTzA^Bvf{{*RUXuln=g2+YEXFZ2+PJZBSIXTEC0CXz-`~4$oxb=d?PW zR*$7swWNdTO!J8_-Det(ZL3Jb$yQ&i@7H2$@X^*N&UZOJsw=G^xV==%yJ@6OJQ z;f(se6(jwmx`jR^5sZf? zlQD-QVD5dP&Q2oR$Vr<(i7XBbL{)0Zl6&Q7$mt?Y?-vPeRO6NfA_d`PXVEltuzz^4 z=fHvfKEVwOj*7iB-&fq7-IQq}c)`7KNq;V^e){QW*_TIJgw2 z9-(R49>JqFV1d{kVR2{*^}n<{*xpM@_X+2OEWFhJrja8fqy76UPy@DFYC!GO5k+!ajjjZZfbul>NsI|_cR)RZpfgC8p2aU!b{_*X3yAw=vgB8IyVmtYRLwc zTOA6!Dh%KZ7eSkY2&%&p;38VKAk5#hF;qBa5<}7|GjkWD&;#gHo|9e={ z>?)c$uodkrYc%V`Drv7xE#WC@XMl`_>_(f@`c{zAYsz(l2YN?Fy=l2J^}W5S9KUc& z)|Tx1p}E>oA3ZI*e>lIizdRyXvfls8jB~LXn$6tjk7(1Xt(T9l7n(0*&mNP z?H4#Bjkc`|?pN5@YgRkYMW6X4&8O8}K0E!=-G|ZNa`=WSxueR(!JZq+S^lMc;Ixd) zw)}IaJ9HNdvbKz4uMdwcELp13Jf}J5>eh#w#OXtGZzPsbN^O~$ra7=Z>|?79F8AJ4 zw<_!srwWUyYd8>(1$#oFxRP*~Ae%-TbO$UsA1horTC>zvbWeAaqx%*4>Q<0GaSF1O z6l8xal#1lqiyl{F+(Q4sb)pRYhs~Tsb?e0L%IU*AO_D;g%}j45Y4;eijr#}X47Hh%*;~V#oVaF zMPK0)rwWV6s2n+!NGcP~J2$5pbm&7+?e>vU%5a8*jCs~YuIe@@4~WwTK0z4^%8@yB zP|wz$VpyCytlS-r@IBq5v01hf`KbxJONw$ASx$Kah9!5TlxWal*Z7=bjHT6sKJ}1KJ)BmLP&*;Ay|_i3V$_aA z6lKy?A5xg!Zf`5kOy=BZWDlKO_F*UXKI)z%>8LnGsOO5%f6|pI=;nmJR9;vOYJ6jZgR|)9+}s4Q)PWvdmoY-N;HXb^H6pR+H##i5_~6pr zuK1++<>yzsyJv7jw0db>h=QSG1Up9e&n5A_U;`giw` z_Z876ELV!=x`=Zf+O@C0chtXKaPtGl`*tPkMf20biNcr2(AcP8o~s>r?qA?RJG7V+ z?b$`1kcNE16&Uvk*cR#Y%HQHP?C&}3KhQI}S8#Ezb>O(a#)INq)IU5tH0&Q4>+S6y z5$$gjcOcl7rU$L=N{uLdUip1P)cy{Q`9wFr>z(*6D8Kfu(D?T7a`pH1`v!zpR$TL7 zTfDX9r@Kz0JK!4`+r4|Bcc9-l>fc2lg&*ZT&x!P%N&GgR_@22eQ-m+e8W_?yT@ngGiz*bmEpCyjl*p#=dmzztv;vQMp zS{!)wu9P>J`Bw69zS$uIyTe=J=b4G0MQ#aL)?4N)&CGTGs&-xw&S)~;d6vrYsD8#F z4?+*`7v;gjqx|e+C{Y`i1;ujE^C0wG|0=USczMd7eZ@%-PMOfI@wBsOXL7Sgen(bm zcMj{#lAy(kavc0;-v{ZLUtTHjjC&FBa-Dc*b(i5rzuf+E)=1x6$U)%Q?saAb@Z_X7 z+vZLT0?#!U^^H^yygB8}M!0_Dwso+B?gS(7Jnsc&{UE`V?Q}0Y#bu$_mAl-@Lf|>p z(z2MwHeaW3j1fIvZ zqO?dnIGw?M<4!07&myca3uV?P6WH1-jKkOs^v%UER^T4|qREtU?8s*~a2ez_@MbIKL6ul_8?-L1o9>5f`}U+B%fa6Q9)%Z1y5|)CF!fKHuC7kkM79 zt;g)0?zjuwXj^1SRM)oKqBXp8d=qXF+jD$NZc*QUu5ZvS+IUbc+jWcPPpWA1ZqbxU zwQS`rvd^kzV{eglRyEsvi<-4+*z{Xev8!bZaFHQeWgCKvHj7r*_TZwqscPITyvQ^J zoyAOp^B${`w>KCz2H%~X*)GD<{8pd*#+m#}sW%z?gZj*cai zc;e`&5}yeBl#{8%(LN<{JQ6slYv0 z=LCH(uRd!U+21ob=pUvtdiElo<AnT4Y<2j4|i zB7oZA@G-Tzb)arnESZc=*w@DDPy;U;y!E|9zL6n12sqL^+~4oZ9TcOxA9oMgi`=sY zaJ!`etP4$zgzt2^@cJa(YfSF6xHm2KdbFID>y2~wZLOwL&gH%AlY8&-*wA4QgOlC% z|LV|s_QC4r?`5rD8k*`&#S^jkfmkA(49BAOb)8*%C8?ly)ra-s{ke$9JIjH(tf1^EiG(gv#NZ%y4wc! zbd~d8fQF-r`^J^k&ELyzVMSnz&e5RjBpeX%KrA#W8lbD5T@VP#U0 zY2Pi~9ddTH0M9guZ16KnrVfVV$&?%+o#>?|v8si!R2RlbP>xo;G-^{--#;#+S;AN} z8IPfQj3nixQ~jt41KG=Na{2zDv622tc9gxAj&cc&gJY?LQq5Dui$YVoQndUSt$OWe zpS;Rx#;q!9f2Jig)qg^XCU-~VV@}HjRUrv4+rf2*2FRE4A$=8kWZ;(m%8VP}q{KLC zE-^cFE>8j`X0|y|yJzvVI-XXKrB$``=ERl(-+{3T4GZCW#aO(XGL5`)kDi)zvT-Uj zB_eo0RLjNSFbp!S1Ky7Qz%n`H?T!nK=FRJX%&AxMY?}&Qh5ln zLpwvArtPhIeUr-X2AkdGB&+IJ=4LOga{h0ua{li*+xUx}?yhzV-b1_9!&hgPlh;q0 zg-OIB%1|mfnM(E^uG5W8ovX_^@an#<4gTAVCZ*n!yYh#tS-Ed`aB zQwDweU>W3{wwJdHr$X>yCrTN(0~OvrxKxHx7dLKY@1+%)S7b{q249#8*zXao?gjz= z`vmF0@`4V`s*fn43GBwJOK%C7(}H`m0kvN(y5bvd3I%Dw`hpgW1mlVl-IW?2SKYOyMVA4GjiMB#U_TfY#d)LSG^VA4qU>Ef zrzq3Sg1S%?xUm$ZC~FIfawf+`=F}vu-kes4XJPV}&jf{IPeE$3ve5BpYBJa5`1r9z zeoU}@`*%yOr?_ZI;QCaQiWIjbb1L!|p(5}FD@aAw6jWqXIhoAw%`Kztnpqfb?aa;@ zuccRJU9=?doGVC8HjsDvhZOncax^@K~Gzj6sNsS|Jt5qnrX`) zc4XPyh-mudeiupwpTw0{Dt9-e*bj;H_GeD3)Pp|tkWW3FR*%rps9VWUI!b?UR|9HL z+eC6^92)Fc*bcyYmcY(ae9xZ z%?QrT0jlA&%E~upS1Y7O#wr#$DA(c()@ z1eEyDcy1iU8z6oT%i)~qoDFjp?Xx&3PFL3Kj-(Q*QA@NPey*0i_*CBZY;L+nF0u7< zZabg-h%8-dTz{uHwOCp(ZAZh&h~mz6$>{@Gv)x;0rE^Xp%50F_RXK%lXOHL#QA2ws z<}|{Cjhy!g)QG~=$Sj%&eNkI)Be;gN<~K)_8pANxt}&|n5Xti@rz7rKjl7QN&BmOP zc)q3K1>%&Xr6&@J1#>2-E4y>f&@Ato@e9Qje)DcRRWw)jXU`u0d&QOg%EBN+bBkW) z4cz)HI`1yp=Jr&ci3=qc!_w2@G-f@WEsN#1>KYH4xf`JBmW6SHNvp0XX0_qp=CKPijZFIMB0Nc_~IPtg9F2(V?BfZ(f;B6 z13vnYEBFE59>H3^#)-WLee#CBfe~(C`uY!Xi>qgBbch@fkB$xd1k+yYMB9VDS=aQz zgS-5Dh6nomhlYj+`wk5V@3huAk@ldAUb1^=xPQ;^(3r2!ziV(zbpO2GiK+)J*-``5 zJ-Fprur6Y9%V{MklTw3?3F6xQef^7dkQZV9>DAz_d~o_97>~9*h|p^LM`q zZj~-}BI!Zj+HAPFM=;GxoM?K`t**7Xn1f&ICz$i4PMkgHV4L>$`^L08nFO=E%!#E3 z-D>mhq295PiqO2=iKYi#>guWXwrx}4XnR{wbEdtmcS!tol$%V9*+aO+{lLsOGoRrN zD;q4FNA~v&4&p`~(Q77K&BVXuE%B`u;`)WtBfS{^==Td%;NI!&W#d?VD{f?F zJG|w6k%f2OEUV1bTDZig;DCpPy`_JNg}%XHtBe55S1qz1cq@P{76I6pauvCo*?h+u zyJnlG_5XZ}9L}2i$Jh~XsaxwnVKdjP{KfNqHgtyQ7nJ|}krDPwu(>v^UYAy{m*%NA z(4L4J)9Ot=wWnlvAn*bWt1c7-;_?y&T@Hz^>bC`Y%id(sp@M|Ga-YrikXZ8Gv)Mj(LK5gJ`bvwCEFM{Vy>K4QVq8%Aru2B> zTj@>d?36o^3iOmb6OqpD1YyxW|2GtbNXJ9oRQNWHNFQ=1Qh{!Qt;U5#OTF+L%syX` zAxZR0g>TbH^grE6blf!Wb9dIwTwjq_Xr~JjFR;{mF-~*Y|CxknaNR>*;!QqtS#7JU z9!8*t*wR8QYuz?nFh-hqC5a~Id7m_~ln~q92~nVbRO|5C;AyO^=b+3oyyc8#D7%xP zK<}U>W$2+Eo<3t4-tSI^0)1m{w6utYAxD}0Ar=kp|HYkb1iFT_%BEmSms>X9rQ6aK|Z|G1(+{K9WpJLssl;d9= z4pkiKSBHlc$Hu>UT&`U1)c;kD4;JfGkHrG0h<_51PFbwG+4XLqn!L2MJJp5iblYOx zlTw|2TpTM$RXKLK&{8=Jjxx@1PcPQFI|KJhc#;t5`o+4AYalP)wS-7tFxKfQ1NBPz znh@z6##-qO&NeDg=|y^ru~vEm_exZHk?v!xmEJ&Je5DuZPsUp54b&@D=|wu2u^#Ep zA8i)wutTKB8S5&H;Y71w-XdMlSkD&O9ArM%ebQK6dQ^pz8mrD%hu4~=#bX)4^?Tl| zR#;D~A)l%g?b%PO$J2J6?rSFGa8x|K%z?gZj*caic;e`&5}yeBl#{8%(LN<{JQHmk+yQWq^|8adNh>V~af z8<*Fb`qT^3>c-o$?)~0Sr6L6>hv?F!MCW234P2;~tz5OtIUUidmE%fO7O1*+YpPpT z;h$ESr8(P_sU1ihNXE0Y+agncT_PC@M{mfca`$;O$nj$*{DIWCK<4+0V$L#@5;mE< zg#PM`Yrt3_+XpMkc0pphK(6nuC|9b&$4-c(`;m&$U65!MShQcPC|6#zBI$moqI4G| z+5{HuFDlBF7p+LTf37Iq1&MZnMZ4r$ZXbJZWY~7Kyl6$z-B?k&3lbdyi}vb@a^*!U zlJ1QarMn=pLtxPkRg^0)T9I`96{Wi%(J8QKV-@Afi&iAv=T?+1hI&DPg?qnHw&|jQ zZ6k(1ZGy-04+^DRJeFS|iyZE~yP{m{UAw{+$@XfY zZ0(vUp-Z`yWlPPJNVY>l+1hEcNVa~VY>PE{#eQXCzZ{j1De-N7e>fUW`uze;tC$Dm z(<*b?vb@y5R*pnsB9}U!E0*dK1J&`kq6jS1`^7Rf7HV8cC?c)p2gOodW+>F4Xa#<^ zSgy+rT;qypvL6vkcBO%=->*cIN?d3={6(>J&ApCtQgE;H9kFbUh0FC=@KWC|#L`83 zd>|H!RKlM4vskK&bgH78rzJO(e{5UAZfena3brIRilvz^PSIw>)na*~hK@w!KqYGE zjbf>yNI6x}HFQWUPt;J(Q*aISi=~+_PSG_qCYC1*{arX2UWqFD+=_7>kN7833034+ zRV-Juyt#4(*OU?Z!37*bE8na1@Hg4vtQsux z1XkK(R6&aqNjaGi*ws9Lc60+XB#QNoLbK!##!^DJXTH2rY!gak+#ggGp=QLJ#Ijv} z01gC0J@I1+nw*I$Q$iQ&9uZ4+g^8^2?I9l%%hp)5$CRW$A@uO@mn%y)EVPOGo>;O* zJx0j}Xnj&(_w$Tcwu=q5R+UBev-58fI;1letDkoM2(GcqD$G`FmAyzT+m!|-=4C6m z&bErByP6D&)CBGP;k2|C z%VKF4H|3L<`$6v|a!~cX3UiLrIK!_h5s{l!o)OErxDB7=oKp!p7bQ@+=l6&lJ*P6w z{-`{mBqrsclE~hj-K4$*(5Nm_pQGNDVlP@aZytVlKz#!npFeLNI|g_I;6XtB0)hs> z8o*k>wSemg)Tfz*&$j?>1u(#Iz@32S0A2)mG2pd;*8$!Jcstz-GV}!1aI|05=1M0Wu%}xC0OeJRk4^z{>%D3wRUY%>*g7 zr(Pre9F+9O@cRvQ1UCYFfFZ!`06*Y`fWHA`0j~u71K=%ye+Il4@JYbG10Dl>74RhB z2Y}xIeha9l^jQO74PY(c3cw~n7oeLU#a`T`W%Lk!It+L{-~qsw0AB{Y6g1)u1V08m z1z6HZuoTb^=l~o790nW%sDLTJNx*%8(|}h2UJZCF;32@j0^SGs55T7YUjuv{@Fd^| zfL{TA4XCHQvj)IAzwtKZ!WuNxK=cW2X zwbzGRP}F{P&*tZ6>4Kz9>OS>px=yH>JgdHya!{5#aY|k%#9jxsuLq!M5yw+YPLdXh zqxw#;d>7!ufR6ya2>24Az%eyCEyakrGR!o2cQqo4;TfE0TjSE z-~?a_a3A0_;MIWF03HUs4e)P(4*(tod=Bsg;9G#70saT@C&2#!7Pk;A0bBss2-pU= z8gL`vCcpu}%>Wq?0K@?az+VGi2*?6n33vtsUT7U!?1RMq22ABXu0rvo&3%DQfGQb-FZvs35cn{#?fKLD( z1AG4_E_O3)lqM4Cn^z1ndP201g9=08~I2a1w9|a2k*Xyc+Nt zz(atC0q+C6AMhE#X914`{tNIF;3t4*0lx<{E+J?FtOKkEYzAxr>;zl`7y#@890A+{ z2m=`46yQ!k8t@{(YXPqVydCfkzy|>z0(=hedB78ZZvlP=_#eO@0e=FtEG1Y3I1g|> z;7Y(%fa?I)0|o*60k;8e2Sfoez;gl51H26Ia=@DaZw9;v@c#gx0DKbgRlwH(KLGp? z@LRzD0_v9$Gyv8D)&VvHwg9dHTnmr@gMg!e+W-@QDBvEza{>1QUIut0;7x!>0Pg{O z9PkOiV}P#$o&@{=@EgEy0d>m>>H%v2YXO@8n*lok*8uhbB*3kJqksrt0&q9r9>7Zh z_X8dTyb2hc8o(8RO@MB|PQUUJ7^v;6cE<0sjQ}DBxp&F9W^;_;0}X0lxzL8c?&6pcb$Suo`eV z;0iz&pc}9kFaS6LxCOuf#{tg)+y%%0UIKUk@CLxU0PhBT1n^P7mjGV|d=K#7fL{WB z1z5O>pa!rKunKS);Br7GpbM}EuorL`a0CzrFu@{mOEAAkEIs`ZdPythblYsjG zrvdK*yc_U!z<&b%5AbKe<~0Oc06xGF-~?a_@Mgf@13nG-4B&CVe*u01_$lBIfIk8j zQSR7cz(s(I0XqPl00}S%xD9YS;0{0>a3A0_L5h85oksFu{PZ@!mjGV|JPY_e;35je zE(Yud>;W7HL;!aK?g6|U@V9`s0R9p1uYmUvq}T%+wZtCBPyYq@3E-!I-vj;tXj)Iu z3|J4?0N4W93b+PvEnpu&0^9<)6~F+;0rvx52KZ;ddjU@Xz6DsgfuIJk39uQkAK(L| z04D$s0Nw!j1mKf^rvN_zEIyB537{R&0k|FD2iylZ4R{3b9>C*({{s9G@F&29=M!86 z=mYcvB7h0N-GF-lF9qBWco6VLz&`;V0elSballsqj{&|9coOhyz;6Jx7ZB6|)&bT7 zt^#ZW^aA<-V}OHzFn|H>2HXR91t1G}81Od0hX5Z2d>QZ+zz+aF1Uw7)JzxoG0b2^V z3~)K%TEKOHn*qasARq)t0Zst!1DqyEu|Hg-DbqXg)4Kp427CnY1;7^p-v)dK@N>W~ z0Lv~USPtj_>;N1B90uG8cn;vrfWHU)JK#S6KLq>;P*3Tz2EZD?TEHg2X24FsHGq8p z32-amC}08*1w0q% z0{jl}ETCZ%K_g%-U>#r+U^Ac_uoJKsFaS6VI08@sVZceiDZpt!8t`hsYXA=c9tQj? z;C+Dq0DKDYHNe*aPXc}b_!Z#SfCZZg76O(5mIE#ZTmonZbO8DQ{eV%x7+@T53~&-~ z3XlQ31n>sHgMfbmJOcPQ;1hta0=@?LA>c=V-vOQlG;JYh23!Ex2xtSe1Ns2{fP;WT z02L4h+y%HBkO8~|@Or=lfOi1i3HTu3Lx9f#J`Z>T@GZd40RIE{Bj8Vf7OE#~5#T() z`G6|{R{^dATn`uo><1hL+y;mMCIEKfiot|nLvXa{rv4gn4W?gTss@Fu{U0iOnZ z2Jj2O(}3063Dy9v2iyQq0ONox;FW++06q!$CE!gKxDIeTzz=vn;01uU z1Kt7n2HfG0M7y%b`UfI)&kZ6HUTyRx&b=@djSK0 z!+;|I6%YoT1e^lg2RIG*JHV>|Zvp%x;GY5S1$+YVNx)YCj{&|1_;0||fM)=I2F&Xu zSO!=QxCC%1pdHWw=mqov4gn4Wjsqfq=K`Jwcm*H}cq`x`zy|;y1bhwfb-*tGPXije z2$}$w04@bw54Ztv2yhs12Otjk8^FDQ*8pA%cm(hsz-IuT1$+zeZNM)8PXp$66D$C% z0IURD0oVk%7H}Ov0t^Cf1snz30f+-$49Eap2Y5Z;?SOXxJ^=V2;8DQm0N(^W0r)B4 zXMjHd{s?H^Nzek=05}h@6>ufsTEKMx2`~t_6>t=A91sCK2XGhQ#efXpb%56c-VS&N z-~)gU0v-i?4)9ID6M&xreg^mh;E#Z2Y8zP#U<2Shf>fr4U&&5$xO^eUi-}a9-F&f@ zn#ddI*|o&iJwFyg^lQ`Vb!qi_X`XrmUHyJzTD{4q_N3Kawj3#hB#FC#=!PfXIr6hED7l@ol`FBQnFNyJj|pyHp1g;Eg; z9zI4}mgt->)&$uNJ@iIgDW9p4ld*{``@ll_T*q%kPiFb7f2J1SVp%4y&OM5R16lUj zwc0mYOFfolPp+eH^(VrUN*qB~lR=!Rqmxf+ih>5}>D!{I_O@+P;b?nXfby1QFGY~X z;vbggLj_~eL@Yu9-%5RariBMI|JImP5=rem3VR=oMly}G9a>Gw0mOQ=mVUr(?tD={ zt3H&<)X{NCe<;X#W5}`psXy`6JBdu6ntAi2`F!0@TEG|Wq=kINPO9O{by6)~JCYjs z!jZI;uNv*2H=nN=Nf+`3Bl?5YA_@aLmtG1ZmtG1Bm%cTS4f&$lKhrZ{=Xht^ zxUzjmaEBtd1{KmrKD~4Tn$M?~_$NNS#6R)rCH{#|FY!-&dWnDH(@Xpl#%GzOUCNHO zo#RTEyuGVCIIfImwb9xX-p)sB{1YFo@lSlT#y|1V8vn#cYy1-*t?^HMw8lU2(Hj56 zM{E2OAFc6Ee6+?t@zEOp#7ArV6CbVdPkgk-Kk?BT|HMaY{1YFo@lTk&$}HWvJ-DMi z6zU8GxUZ zQ;5$ebNDBi+?l0;Kxn+3pd;8G2)10Oy~$0nR^h1Dt>21~~u34RHR68{qsCH^BKPZh-So+yLjFxB<>TaRZ!x;s!YX z#0_x%i5uYj6F0#5CvJfAPuu|KpSS_eKXC(`f8qu>|HKV&{)rpl{1Z38@rkrQ9F2sd z3Rin$U$6@G0Q-*Agqc1f$@0ZQgOyV?6 zrcsIL=UA1@S~(zhwC@abb$7SPp`D@5{DyXl$o`u0MbYB1W7$k|h#X49!;^d?8G9i; zQ8LDZScU|(cnc;1StWCcB>}#1-h3{Py%-5KY?LwK zm6qZ{2=-Q_S$w8S`*ouwhM|B9ksI=dlM2bPm(y!)RZl<2#NJU%Hvby!QAx5zVYMun zOSyCwcriU9bG>+gLcpV-dr8iy#Yu*}otY_UD1LXO~%G8;YU$MNTJe*nLRm z3d^gCcfRHh=4in!ryKN^fV~25+cf>#^hSV(Z!w(-DM*PdY;8aJ_cHal#yZQ^&!@)d zN&@w_nHs)7Q^}lfNzn90_7UW&cnh;lkSi_kDH4NCoCZHC7#Y<0N|jj{4xO}bU-h8u zQ^=7;jONGFi_sju$#CRC7hi>?g=y>C*vPn5!&rDwd-uGg_pk$-;*FeD?0Yma_LC%}Cf)WkUq^3*@c1Dq8|f zTa_&_nzZfVyve;S%dJw`rd2V7V!yV{N?~Wc7GV0U6vt>b?o`j`#acy;!Pv9NOmP*p zhM2aBTB7ic;J49;fV>n%H8RpmY8yqC*IDA_pRzUz%})xD;4%v*$$LnqR`U(1 zWG-*(YE|U+kP-}Zw{8yw+Gs$G`P6XGk4Z}I8x?n#unxQghYTS79r)5opky{WzaU7N zi)UFk0^?8u=?>z^B@3 zd8U=j7U%rRktz99!Ve#Oe(tx8-GGMcjlBgrjmI z80HPt1#LUJl*i)gk>_1jf|XWY(rQULTtK7S@x$=#p$lGO_##4V>}k#!((x#a>g1y7lJW_ujhh3 zV>Qr2vk4v{rD4#z!HdG%dG~IOlGwrcW;+F zqgm_5zqIG_0P-dHrmPg@rrvip$iC6?HZL2Gioc5X_xDH)zn$P)2SB&Z}; zS>9s`%`%jjl384MIe*Mviaczz#I+4p7mX#grYI-UHI{g}5bSU9+NFiJn0~*=63roC zlNOEEKe;8OmE#6WY(psaDkQwJ_idSJd^Elx+g7DCE2Fls$yhFSW#X z4og%0x!a`j$=lVX;xMMVlzYhDg~UtOB~#G45RGk;hJv-~a&ZWQI_Dm-e@3dM)Y%kp z-Of;VXIrP-y1i|CH?71Onl|*8DA!EOgd9zgy{37N)vT2;eJ4wpa!VDs{{*=mGBhIZ zLl!n#-fSCeA#B!sQnlpep9}yit1_w|GB>^wwL#7l)|T%-npzuC~M| z3ec>*A!i+b3aOlDiDL~@N0y~2uWKxkav|8GcxQ|D3e#`rTcX$mT4f2OHJ~rXTbr~9 zhF>;Vf?I-+h+^8{TC34^A~FTYiwM86uay>2J`6whOC9sV>GINT5FixJi4wtxh1n@dnwW=c4&}BYA&$Y6L`bLmNz(s zTxSVs=smSckxOj3@fEsB@Li;KiRB%RL7V)ENQ@jLfNY-3r>W-A^pxc-hOq2OB(&1- z-oksdXO~%`mk3O&E64_lq$n5bEw3pAWltd!D~jKXw`h+pwM2Ff+pN7;bA?ir2^%Hh z`PBlmpCcQqieGJfc=@y$F^1OGnvjB78kzZ|k&jbixwS7l*}#t=BC=muWMh6*S~lje zxg`m6j(A3XO{v(b3U?c&<>Xo9#HcF8&q}IFao~FN1-PX{FQZI7YFbd9g#B)jvmToL zA97)=pt;v*4@y>0Q^;mAla*vRN!tZrP3NlQN9gV7Iczk=F1Vo(je27U%IbP4za{m? z5}L9`OG$QFv(K1KU}TJpXM-*qUddXf&r{)@TId!(pVE@U(S%W6S~}-ji^~|AEk$~( zjhPA3^jPj)+S4m6uP7OuL_{`7v52(X*p*!&Fk6Mpm?TsDuykn^ho&J}M2VV)WEL)# zAVvkwMQ7(BVX6cRg1v@2Tk)`)GVQxwMB-DnTl#YlRZ?#39D(vH&XrjfK=+Qnf^ zY3ClYP1C1s3c8R~(_CT6(6dO~6o^;TkMZ7cQ9-Q`gl$9W7g(a(g{r6af=0lG#QA%* zEfm%kt5j%1@$11@$8^PS4#{(aS*(29HEnL3LKo!*!PqrtlAA)vCR&Gz#HM2LNQg3& z*+4t$I%Opo>>8K5Xy~+Ko8dXT0q?G(l{O`c(77Q(4QeyB{cGAn?K^{=!LCsIjvZZr zc4eC-WE4}RN@m$$IC@+O`RH457}if|&}z2jUDhaU53*BF9s*7I$-QB%HgVW~yp3jY6AJB&4k&bqRiSI-FUmBaf6P(8!17LWOm+aTTWd(j z?)hfRTc(N7l6#9hPOU+{=y>+n&6FZ7C0kx;ioy;eUu&$%Xm8XWZ?e3jbodtSJ~wju zALi

&rD2ux7{u(9- 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 jWp?0PeT-^&tg}s t.CInt: pass def reset(self: MemSlab) -> t.CInt: pass class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] max_order: t.CInt free_lists: t.CUInt64T | t.CPtr lock_val: t.CVolatile | t.CInt diff --git a/Test/ArgparseTest/temp/_phase1_manifest.json b/Test/ArgparseTest/temp/_phase1_manifest.json index fc023e8..6c2c4c6 100644 --- a/Test/ArgparseTest/temp/_phase1_manifest.json +++ b/Test/ArgparseTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ArgparseTest\\App\\main.py": {"sha1": "08ea5281873244fd", "mtime": 1783074740.4694562, "size": 8086}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\argparse.py": {"sha1": "aba439b7882ad9d6", "mtime": 1783072446.3366802, "size": 16968}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashtable.py": {"sha1": "b8c66c8ff44eb874", "mtime": 1782826619.490043, "size": 9385}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ArgparseTest\\App\\main.py": {"sha1": "08ea5281873244fd", "mtime": 1783074740.4694562, "size": 8086}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\argparse.py": {"sha1": "aba439b7882ad9d6", "mtime": 1783072446.3366802, "size": 16968}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashtable.py": {"sha1": "b8c66c8ff44eb874", "mtime": 1782826619.490043, "size": 9385}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/ArgparseTest/temp/_sha1_map.txt b/Test/ArgparseTest/temp/_sha1_map.txt index 3af92f0..a87ff3e 100644 --- a/Test/ArgparseTest/temp/_sha1_map.txt +++ b/Test/ArgparseTest/temp/_sha1_map.txt @@ -1,6 +1,7 @@ 08ea5281873244fd:main.py 14d33679f7fadf1f:includes/testcheck.py 271ea3decb810db2:includes/atom.py +47775d5e50909338:includes/memhub.py 6f62fe05c5ea1ceb:includes/stdio.py 7e529fe7a078cfef:includes/w32\win32base.py 90c53dd6db8d41cf:includes/stdlib.py @@ -9,5 +10,4 @@ aba439b7882ad9d6:includes/argparse.py b8c66c8ff44eb874:includes/hashtable.py bbdf3bbd4c3bc28c:includes/w32\win32console.py c9f4be41ca1cc2b4:includes/viperio.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/AstTest/build_all.txt b/Test/AstTest/build_all.txt new file mode 100644 index 0000000..b5b7fc3 --- /dev/null +++ b/Test/AstTest/build_all.txt @@ -0,0 +1 @@ +├ INFO: [剥离] 调试段已移除 (llvm-strip) diff --git a/Test/AstTest/output/0853acdbdfc9b27c.deps.json b/Test/AstTest/output/0853acdbdfc9b27c.deps.json index 454c6d2..2a2d9e2 100644 --- a/Test/AstTest/output/0853acdbdfc9b27c.deps.json +++ b/Test/AstTest/output/0853acdbdfc9b27c.deps.json @@ -1 +1 @@ -{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/AstTest/output/0c212981c180e7fb.deps.json b/Test/AstTest/output/0c212981c180e7fb.deps.json new file mode 100644 index 0000000..25fc01d --- /dev/null +++ b/Test/AstTest/output/0c212981c180e7fb.deps.json @@ -0,0 +1 @@ +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/34548789d646f432.deps.json b/Test/AstTest/output/34548789d646f432.deps.json new file mode 100644 index 0000000..52de7b3 --- /dev/null +++ b/Test/AstTest/output/34548789d646f432.deps.json @@ -0,0 +1 @@ +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "base.tokens": "b547ac4f380bddb6", "stmts.base": "5dab8cb390496d22", "exprs.base": "5dab8cb390496d22", "astaux.base": "5dab8cb390496d22", "match.base": "5dab8cb390496d22", "lexer.tokens": "b547ac4f380bddb6", "parser.tokens": "b547ac4f380bddb6", "parser.base": "5dab8cb390496d22", "parser.exprs": "47767b5026a8ee15", "parser.stmts": "657e182b27c2a022", "parser.astaux": "4337fb260448bbe2", "parser.match": "4dd6b3f1427d1cc5", "parser.lexer": "0c212981c180e7fb"} \ No newline at end of file diff --git a/Test/AstTest/output/4337fb260448bbe2.deps.json b/Test/AstTest/output/4337fb260448bbe2.deps.json new file mode 100644 index 0000000..e5dc5ba --- /dev/null +++ b/Test/AstTest/output/4337fb260448bbe2.deps.json @@ -0,0 +1 @@ +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "base.tokens": "b547ac4f380bddb6"} \ No newline at end of file diff --git a/Test/AstTest/output/47767b5026a8ee15.deps.json b/Test/AstTest/output/47767b5026a8ee15.deps.json new file mode 100644 index 0000000..e5dc5ba --- /dev/null +++ b/Test/AstTest/output/47767b5026a8ee15.deps.json @@ -0,0 +1 @@ +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "base.tokens": "b547ac4f380bddb6"} \ No newline at end of file diff --git a/Test/AstTest/output/4dd6b3f1427d1cc5.deps.json b/Test/AstTest/output/4dd6b3f1427d1cc5.deps.json new file mode 100644 index 0000000..e5dc5ba --- /dev/null +++ b/Test/AstTest/output/4dd6b3f1427d1cc5.deps.json @@ -0,0 +1 @@ +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "base.tokens": "b547ac4f380bddb6"} \ No newline at end of file diff --git a/Test/AstTest/output/5dab8cb390496d22.deps.json b/Test/AstTest/output/5dab8cb390496d22.deps.json new file mode 100644 index 0000000..25fc01d --- /dev/null +++ b/Test/AstTest/output/5dab8cb390496d22.deps.json @@ -0,0 +1 @@ +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/6503c97dde0c79c4.deps.json b/Test/AstTest/output/6503c97dde0c79c4.deps.json new file mode 100644 index 0000000..25fc01d --- /dev/null +++ b/Test/AstTest/output/6503c97dde0c79c4.deps.json @@ -0,0 +1 @@ +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/657e182b27c2a022.deps.json b/Test/AstTest/output/657e182b27c2a022.deps.json new file mode 100644 index 0000000..e5dc5ba --- /dev/null +++ b/Test/AstTest/output/657e182b27c2a022.deps.json @@ -0,0 +1 @@ +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "base.tokens": "b547ac4f380bddb6"} \ No newline at end of file diff --git a/Test/AstTest/output/_shared_sym_includes.pickle b/Test/AstTest/output/_shared_sym_includes.pickle new file mode 100644 index 0000000000000000000000000000000000000000..a71ee149d8c3aa78a571c9626f52f76602fd51ad GIT binary patch literal 1550063 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 a?&JObpAWl#7MIRVQtmUeRd#-H=l=s#bCeVS literal 0 HcmV?d00001 diff --git a/Test/AstTest/output/b547ac4f380bddb6.deps.json b/Test/AstTest/output/b547ac4f380bddb6.deps.json new file mode 100644 index 0000000..25fc01d --- /dev/null +++ b/Test/AstTest/output/b547ac4f380bddb6.deps.json @@ -0,0 +1 @@ +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/b5a965302cded36b.deps.json b/Test/AstTest/output/b5a965302cded36b.deps.json new file mode 100644 index 0000000..25fc01d --- /dev/null +++ b/Test/AstTest/output/b5a965302cded36b.deps.json @@ -0,0 +1 @@ +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/ee52c08239684346.deps.json b/Test/AstTest/output/ee52c08239684346.deps.json new file mode 100644 index 0000000..0b6daa5 --- /dev/null +++ b/Test/AstTest/output/ee52c08239684346.deps.json @@ -0,0 +1 @@ +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "main": "0853acdbdfc9b27c", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "base.tokens": "b547ac4f380bddb6", "exprs.base": "5dab8cb390496d22", "stmts.base": "5dab8cb390496d22", "astaux.base": "5dab8cb390496d22", "match.base": "5dab8cb390496d22", "lexer.tokens": "b547ac4f380bddb6"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/temp/c3b259b4059f8668.pyi b/Test/AstTest/temp/1d40c4bdc94641c5.pyi similarity index 98% rename from Test/LLvmLiteTest/temp/c3b259b4059f8668.pyi rename to Test/AstTest/temp/1d40c4bdc94641c5.pyi index 67ff4ce..597cc07 100644 --- a/Test/LLvmLiteTest/temp/c3b259b4059f8668.pyi +++ b/Test/AstTest/temp/1d40c4bdc94641c5.pyi @@ -6,6 +6,7 @@ Module: viperlib import t, c import viperio +import stdio from stdarg import arg, va_arg TEMP_BUF_SIZE: t.CDefine = 68 diff --git a/Test/BuddyTest/temp/f3560b99de458aec.pyi b/Test/AstTest/temp/47775d5e50909338.pyi similarity index 98% rename from Test/BuddyTest/temp/f3560b99de458aec.pyi rename to Test/AstTest/temp/47775d5e50909338.pyi index 84f0bbf..0c5f2cf 100644 --- a/Test/BuddyTest/temp/f3560b99de458aec.pyi +++ b/Test/AstTest/temp/47775d5e50909338.pyi @@ -9,6 +9,7 @@ from stdint import * import string import atom import viperio +import stdio MEMHUB_ALIGN: t.CDefine = 8 MEMSLAB_MIN_BLOCK: t.CDefine = 16 @@ -59,6 +60,7 @@ class MemSlab(MemManager): def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass def reset(self: MemSlab) -> t.CInt: pass class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] max_order: t.CInt free_lists: t.CUInt64T | t.CPtr lock_val: t.CVolatile | t.CInt diff --git a/Test/AstTest/temp/_phase1_manifest.json b/Test/AstTest/temp/_phase1_manifest.json index 167d1f2..8ca5e13 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.py": {"sha1": "0853acdbdfc9b27c", "mtime": 1782892830.6294758, "size": 2439}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\__init__.py": {"sha1": "34548789d646f432", "mtime": 1784102404.6307266, "size": 3409}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\astaux.py": {"sha1": "4337fb260448bbe2", "mtime": 1784006094.7981195, "size": 11489}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\base.py": {"sha1": "5dab8cb390496d22", "mtime": 1784197698.3282094, "size": 14966}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\exprs.py": {"sha1": "47767b5026a8ee15", "mtime": 1783239758.809719, "size": 40615}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\lexer.py": {"sha1": "0c212981c180e7fb", "mtime": 1783400609.908198, "size": 23535}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\match.py": {"sha1": "4dd6b3f1427d1cc5", "mtime": 1782961799.8492737, "size": 12309}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\parser.py": {"sha1": "ee52c08239684346", "mtime": 1784102405.1933146, "size": 85445}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\stmts.py": {"sha1": "657e182b27c2a022", "mtime": 1783929993.759902, "size": 37926}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\tokens.py": {"sha1": "b547ac4f380bddb6", "mtime": 1783165480.469121, "size": 13722}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.py": {"sha1": "93c1d18e35d188d6", "mtime": 1781237231.03366, "size": 1422}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\posix.py": {"sha1": "6503c97dde0c79c4", "mtime": 1783064077.6376991, "size": 10386}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\sys.py": {"sha1": "b5a965302cded36b", "mtime": 1783569641.07535, "size": 5509}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "c3b259b4059f8668", "mtime": 1782821991.979496, "size": 56772}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.py": {"sha1": "067c78e9f121dce3", "mtime": 1781200703.5409546, "size": 4802}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\AstTest\\App\\main.py": {"sha1": "0853acdbdfc9b27c", "mtime": 1782892830.6294758, "size": 2439}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\__init__.py": {"sha1": "34548789d646f432", "mtime": 1784102404.6307266, "size": 3409}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\astaux.py": {"sha1": "4337fb260448bbe2", "mtime": 1784006094.7981195, "size": 11489}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\base.py": {"sha1": "5dab8cb390496d22", "mtime": 1784197698.3282094, "size": 14966}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\exprs.py": {"sha1": "47767b5026a8ee15", "mtime": 1783239758.809719, "size": 40615}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\lexer.py": {"sha1": "0c212981c180e7fb", "mtime": 1783400609.908198, "size": 23535}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\match.py": {"sha1": "4dd6b3f1427d1cc5", "mtime": 1782961799.8492737, "size": 12309}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\parser.py": {"sha1": "ee52c08239684346", "mtime": 1784102405.1933146, "size": 85445}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\stmts.py": {"sha1": "657e182b27c2a022", "mtime": 1783929993.759902, "size": 37926}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\tokens.py": {"sha1": "b547ac4f380bddb6", "mtime": 1783165480.469121, "size": 13722}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.py": {"sha1": "93c1d18e35d188d6", "mtime": 1781237231.03366, "size": 1422}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\posix.py": {"sha1": "6503c97dde0c79c4", "mtime": 1783064077.6376991, "size": 10386}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\sys.py": {"sha1": "b5a965302cded36b", "mtime": 1783569641.07535, "size": 5509}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "1d40c4bdc94641c5", "mtime": 1784470563.362105, "size": 56865}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.py": {"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 73d8864..d798910 100644 --- a/Test/AstTest/temp/_sha1_map.txt +++ b/Test/AstTest/temp/_sha1_map.txt @@ -1,10 +1,12 @@ 067c78e9f121dce3:includes/w32\win32process.py 0853acdbdfc9b27c:main.py 0c212981c180e7fb:includes/ast\lexer.py +1d40c4bdc94641c5:includes/viperlib.py 271ea3decb810db2:includes/atom.py 34548789d646f432:includes/ast\__init__.py 4337fb260448bbe2:includes/ast\astaux.py 47767b5026a8ee15:includes/ast\exprs.py +47775d5e50909338:includes/memhub.py 4dd6b3f1427d1cc5:includes/ast\match.py 5dab8cb390496d22:includes/ast\base.py 6503c97dde0c79c4:includes/posix.py @@ -18,8 +20,6 @@ b547ac4f380bddb6:includes/ast\tokens.py b5a965302cded36b:includes/sys.py bbdf3bbd4c3bc28c:includes/w32\win32console.py -c3b259b4059f8668:includes/viperlib.py c9f4be41ca1cc2b4:includes/viperio.py ee52c08239684346:includes/ast\parser.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/AstTest/temp/f3560b99de458aec.pyi b/Test/AstTest/temp/f3560b99de458aec.pyi deleted file mode 100644 index 84f0bbf..0000000 --- a/Test/AstTest/temp/f3560b99de458aec.pyi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self: MemBuddy) -> t.CSizeT: pass - def stats(self: MemBuddy) -> t.CSizeT: pass - def free_count(self: MemBuddy) -> t.CSizeT: pass - def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/BuddyTest/App/mbuddytest.py b/Test/BuddyTest/App/mbuddytest.py index 3cbc1d6..14084dc 100644 --- a/Test/BuddyTest/App/mbuddytest.py +++ b/Test/BuddyTest/App/mbuddytest.py @@ -33,8 +33,10 @@ def mbuddy_main() -> CInt: testcheck.section("基础 alloc/free") arena: bytes = stdlib.malloc(65536) bd: memhub.MemBuddy | CPtr = memhub.MemBuddy(arena, 65536) + s1: CSizeT = bd.stats() + fc1: CSizeT = bd.free_count() - viperlib.snprintf(buf, 256, "stats=%lu, free_count=%lu", bd.stats(), bd.free_count()) + viperlib.snprintf(buf, 256, "stats=%lu, free_count=%lu", s1, fc1) testcheck.info(buf) p1: bytes = bd.alloc(16) diff --git a/Test/BuddyTest/output/4f218f56e4225fcd.deps.json b/Test/BuddyTest/output/4f218f56e4225fcd.deps.json new file mode 100644 index 0000000..6ce44a0 --- /dev/null +++ b/Test/BuddyTest/output/4f218f56e4225fcd.deps.json @@ -0,0 +1 @@ +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "testcheck": "14d33679f7fadf1f", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "main": "5e430ae5bf7af3a2", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/BuddyTest/output/5a3d93d7860d5dc0.deps.json b/Test/BuddyTest/output/5a3d93d7860d5dc0.deps.json deleted file mode 100644 index f4452bd..0000000 --- a/Test/BuddyTest/output/5a3d93d7860d5dc0.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "main": "5e430ae5bf7af3a2", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/BuddyTest/output/5e430ae5bf7af3a2.deps.json b/Test/BuddyTest/output/5e430ae5bf7af3a2.deps.json index cace671..de79246 100644 --- a/Test/BuddyTest/output/5e430ae5bf7af3a2.deps.json +++ b/Test/BuddyTest/output/5e430ae5bf7af3a2.deps.json @@ -1 +1 @@ -{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "mbuddytest": "5a3d93d7860d5dc0", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "testcheck": "14d33679f7fadf1f", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "mbuddytest": "4f218f56e4225fcd", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/AstTest/temp/c3b259b4059f8668.pyi b/Test/BuddyTest/temp/1d40c4bdc94641c5.pyi similarity index 98% rename from Test/AstTest/temp/c3b259b4059f8668.pyi rename to Test/BuddyTest/temp/1d40c4bdc94641c5.pyi index 67ff4ce..597cc07 100644 --- a/Test/AstTest/temp/c3b259b4059f8668.pyi +++ b/Test/BuddyTest/temp/1d40c4bdc94641c5.pyi @@ -6,6 +6,7 @@ Module: viperlib import t, c import viperio +import stdio from stdarg import arg, va_arg TEMP_BUF_SIZE: t.CDefine = 68 diff --git a/Test/DictTest/temp/f3560b99de458aec.pyi b/Test/BuddyTest/temp/47775d5e50909338.pyi similarity index 98% rename from Test/DictTest/temp/f3560b99de458aec.pyi rename to Test/BuddyTest/temp/47775d5e50909338.pyi index 84f0bbf..0c5f2cf 100644 --- a/Test/DictTest/temp/f3560b99de458aec.pyi +++ b/Test/BuddyTest/temp/47775d5e50909338.pyi @@ -9,6 +9,7 @@ from stdint import * import string import atom import viperio +import stdio MEMHUB_ALIGN: t.CDefine = 8 MEMSLAB_MIN_BLOCK: t.CDefine = 16 @@ -59,6 +60,7 @@ class MemSlab(MemManager): def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass def reset(self: MemSlab) -> t.CInt: pass class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] max_order: t.CInt free_lists: t.CUInt64T | t.CPtr lock_val: t.CVolatile | t.CInt diff --git a/.transpyc_cache/48352329f97d0858.doc.json b/Test/BuddyTest/temp/4f218f56e4225fcd.doc.json similarity index 100% rename from .transpyc_cache/48352329f97d0858.doc.json rename to Test/BuddyTest/temp/4f218f56e4225fcd.doc.json diff --git a/Test/BuddyTest/temp/5a3d93d7860d5dc0.pyi b/Test/BuddyTest/temp/4f218f56e4225fcd.pyi similarity index 96% rename from Test/BuddyTest/temp/5a3d93d7860d5dc0.pyi rename to Test/BuddyTest/temp/4f218f56e4225fcd.pyi index 3de0cb1..4818193 100644 --- a/Test/BuddyTest/temp/5a3d93d7860d5dc0.pyi +++ b/Test/BuddyTest/temp/4f218f56e4225fcd.pyi @@ -9,6 +9,7 @@ from t import CInt, CPtr, CChar, CUInt8T, CUInt32T, CUInt64T, CSizeT import viperlib import viperio import stdlib +import stdio import memhub import string import testcheck diff --git a/Test/BuddyTest/temp/_phase1_manifest.json b/Test/BuddyTest/temp/_phase1_manifest.json index b1687f0..4397846 100644 --- a/Test/BuddyTest/temp/_phase1_manifest.json +++ b/Test/BuddyTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\BuddyTest\\App\\main.py": {"sha1": "5e430ae5bf7af3a2", "mtime": 1782224154.785576, "size": 260}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\BuddyTest\\App\\mbuddytest.py": {"sha1": "5a3d93d7860d5dc0", "mtime": 1784377125.6382487, "size": 19514}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "c3b259b4059f8668", "mtime": 1782821991.979496, "size": 56772}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.py": {"sha1": "067c78e9f121dce3", "mtime": 1781200703.5409546, "size": 4802}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32sync.py": {"sha1": "06f53cc594b4ac6c", "mtime": 1782297500.2581685, "size": 4726}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\BuddyTest\\App\\main.py": {"sha1": "5e430ae5bf7af3a2", "mtime": 1782224154.785576, "size": 260}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\BuddyTest\\App\\mbuddytest.py": {"sha1": "4f218f56e4225fcd", "mtime": 1784470903.9319332, "size": 19898}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "1d40c4bdc94641c5", "mtime": 1784470563.362105, "size": 56865}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.py": {"sha1": "067c78e9f121dce3", "mtime": 1781200703.5409546, "size": 4802}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32sync.py": {"sha1": "06f53cc594b4ac6c", "mtime": 1782297500.2581685, "size": 4726}} \ No newline at end of file diff --git a/Test/BuddyTest/temp/_sha1_map.txt b/Test/BuddyTest/temp/_sha1_map.txt index b1968c0..fba4517 100644 --- a/Test/BuddyTest/temp/_sha1_map.txt +++ b/Test/BuddyTest/temp/_sha1_map.txt @@ -1,8 +1,10 @@ 067c78e9f121dce3:includes/w32\win32process.py 06f53cc594b4ac6c:includes/w32\win32sync.py 14d33679f7fadf1f:includes/testcheck.py +1d40c4bdc94641c5:includes/viperlib.py 271ea3decb810db2:includes/atom.py -5a3d93d7860d5dc0:mbuddytest.py +47775d5e50909338:includes/memhub.py +4f218f56e4225fcd:mbuddytest.py 5e430ae5bf7af3a2:main.py 6f62fe05c5ea1ceb:includes/stdio.py 71e0a3ffcb3ebfad:includes/stdarg.py @@ -10,7 +12,5 @@ 90c53dd6db8d41cf:includes/stdlib.py 9474791561654346:includes/string.py bbdf3bbd4c3bc28c:includes/w32\win32console.py -c3b259b4059f8668:includes/viperlib.py c9f4be41ca1cc2b4:includes/viperio.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/BuddyTest/temp/_shared_sym.json b/Test/BuddyTest/temp/_shared_sym.json index 858933dad5603864c24f4f903185acb9828d3095..a1082a07210254584b3dc5a507c32674f6d6ff71 100644 GIT binary patch literal 423192 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 literal 426400 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 diff --git a/Test/BuiltinDecoratorTest/temp/_phase1_manifest.json b/Test/BuiltinDecoratorTest/temp/_phase1_manifest.json index 16da402..cee011d 100644 --- a/Test/BuiltinDecoratorTest/temp/_phase1_manifest.json +++ b/Test/BuiltinDecoratorTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\BuiltinDecoratorTest\\App\\main.py": {"sha1": "e3ac223bdaf94a0c", "mtime": 1782110312.4550886, "size": 8488}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\BuiltinDecoratorTest\\App\\main.py": {"sha1": "e3ac223bdaf94a0c", "mtime": 1782110312.4550886, "size": 8488}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/CPythonTest/temp/_shared_sym.json b/Test/CPythonTest/temp/_shared_sym.json index 1ac55d9181ecc80cfacec69bbb55b51122ab61a0..6d8b37154ac2b7f8ba38dec0bb7b1506be85bb6d 100644 GIT binary patch delta 2926 zcmZ{kYiyHM7{~YaUC(oxp}WCo>DXX)1PGM2>(wQOaS;Pb*zgjgr1tU__pX<*wsT>! zOxA5FjQP0SzKxgeF9$Ci+FZFh7bRqF?+VAx7heZS6cSgoM85&@WB@&+q@- z&N;nvqwTvZZDZroxM^G-uO2slPAt=P-asJWi~AIxE944wbOg~hO;+>ji_;{?tM5;f z#k_ibnr!CP_8H>g)txhB4X>V=Av=UhM*_ThbxyRI(wyKv9C;FYxCBQ|0-yEBA0SxwG6@8iEGB{AGJGIG zCszyaNU&0{pt1y3Tx$Xw@8~rFf2r`437+QJZ8F%gL56ldv`K~yym~^0Rf2ZT%V5L5 zWf0uiwrUW(D76|k@!7u?vKBL}<=L0b!cO|ktdk37XyqNZ%;4qKHX=HV2myy+&J1C1 z^BjRjKF^N?mJ1xW2rR@FfQ5osE3j;@05tL0-U1N3>1!bBbymm*DXir44hYpxC^&fb zH!A9(*#b_%ENd*V2=f-vEGNW{Pno0muLUkUgYLN374t^pv5?pAb;o?pok}ho@7>v( z3&%3~bWT&x@2;vUSdARs4#EnzQFRVx`v-c{xrC-((rq>)fSn<5)p6=@2)a16_Y!)fJ>a9C5H$m`XO5Ps!hZ?~oon*GMm z1AlLtP0kW@?$M_k@I_iv?8Svs zP|Gi4B=yLV`ZN8S+O6-q$(Rzar(j8kQN6#3SW<}$XlhpPkU!~`G%S1cA?K6<{g8hW zdv`N0H$m}Y8qORhe;u!4ADsFO8ZT$)_Ab1+kR-@;Pe zLn;$D=cB4)q^fEwzH6pdqW>HlLH97&O(!RCu8TV4hI|xn5NeegFavZ6{<)4WkQ$2R zbu`~zMUrb;~~ zX{vZ3N!LF_)$OXFUf4xH)T!w#edZzRwV?{?^bkF#Q{BTARB^O|njNKaor=6oM<2>n zo~WSK@1^kvQT*lrU1^f{VSR!+@L+*L(O#h22uqTDucGZAj#eaTKsqSlugB<$c5lMt z4kmnl#q06-60x|pM=R9%6mN$sqWGeTKqS!-@!-YN)Veiam={Y%vf1!pE)q>D+Cgo( zYI%oURq|XWo@YWq?%MvmcBs%88^|y$bx$?YYWIG2nR@nP%~|@biGBZkmToe2???Mb GwC8^}2}O4R delta 6368 zcmb7IYj9ju9dDB6-djLPZD|{5;Zj?t)Uv(rhkTG4MtlGw;%kuEx%ZrN(@i$JA-h{B zs2d=fLT*X1H{8A`6#BB#q}9^2Y0}~cKOm0sS!W#4+}+Iwr{m~2PG9)H_iWO1?`0e_ znaS?|{2#ybf1mvJ^ynUc@r8Y-aHNiGbOcd3y2=d!6G55x) z-?_vXaq9j{%&Iu`gGf ze{hA_5a-=>g^}abKV4z8IQ8zUj2NfxxXLW^pShYOaQ-TDM_iz3IlI)qdX-tVxY64w z{~AavZf~Uf-@V3cOyKU{!!7m8*BHh>c`eBif4#<};`aHEnT|NM@G+yusS_V3x##M~ z2}v>X1@^I+f{}e}T^G}OcHlA7jfoAs0ao$H;*gO2sw6JUAM-R5J55%c^Ti6W=aE`aI?fySn*o4Ggy^u{P ztFDFYgK_P@PUKzG%HAL6{eEjAlI~VOGS0MeMsN1If0enzkaSrekQDk?JJH zG|qHpifNQD<%(X{@n;t-a91?)`5zhVJz^s@wWZM8m&p|!uj^ze*51hA-)FKyTa5ag z$!>~K$A4$C=Y=*$BFJ_OM6e{Nx{CZgUF;gQk($b83dK}9og+`D(_YtSOQH2fCjUJN zYWL=DcBR&MG%KIU!OcOzeLo6s-N@xX*&T+f5z(vN>}_%C>27wl(#T8gSiQX@hrOs4|9wCjt=g&rX~J{hq-q8x!w1_#NExW?3#pYe*N~YsqoLruJh5K zl5KVU96mki`S*8lD_T~SZ2v=sTd@#6SpHN0VORMcDD(%`bBo6(IyiDy)BEE*;;feD z_Xqv-z1*7dBMx`x!sdSu`r>o!9Sh$d1cdi@bE}!fEh>&JT**XXi8Dvh@b$Z*Jv&5$e499QT#^Y^a~R zrx|R%($D=kJpa^-TzUTavB4YETpZ-^+_B&5a_d3Z|ELH6-gCL{GN56_&Kps0^>5H{ z-siS7JtBxEGG)`Ui0+t<=>5oZ+XM+4vTV!9QFRfiHYGyCQ*0z+Qnb-GMe?C$1 zPtP24Yh%v`?%A22Y`-|^QewGw4t!91p=?r zP|BvL8yFJ9(oD%VrAS;x*w6*hu&uI4bj?PT3g$(DsDdLaD$*%Y5p~rO6{I>gab%5R zQWU`v4adZY7^-EekvLpWm1N0uOdW@SDbYk05mdz#ELD^dO;5$K4HHy2s#Uf{L872k ziDfG0Ta*Is@B4A<{43oHQ# zwNAvu7AVZ+uT^vc?7UMf00wY_#>M|IS%JNm-w758~6S3P+y*gq7EP6ZQ(!@>k$7!$)XG*h>A z3sSQj!8H{bLk%Irv?SAt?qCRth80y&H7r0O({eLJ1rk;kE$kpos{6&zh$P5J)hwc5 z_(;VqQ`c36m_$ZUgLR!mz=nfu%QQt>wiVzkyKSbV5Nsf<5KBc0qLpFVI+mc_S;SNv zL86V{5@b;}p#%iUR7E8!7cLzx47pOT=dP=q`AK!hPlMsH+KW?_(V^I;B~(`aU>Yt1*rprD#{fqOI4?H z`7|a7y85O$6O~^csO)>G{J(4j+x7Xo*%9rIaeD!Fjon)wbK^C zwfg$3t)UmJt)8n>oP4$n-SdfJs-t7G)wh9veS19s7K(`Scf{8Qm@jLNV!^-g8`TVA~p)D@J| zdB+J?ayLC+2fYm3s^i;V%@vKu*Yls}AK_uz*TxRfv+(O|Q;e8oDUoZvQs%(lYD4UaQ<^^~^!2OHS>BVG#^Yfh2W0jY-(RY#lZN z*dq{!;|Z0kg|Y1JV?v?U#S8WgN7DRf>VQ4uxlSVUBzcnP$cGIVB| zAB7x!;-*VRxct<+GIc)>B{$Q*r*>g5%!+U43YpFv!4R2s_smO}wWZnYxUNgot|wa* zCQ*BQzP9rJr%qEmm!FSKQzCWOvvzG3P|#U3hXTX%xzlr3)&hmrbpd{TcBJm9M)>RGI)Bx zSNEQ(ymF{^erGT^!G~PskZrEEmPOeyhr6egEoRc;g;WYXIJjr}%rPGB$k#6Hubw*| zuA&rPFX?mmihn4$;8Rr5j&s|M3QIYGJyqH z#F|>)|1d6#reF%TEbGLy3C(9BDHd3<3|K=IRiyKV$QFVr1Wy*nR4jpRA4E}9OR@o# ziA9*05henAtEh>RZo{hT)W?-0X;_yu4Ji(6;Ziu**10$Lk#bMINa_!q+aH5%ut<_$ zI5*S7`V(h)oi+Z(X`jcJ>WdVnXCFB$>QeJwIp3?lpup>nVoC`9V}(t4oe2V+y-=$N z-UhJG8L|$GGT<(`w?t;sTZ)#QCEhUHq-E2$9{0Kyy$Js^U>?rnQkMAd?dDeA(mJ$Y eK}7CihWy%Y?l;Y?L;lzv?!jjG{+~VEWB&ydx4Q2D diff --git a/Test/DictTest/output/20cd49775c100a38.deps.json b/Test/DictTest/output/20cd49775c100a38.deps.json new file mode 100644 index 0000000..03a20ec --- /dev/null +++ b/Test/DictTest/output/20cd49775c100a38.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "json.__init__": "57288496f7c2d1ad", "__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "main": "b3c2b99b6f3be4c7", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "_dict": "e3e7b6de8d7d8b03", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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 new file mode 100644 index 0000000..03a20ec --- /dev/null +++ b/Test/DictTest/output/240a9a4157959a9f.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "json.__init__": "57288496f7c2d1ad", "__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "main": "b3c2b99b6f3be4c7", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "_dict": "e3e7b6de8d7d8b03", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/57288496f7c2d1ad.deps.json b/Test/DictTest/output/57288496f7c2d1ad.deps.json new file mode 100644 index 0000000..03a20ec --- /dev/null +++ b/Test/DictTest/output/57288496f7c2d1ad.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "json.__init__": "57288496f7c2d1ad", "__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "main": "b3c2b99b6f3be4c7", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "_dict": "e3e7b6de8d7d8b03", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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 new file mode 100644 index 0000000000000000000000000000000000000000..8d2ffa67b44b3e6f11f639f998dda7702062ba35 GIT binary patch literal 652063 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
~ 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�B`dd!`6ZG% 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 GoBtnI%Hi$+ literal 0 HcmV?d00001 diff --git a/Test/DictTest/output/b3c2b99b6f3be4c7.deps.json b/Test/DictTest/output/b3c2b99b6f3be4c7.deps.json index 8dbb9c7..f9fb48f 100644 --- a/Test/DictTest/output/b3c2b99b6f3be4c7.deps.json +++ b/Test/DictTest/output/b3c2b99b6f3be4c7.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "json.__init__": "57288496f7c2d1ad", "__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "_dict": "e3e7b6de8d7d8b03", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "json.__init__": "57288496f7c2d1ad", "__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "_dict": "e3e7b6de8d7d8b03", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/DictTest/output/e3e7b6de8d7d8b03.deps.json b/Test/DictTest/output/e3e7b6de8d7d8b03.deps.json new file mode 100644 index 0000000..03a20ec --- /dev/null +++ b/Test/DictTest/output/e3e7b6de8d7d8b03.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "json.__init__": "57288496f7c2d1ad", "__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "main": "b3c2b99b6f3be4c7", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "_dict": "e3e7b6de8d7d8b03", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/ArgparseTest/temp/f3560b99de458aec.pyi b/Test/DictTest/temp/47775d5e50909338.pyi similarity index 98% rename from Test/ArgparseTest/temp/f3560b99de458aec.pyi rename to Test/DictTest/temp/47775d5e50909338.pyi index 84f0bbf..0c5f2cf 100644 --- a/Test/ArgparseTest/temp/f3560b99de458aec.pyi +++ b/Test/DictTest/temp/47775d5e50909338.pyi @@ -9,6 +9,7 @@ from stdint import * import string import atom import viperio +import stdio MEMHUB_ALIGN: t.CDefine = 8 MEMSLAB_MIN_BLOCK: t.CDefine = 16 @@ -59,6 +60,7 @@ class MemSlab(MemManager): def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass def reset(self: MemSlab) -> t.CInt: pass class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] max_order: t.CInt free_lists: t.CUInt64T | t.CPtr lock_val: t.CVolatile | t.CInt diff --git a/Test/DictTest/temp/_phase1_manifest.json b/Test/DictTest/temp/_phase1_manifest.json index caf5f35..c160d31 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.py": {"sha1": "b3c2b99b6f3be4c7", "mtime": 1782827868.8446941, "size": 8245}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_dict.py": {"sha1": "e3e7b6de8d7d8b03", "mtime": 1782919714.6072268, "size": 12055}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__init__.py": {"sha1": "57288496f7c2d1ad", "mtime": 1783239811.8873823, "size": 7653}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__parser.py": {"sha1": "240a9a4157959a9f", "mtime": 1782826918.100951, "size": 7517}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__writer.py": {"sha1": "20cd49775c100a38", "mtime": 1782826901.8906734, "size": 3784}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\DictTest\\App\\main.py": {"sha1": "b3c2b99b6f3be4c7", "mtime": 1782827868.8446941, "size": 8245}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_dict.py": {"sha1": "e3e7b6de8d7d8b03", "mtime": 1782919714.6072268, "size": 12055}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__init__.py": {"sha1": "57288496f7c2d1ad", "mtime": 1783239811.8873823, "size": 7653}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__parser.py": {"sha1": "240a9a4157959a9f", "mtime": 1782826918.100951, "size": 7517}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__writer.py": {"sha1": "20cd49775c100a38", "mtime": 1782826901.8906734, "size": 3784}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"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 8c70a57..57bafa1 100644 --- a/Test/DictTest/temp/_sha1_map.txt +++ b/Test/DictTest/temp/_sha1_map.txt @@ -2,6 +2,7 @@ 20cd49775c100a38:includes/json\__writer.py 240a9a4157959a9f:includes/json\__parser.py 271ea3decb810db2:includes/atom.py +47775d5e50909338:includes/memhub.py 57288496f7c2d1ad:includes/json\__init__.py 6f62fe05c5ea1ceb:includes/stdio.py 7e529fe7a078cfef:includes/w32\win32base.py @@ -11,5 +12,4 @@ b3c2b99b6f3be4c7:main.py bbdf3bbd4c3bc28c:includes/w32\win32console.py c9f4be41ca1cc2b4:includes/viperio.py e3e7b6de8d7d8b03:includes/_dict.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/DocTest/output/14d33679f7fadf1f.deps.json b/Test/DocTest/output/14d33679f7fadf1f.deps.json new file mode 100644 index 0000000..d48ce31 --- /dev/null +++ b/Test/DocTest/output/14d33679f7fadf1f.deps.json @@ -0,0 +1 @@ +{"main": "14a9b576ab5d21c9", "testcheck": "14d33679f7fadf1f", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "remote": "f26d7266c4f8762b", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/DocTest/output/7e529fe7a078cfef.deps.json b/Test/DocTest/output/7e529fe7a078cfef.deps.json new file mode 100644 index 0000000..d48ce31 --- /dev/null +++ b/Test/DocTest/output/7e529fe7a078cfef.deps.json @@ -0,0 +1 @@ +{"main": "14a9b576ab5d21c9", "testcheck": "14d33679f7fadf1f", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "remote": "f26d7266c4f8762b", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/DocTest/output/9474791561654346.deps.json b/Test/DocTest/output/9474791561654346.deps.json new file mode 100644 index 0000000..d48ce31 --- /dev/null +++ b/Test/DocTest/output/9474791561654346.deps.json @@ -0,0 +1 @@ +{"main": "14a9b576ab5d21c9", "testcheck": "14d33679f7fadf1f", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "remote": "f26d7266c4f8762b", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/DocTest/output/_shared_sym_includes.pickle b/Test/DocTest/output/_shared_sym_includes.pickle new file mode 100644 index 0000000000000000000000000000000000000000..b58af20b9ea5b0d4b9796ec8d5408d6bc164119c GIT binary patch literal 307251 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 literal 0 HcmV?d00001 diff --git a/Test/DocTest/output/bbdf3bbd4c3bc28c.deps.json b/Test/DocTest/output/bbdf3bbd4c3bc28c.deps.json new file mode 100644 index 0000000..d48ce31 --- /dev/null +++ b/Test/DocTest/output/bbdf3bbd4c3bc28c.deps.json @@ -0,0 +1 @@ +{"main": "14a9b576ab5d21c9", "testcheck": "14d33679f7fadf1f", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "remote": "f26d7266c4f8762b", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/DocTest/temp/_shared_sym.json b/Test/DocTest/temp/_shared_sym.json index 7a82d908218bffdb464caf8dee5994b421bd1bbe..f15de3e0fe6805c4a3fab92fc747ecb8abe19fe0 100644 GIT binary patch delta 2989 zcmZ`*ZERCj7;f)-wyx{G8Qn*>>_eCv!LGL-x4jPb;W9eJ;W9~#iA!yJZ$~d(+ue3! z8ri^r!MGtyE*um2AxsdHfzgCCMB_+|Xf!JEhkrEUi26rVP!bK9ALnkmxO)zN?!9^L z^E~hKzUSQ2zV&s*jjI(051S8j8raLce!t%*`DC99e zeW6VJ895ZrhEl2|tD17nZ8FW&7|AD=;9<%ZcbLIVqX*2;PNVOdp_NAOm>F^LgB**i zalDhn+O~Mn22;RzAzuV`2HGEvyalrUg3aYIiNLg+{#vtc^EOz}hw!3t$KBFl;4* zYp}v*#!wrra37wuLL)6ZZ)NSl@2sro2MeJJ?L%O$K1e=1?+Yb#}bfZIyRC;MC}<0QuC*@}0FB4;iG#Tnow zuPf?}NKw%%c=@Q$IU;96QhX$y4MkJq$*iW_@R75o+Q`H6ozTV`QRhS^t;Untn5O)o z%W8}S{AVY)$|!Vu7xYkQ?pPPR=PDC~fM0aULR6GvQY0+nC(~qP6nZ=j8)@`X8oYv$ z>rBKmS!XB|Pm(S}nvxFa9U57>^8~NCTu(X>C|jVlI;@%;>8-bI+2xQh8oq1G}*UJez?=j}cuRM>HXa$)APGde#~v z1%I1?7REqsXP~m2W^cx$jUGH zQ5$j~+ju05=Ypum?oe(Md{>F`tA2ARzv;IMytoWC?040;svkA={Hv>3r*jZnYiF?sgpg+8_4?To9Z!cb&1_uG~atgH~vDak6eX*#7ubf5>+&7OZaq2Z>7kRHNL_B<0 zibVytPtXo%Gi4E;ce_14e@vDGF-Zulf}W^5B8m|q=84GOsQ=^ws>R6#)Y37NKai5f z6S6h~J&*0tl+I3*>G;fssG7=TLZd6MLKE3=gfL#xT9vbXWD}m#FP)wE^9A$)cdieg Pynuq-**<*z0vh@Uk%25m delta 5788 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 diff --git a/Test/FakeDuckTest/output/bbdf3bbd4c3bc28c.deps.json b/Test/FakeDuckTest/output/bbdf3bbd4c3bc28c.deps.json deleted file mode 100644 index ee64a9a..0000000 --- a/Test/FakeDuckTest/output/bbdf3bbd4c3bc28c.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "memhub": "41c5ddb425c4eae0", "main": "48352329f97d0858", "_withcontent": "5b2e220c5bae60c9", "_list": "622aeae2531892d4", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "_fakeduck": "ff46ba125b2759f7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/c9f4be41ca1cc2b4.deps.json b/Test/FakeDuckTest/output/c9f4be41ca1cc2b4.deps.json deleted file mode 100644 index ee64a9a..0000000 --- a/Test/FakeDuckTest/output/c9f4be41ca1cc2b4.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "memhub": "41c5ddb425c4eae0", "main": "48352329f97d0858", "_withcontent": "5b2e220c5bae60c9", "_list": "622aeae2531892d4", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "_fakeduck": "ff46ba125b2759f7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/f6b51804a0ba8ff0.deps.json b/Test/FakeDuckTest/output/f6b51804a0ba8ff0.deps.json deleted file mode 100644 index ee64a9a..0000000 --- a/Test/FakeDuckTest/output/f6b51804a0ba8ff0.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "memhub": "41c5ddb425c4eae0", "main": "48352329f97d0858", "_withcontent": "5b2e220c5bae60c9", "_list": "622aeae2531892d4", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "_fakeduck": "ff46ba125b2759f7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/ff46ba125b2759f7.deps.json b/Test/FakeDuckTest/output/ff46ba125b2759f7.deps.json deleted file mode 100644 index ee64a9a..0000000 --- a/Test/FakeDuckTest/output/ff46ba125b2759f7.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "memhub": "41c5ddb425c4eae0", "main": "48352329f97d0858", "_withcontent": "5b2e220c5bae60c9", "_list": "622aeae2531892d4", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "_fakeduck": "ff46ba125b2759f7", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/temp/47775d5e50909338.pyi b/Test/FakeDuckTest/temp/47775d5e50909338.pyi new file mode 100644 index 0000000..0c5f2cf --- /dev/null +++ b/Test/FakeDuckTest/temp/47775d5e50909338.pyi @@ -0,0 +1,88 @@ +""" +Auto-generated Python stub file from memhub.py +Module: memhub +""" + + +import t, c +from stdint import * +import string +import atom +import viperio +import stdio + +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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/FakeDuckTest/temp/622aeae2531892d4.pyi b/Test/FakeDuckTest/temp/622aeae2531892d4.pyi deleted file mode 100644 index 894d2b0..0000000 --- a/Test/FakeDuckTest/temp/622aeae2531892d4.pyi +++ /dev/null @@ -1,31 +0,0 @@ -""" -Auto-generated Python stub file from _list.py -Module: _list -""" - - -import t, c -import memhub -import string -import stdio -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) -> t.CInt: pass - def __init__(self: list, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT) -> 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/ForAndLoopTest/temp/f2ecbf8ced20575c.pyi b/Test/FakeDuckTest/temp/668790e6c9efdbae.pyi similarity index 100% rename from Test/ForAndLoopTest/temp/f2ecbf8ced20575c.pyi rename to Test/FakeDuckTest/temp/668790e6c9efdbae.pyi diff --git a/Test/FakeDuckTest/temp/ff46ba125b2759f7.pyi b/Test/FakeDuckTest/temp/79b337e5ea8951e2.pyi similarity index 100% rename from Test/FakeDuckTest/temp/ff46ba125b2759f7.pyi rename to Test/FakeDuckTest/temp/79b337e5ea8951e2.pyi diff --git a/Test/FakeDuckTest/temp/_phase1_manifest.json b/Test/FakeDuckTest/temp/_phase1_manifest.json index 39a4baa..3de3eeb 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.py": {"sha1": "48352329f97d0858", "mtime": 1782827899.6785, "size": 12227}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_fakeduck.py": {"sha1": "ff46ba125b2759f7", "mtime": 1784432495.7714632, "size": 10112}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.py": {"sha1": "622aeae2531892d4", "mtime": 1784432488.1932082, "size": 3393}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_withcontent.py": {"sha1": "5b2e220c5bae60c9", "mtime": 1782475015.06193, "size": 2039}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "41c5ddb425c4eae0", "mtime": 1784432613.5147207, "size": 20021}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.py": {"sha1": "067c78e9f121dce3", "mtime": 1781200703.5409546, "size": 4802}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\FakeDuckTest\\App\\main.py": {"sha1": "48352329f97d0858", "mtime": 1784436314.871797, "size": 12227}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_fakeduck.py": {"sha1": "79b337e5ea8951e2", "mtime": 1784451276.719043, "size": 9717}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.py": {"sha1": "668790e6c9efdbae", "mtime": 1784451276.719043, "size": 3219}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_withcontent.py": {"sha1": "5b2e220c5bae60c9", "mtime": 1782475015.06193, "size": 2039}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.py": {"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 867aa4f..19f2de1 100644 --- a/Test/FakeDuckTest/temp/_sha1_map.txt +++ b/Test/FakeDuckTest/temp/_sha1_map.txt @@ -1,15 +1,15 @@ 067c78e9f121dce3:includes/w32\win32process.py 14d33679f7fadf1f:includes/testcheck.py 271ea3decb810db2:includes/atom.py -41c5ddb425c4eae0:includes/memhub.py +47775d5e50909338:includes/memhub.py 48352329f97d0858:main.py 5b2e220c5bae60c9:includes/_withcontent.py -622aeae2531892d4:includes/_list.py +668790e6c9efdbae:includes/_list.py 6f62fe05c5ea1ceb:includes/stdio.py +79b337e5ea8951e2:includes/_fakeduck.py 7e529fe7a078cfef:includes/w32\win32base.py 90c53dd6db8d41cf:includes/stdlib.py 9474791561654346:includes/string.py bbdf3bbd4c3bc28c:includes/w32\win32console.py c9f4be41ca1cc2b4:includes/viperio.py f5522571bcce7bcb:includes/stdint.py -ff46ba125b2759f7:includes/_fakeduck.py diff --git a/Test/ForAndLoopTest/output/6deb1a24b47f47fc.deps.json b/Test/ForAndLoopTest/output/6deb1a24b47f47fc.deps.json index e9f75f1..6ea9ae7 100644 --- a/Test/ForAndLoopTest/output/6deb1a24b47f47fc.deps.json +++ b/Test/ForAndLoopTest/output/6deb1a24b47f47fc.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "stdio": "6f62fe05c5ea1ceb", "_fakeduck": "79b337e5ea8951e2", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "_list": "f2ecbf8ced20575c", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "_list": "668790e6c9efdbae", "stdio": "6f62fe05c5ea1ceb", "_fakeduck": "79b337e5ea8951e2", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/ForAndLoopTest/temp/47775d5e50909338.pyi b/Test/ForAndLoopTest/temp/47775d5e50909338.pyi new file mode 100644 index 0000000..0c5f2cf --- /dev/null +++ b/Test/ForAndLoopTest/temp/47775d5e50909338.pyi @@ -0,0 +1,88 @@ +""" +Auto-generated Python stub file from memhub.py +Module: memhub +""" + + +import t, c +from stdint import * +import string +import atom +import viperio +import stdio + +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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/ListTest/temp/f2ecbf8ced20575c.pyi b/Test/ForAndLoopTest/temp/668790e6c9efdbae.pyi similarity index 100% rename from Test/ListTest/temp/f2ecbf8ced20575c.pyi rename to Test/ForAndLoopTest/temp/668790e6c9efdbae.pyi diff --git a/Test/ForAndLoopTest/temp/_phase1_manifest.json b/Test/ForAndLoopTest/temp/_phase1_manifest.json index 79bf4c2..0866c6a 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.py": {"sha1": "6deb1a24b47f47fc", "mtime": 1782827984.6760156, "size": 4951}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_fakeduck.py": {"sha1": "79b337e5ea8951e2", "mtime": 1782826620.7129657, "size": 9717}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.py": {"sha1": "f2ecbf8ced20575c", "mtime": 1784203829.5212443, "size": 3277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ForAndLoopTest\\App\\main.py": {"sha1": "6deb1a24b47f47fc", "mtime": 1782827984.6760156, "size": 4951}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_fakeduck.py": {"sha1": "79b337e5ea8951e2", "mtime": 1784451276.719043, "size": 9717}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.py": {"sha1": "668790e6c9efdbae", "mtime": 1784451276.719043, "size": 3219}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"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 27b601e..aad2d65 100644 --- a/Test/ForAndLoopTest/temp/_sha1_map.txt +++ b/Test/ForAndLoopTest/temp/_sha1_map.txt @@ -1,5 +1,7 @@ 14d33679f7fadf1f:includes/testcheck.py 271ea3decb810db2:includes/atom.py +47775d5e50909338:includes/memhub.py +668790e6c9efdbae:includes/_list.py 6deb1a24b47f47fc:main.py 6f62fe05c5ea1ceb:includes/stdio.py 79b337e5ea8951e2:includes/_fakeduck.py @@ -8,6 +10,4 @@ 9474791561654346:includes/string.py bbdf3bbd4c3bc28c:includes/w32\win32console.py c9f4be41ca1cc2b4:includes/viperio.py -f2ecbf8ced20575c:includes/_list.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/ForAndLoopTest/temp/f3560b99de458aec.pyi b/Test/ForAndLoopTest/temp/f3560b99de458aec.pyi deleted file mode 100644 index 84f0bbf..0000000 --- a/Test/ForAndLoopTest/temp/f3560b99de458aec.pyi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self: MemBuddy) -> t.CSizeT: pass - def stats(self: MemBuddy) -> t.CSizeT: pass - def free_count(self: MemBuddy) -> t.CSizeT: pass - def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/HashTableTest/output/02d833b3cf571c5b.deps.json b/Test/HashTableTest/output/02d833b3cf571c5b.deps.json index 155b9bf..60ada9c 100644 --- a/Test/HashTableTest/output/02d833b3cf571c5b.deps.json +++ b/Test/HashTableTest/output/02d833b3cf571c5b.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/HashTableTest/temp/47775d5e50909338.pyi b/Test/HashTableTest/temp/47775d5e50909338.pyi new file mode 100644 index 0000000..0c5f2cf --- /dev/null +++ b/Test/HashTableTest/temp/47775d5e50909338.pyi @@ -0,0 +1,88 @@ +""" +Auto-generated Python stub file from memhub.py +Module: memhub +""" + + +import t, c +from stdint import * +import string +import atom +import viperio +import stdio + +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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/HashTableTest/temp/_phase1_manifest.json b/Test/HashTableTest/temp/_phase1_manifest.json index f926441..b65b43c 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.py": {"sha1": "02d833b3cf571c5b", "mtime": 1782828002.1143503, "size": 7795}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashtable.py": {"sha1": "b8c66c8ff44eb874", "mtime": 1782826619.490043, "size": 9385}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\HashTableTest\\App\\main.py": {"sha1": "02d833b3cf571c5b", "mtime": 1782828002.1143503, "size": 7795}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashtable.py": {"sha1": "b8c66c8ff44eb874", "mtime": 1782826619.490043, "size": 9385}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"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 8f88461..40ce84e 100644 --- a/Test/HashTableTest/temp/_sha1_map.txt +++ b/Test/HashTableTest/temp/_sha1_map.txt @@ -1,6 +1,7 @@ 02d833b3cf571c5b:main.py 14d33679f7fadf1f:includes/testcheck.py 271ea3decb810db2:includes/atom.py +47775d5e50909338:includes/memhub.py 6f62fe05c5ea1ceb:includes/stdio.py 7e529fe7a078cfef:includes/w32\win32base.py 90c53dd6db8d41cf:includes/stdlib.py @@ -8,5 +9,4 @@ b8c66c8ff44eb874:includes/hashtable.py bbdf3bbd4c3bc28c:includes/w32\win32console.py c9f4be41ca1cc2b4:includes/viperio.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/HashTableTest/temp/f3560b99de458aec.pyi b/Test/HashTableTest/temp/f3560b99de458aec.pyi deleted file mode 100644 index 84f0bbf..0000000 --- a/Test/HashTableTest/temp/f3560b99de458aec.pyi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self: MemBuddy) -> t.CSizeT: pass - def stats(self: MemBuddy) -> t.CSizeT: pass - def free_count(self: MemBuddy) -> t.CSizeT: pass - def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/JsonTest/output/8a97754e9e3c2b9a.deps.json b/Test/JsonTest/output/8a97754e9e3c2b9a.deps.json index 4a3aa43..849e897 100644 --- a/Test/JsonTest/output/8a97754e9e3c2b9a.deps.json +++ b/Test/JsonTest/output/8a97754e9e3c2b9a.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "json.__init__": "57288496f7c2d1ad", "__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "stdio": "6f62fe05c5ea1ceb", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "json.__init__": "57288496f7c2d1ad", "__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "stdio": "6f62fe05c5ea1ceb", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/JsonTest/temp/47775d5e50909338.pyi b/Test/JsonTest/temp/47775d5e50909338.pyi new file mode 100644 index 0000000..0c5f2cf --- /dev/null +++ b/Test/JsonTest/temp/47775d5e50909338.pyi @@ -0,0 +1,88 @@ +""" +Auto-generated Python stub file from memhub.py +Module: memhub +""" + + +import t, c +from stdint import * +import string +import atom +import viperio +import stdio + +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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/JsonTest/temp/_phase1_manifest.json b/Test/JsonTest/temp/_phase1_manifest.json index 0da9c12..726b1a8 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.py": {"sha1": "8a97754e9e3c2b9a", "mtime": 1782828053.1672907, "size": 14025}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__init__.py": {"sha1": "57288496f7c2d1ad", "mtime": 1783239811.8873823, "size": 7653}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__parser.py": {"sha1": "240a9a4157959a9f", "mtime": 1782826918.100951, "size": 7517}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__writer.py": {"sha1": "20cd49775c100a38", "mtime": 1782826901.8906734, "size": 3784}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.py": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\JsonTest\\App\\main.py": {"sha1": "8a97754e9e3c2b9a", "mtime": 1782828053.1672907, "size": 14025}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__init__.py": {"sha1": "57288496f7c2d1ad", "mtime": 1783239811.8873823, "size": 7653}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__parser.py": {"sha1": "240a9a4157959a9f", "mtime": 1782826918.100951, "size": 7517}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__writer.py": {"sha1": "20cd49775c100a38", "mtime": 1782826901.8906734, "size": 3784}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.py": {"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 d5cd47c..0ffcb3a 100644 --- a/Test/JsonTest/temp/_sha1_map.txt +++ b/Test/JsonTest/temp/_sha1_map.txt @@ -2,6 +2,7 @@ 20cd49775c100a38:includes/json\__writer.py 240a9a4157959a9f:includes/json\__parser.py 271ea3decb810db2:includes/atom.py +47775d5e50909338:includes/memhub.py 57288496f7c2d1ad:includes/json\__init__.py 6f62fe05c5ea1ceb:includes/stdio.py 72e2d5ccb7cedcf1:includes/w32\win32memory.py @@ -10,5 +11,4 @@ 9474791561654346:includes/string.py bbdf3bbd4c3bc28c:includes/w32\win32console.py c9f4be41ca1cc2b4:includes/viperio.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/JsonTest/temp/f3560b99de458aec.pyi b/Test/JsonTest/temp/f3560b99de458aec.pyi deleted file mode 100644 index 84f0bbf..0000000 --- a/Test/JsonTest/temp/f3560b99de458aec.pyi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self: MemBuddy) -> t.CSizeT: pass - def stats(self: MemBuddy) -> t.CSizeT: pass - def free_count(self: MemBuddy) -> t.CSizeT: pass - def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/15f1ded02f3aa5bc.deps.json b/Test/LLvmLiteTest/output/15f1ded02f3aa5bc.deps.json new file mode 100644 index 0000000..c506b84 --- /dev/null +++ b/Test/LLvmLiteTest/output/15f1ded02f3aa5bc.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "viperlib": "1d40c4bdc94641c5", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "atom": "271ea3decb810db2", "linkedlist": "2d39c6c7d3557b3e", "memhub": "47775d5e50909338", "main": "5b8cf12a5862b640", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "stdlib": "90c53dd6db8d41cf", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/21a7fcfc665f75ef.deps.json b/Test/LLvmLiteTest/output/21a7fcfc665f75ef.deps.json new file mode 100644 index 0000000..06a411f --- /dev/null +++ b/Test/LLvmLiteTest/output/21a7fcfc665f75ef.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "viperlib": "1d40c4bdc94641c5", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "atom": "271ea3decb810db2", "linkedlist": "2d39c6c7d3557b3e", "memhub": "47775d5e50909338", "main": "5b8cf12a5862b640", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "stdlib": "90c53dd6db8d41cf", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f", "__function.__types": "15f1ded02f3aa5bc"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/2d39c6c7d3557b3e.deps.json b/Test/LLvmLiteTest/output/2d39c6c7d3557b3e.deps.json new file mode 100644 index 0000000..c506b84 --- /dev/null +++ b/Test/LLvmLiteTest/output/2d39c6c7d3557b3e.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "viperlib": "1d40c4bdc94641c5", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "atom": "271ea3decb810db2", "linkedlist": "2d39c6c7d3557b3e", "memhub": "47775d5e50909338", "main": "5b8cf12a5862b640", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "stdlib": "90c53dd6db8d41cf", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/5b8cf12a5862b640.deps.json b/Test/LLvmLiteTest/output/5b8cf12a5862b640.deps.json index 6ad4f68..434e3ba 100644 --- a/Test/LLvmLiteTest/output/5b8cf12a5862b640.deps.json +++ b/Test/LLvmLiteTest/output/5b8cf12a5862b640.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "atom": "271ea3decb810db2", "linkedlist": "2d39c6c7d3557b3e", "llvmlite.__function": "4dad2ba72ed7ba09", "__function": "4dad2ba72ed7ba09", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "viperlib": "1d40c4bdc94641c5", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "atom": "271ea3decb810db2", "linkedlist": "2d39c6c7d3557b3e", "memhub": "47775d5e50909338", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "stdlib": "90c53dd6db8d41cf", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/6b3bc463fd044545.deps.json b/Test/LLvmLiteTest/output/6b3bc463fd044545.deps.json new file mode 100644 index 0000000..63c170e --- /dev/null +++ b/Test/LLvmLiteTest/output/6b3bc463fd044545.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "viperlib": "1d40c4bdc94641c5", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "atom": "271ea3decb810db2", "linkedlist": "2d39c6c7d3557b3e", "memhub": "47775d5e50909338", "main": "5b8cf12a5862b640", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "stdlib": "90c53dd6db8d41cf", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f", "__function.__types": "15f1ded02f3aa5bc", "__module.__types": "15f1ded02f3aa5bc", "__module.__function": "89b3965176cd2407"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/89b3965176cd2407.deps.json b/Test/LLvmLiteTest/output/89b3965176cd2407.deps.json new file mode 100644 index 0000000..c506b84 --- /dev/null +++ b/Test/LLvmLiteTest/output/89b3965176cd2407.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "viperlib": "1d40c4bdc94641c5", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "atom": "271ea3decb810db2", "linkedlist": "2d39c6c7d3557b3e", "memhub": "47775d5e50909338", "main": "5b8cf12a5862b640", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "stdlib": "90c53dd6db8d41cf", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/946e087da91aaada.deps.json b/Test/LLvmLiteTest/output/946e087da91aaada.deps.json new file mode 100644 index 0000000..a9c8e22 --- /dev/null +++ b/Test/LLvmLiteTest/output/946e087da91aaada.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "viperlib": "1d40c4bdc94641c5", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "atom": "271ea3decb810db2", "linkedlist": "2d39c6c7d3557b3e", "memhub": "47775d5e50909338", "main": "5b8cf12a5862b640", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "stdlib": "90c53dd6db8d41cf", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f", "__values.__types": "15f1ded02f3aa5bc", "__function.__types": "15f1ded02f3aa5bc"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/95394ca8da0f655a.deps.json b/Test/LLvmLiteTest/output/95394ca8da0f655a.deps.json new file mode 100644 index 0000000..2f433e2 --- /dev/null +++ b/Test/LLvmLiteTest/output/95394ca8da0f655a.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "viperlib": "1d40c4bdc94641c5", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "atom": "271ea3decb810db2", "linkedlist": "2d39c6c7d3557b3e", "memhub": "47775d5e50909338", "main": "5b8cf12a5862b640", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "stdlib": "90c53dd6db8d41cf", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f", "__values.__types": "15f1ded02f3aa5bc", "__function.__types": "15f1ded02f3aa5bc", "__module.__types": "15f1ded02f3aa5bc", "__module.__function": "89b3965176cd2407", "__builder.__types": "15f1ded02f3aa5bc", "__builder.__values": "f9e36e2cd6fa659f", "__builder.__function": "89b3965176cd2407", "__verify.__function": "89b3965176cd2407", "__verify.__module": "21a7fcfc665f75ef"} \ No newline at end of file diff --git a/Test/LLvmLiteTest/output/_shared_sym_includes.pickle b/Test/LLvmLiteTest/output/_shared_sym_includes.pickle new file mode 100644 index 0000000000000000000000000000000000000000..c2254353595c089a1b474ceb87aa122a03da83b0 GIT binary patch literal 777309 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 A;Q#;t literal 0 HcmV?d00001 diff --git a/Test/LLvmLiteTest/output/f9e36e2cd6fa659f.deps.json b/Test/LLvmLiteTest/output/f9e36e2cd6fa659f.deps.json new file mode 100644 index 0000000..c506b84 --- /dev/null +++ b/Test/LLvmLiteTest/output/f9e36e2cd6fa659f.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "viperlib": "1d40c4bdc94641c5", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "atom": "271ea3decb810db2", "linkedlist": "2d39c6c7d3557b3e", "memhub": "47775d5e50909338", "main": "5b8cf12a5862b640", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "stdlib": "90c53dd6db8d41cf", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/Test/NewAstTest/temp/c3b259b4059f8668.pyi b/Test/LLvmLiteTest/temp/1d40c4bdc94641c5.pyi similarity index 98% rename from Test/NewAstTest/temp/c3b259b4059f8668.pyi rename to Test/LLvmLiteTest/temp/1d40c4bdc94641c5.pyi index 67ff4ce..597cc07 100644 --- a/Test/NewAstTest/temp/c3b259b4059f8668.pyi +++ b/Test/LLvmLiteTest/temp/1d40c4bdc94641c5.pyi @@ -6,6 +6,7 @@ Module: viperlib import t, c import viperio +import stdio from stdarg import arg, va_arg TEMP_BUF_SIZE: t.CDefine = 68 diff --git a/Test/LLvmLiteTest/temp/47775d5e50909338.pyi b/Test/LLvmLiteTest/temp/47775d5e50909338.pyi new file mode 100644 index 0000000..0c5f2cf --- /dev/null +++ b/Test/LLvmLiteTest/temp/47775d5e50909338.pyi @@ -0,0 +1,88 @@ +""" +Auto-generated Python stub file from memhub.py +Module: memhub +""" + + +import t, c +from stdint import * +import string +import atom +import viperio +import stdio + +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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/LLvmLiteTest/temp/4dad2ba72ed7ba09.pyi b/Test/LLvmLiteTest/temp/89b3965176cd2407.pyi similarity index 100% rename from Test/LLvmLiteTest/temp/4dad2ba72ed7ba09.pyi rename to Test/LLvmLiteTest/temp/89b3965176cd2407.pyi diff --git a/Test/LLvmLiteTest/temp/_phase1_manifest.json b/Test/LLvmLiteTest/temp/_phase1_manifest.json index 925ee33..5da4084 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.py": {"sha1": "5b8cf12a5862b640", "mtime": 1784384536.040362, "size": 50855}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.py": {"sha1": "2d39c6c7d3557b3e", "mtime": 1782895405.2191627, "size": 16032}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__init__.py": {"sha1": "95394ca8da0f655a", "mtime": 1784089002.4168732, "size": 16338}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__builder.py": {"sha1": "946e087da91aaada", "mtime": 1784387312.9523027, "size": 48840}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__function.py": {"sha1": "4dad2ba72ed7ba09", "mtime": 1784387250.682758, "size": 16888}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__module.py": {"sha1": "21a7fcfc665f75ef", "mtime": 1784216086.0677392, "size": 20058}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__types.py": {"sha1": "15f1ded02f3aa5bc", "mtime": 1784387290.644663, "size": 17996}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__values.py": {"sha1": "f9e36e2cd6fa659f", "mtime": 1784387299.9652681, "size": 6739}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__verify.py": {"sha1": "6b3bc463fd044545", "mtime": 1784387320.0367622, "size": 14751}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "c3b259b4059f8668", "mtime": 1782821991.979496, "size": 56772}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\LLvmLiteTest\\App\\main.py": {"sha1": "5b8cf12a5862b640", "mtime": 1784384536.040362, "size": 50855}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.py": {"sha1": "2d39c6c7d3557b3e", "mtime": 1782895405.2191627, "size": 16032}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__init__.py": {"sha1": "95394ca8da0f655a", "mtime": 1784089002.4168732, "size": 16338}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__builder.py": {"sha1": "946e087da91aaada", "mtime": 1784387312.9523027, "size": 48840}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__function.py": {"sha1": "89b3965176cd2407", "mtime": 1784456620.4280825, "size": 17010}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__module.py": {"sha1": "21a7fcfc665f75ef", "mtime": 1784216086.0677392, "size": 20058}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__types.py": {"sha1": "15f1ded02f3aa5bc", "mtime": 1784387290.644663, "size": 17996}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__values.py": {"sha1": "f9e36e2cd6fa659f", "mtime": 1784387299.9652681, "size": 6739}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__verify.py": {"sha1": "6b3bc463fd044545", "mtime": 1784387320.0367622, "size": 14751}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "1d40c4bdc94641c5", "mtime": 1784470563.362105, "size": 56865}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"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 1ad7f39..847c1a6 100644 --- a/Test/LLvmLiteTest/temp/_sha1_map.txt +++ b/Test/LLvmLiteTest/temp/_sha1_map.txt @@ -1,21 +1,21 @@ 14d33679f7fadf1f:includes/testcheck.py 15f1ded02f3aa5bc:includes/llvmlite\__types.py +1d40c4bdc94641c5:includes/viperlib.py 21a7fcfc665f75ef:includes/llvmlite\__module.py 271ea3decb810db2:includes/atom.py 2d39c6c7d3557b3e:includes/linkedlist.py -4dad2ba72ed7ba09:includes/llvmlite\__function.py +47775d5e50909338:includes/memhub.py 5b8cf12a5862b640:main.py 6b3bc463fd044545:includes/llvmlite\__verify.py 6f62fe05c5ea1ceb:includes/stdio.py 71e0a3ffcb3ebfad:includes/stdarg.py 7e529fe7a078cfef:includes/w32\win32base.py +89b3965176cd2407:includes/llvmlite\__function.py 90c53dd6db8d41cf:includes/stdlib.py 946e087da91aaada:includes/llvmlite\__builder.py 9474791561654346:includes/string.py 95394ca8da0f655a:includes/llvmlite\__init__.py bbdf3bbd4c3bc28c:includes/w32\win32console.py -c3b259b4059f8668:includes/viperlib.py c9f4be41ca1cc2b4:includes/viperio.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py f9e36e2cd6fa659f:includes/llvmlite\__values.py diff --git a/Test/LLvmLiteTest/temp/f3560b99de458aec.pyi b/Test/LLvmLiteTest/temp/f3560b99de458aec.pyi deleted file mode 100644 index 84f0bbf..0000000 --- a/Test/LLvmLiteTest/temp/f3560b99de458aec.pyi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self: MemBuddy) -> t.CSizeT: pass - def stats(self: MemBuddy) -> t.CSizeT: pass - def free_count(self: MemBuddy) -> t.CSizeT: pass - def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/ListTest/output/1ff2c5eb32359e40.deps.json b/Test/ListTest/output/1ff2c5eb32359e40.deps.json index 38ec49b..41093d0 100644 --- a/Test/ListTest/output/1ff2c5eb32359e40.deps.json +++ b/Test/ListTest/output/1ff2c5eb32359e40.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "_list": "f2ecbf8ced20575c", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "_list": "668790e6c9efdbae", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/ListTest/temp/47775d5e50909338.pyi b/Test/ListTest/temp/47775d5e50909338.pyi new file mode 100644 index 0000000..0c5f2cf --- /dev/null +++ b/Test/ListTest/temp/47775d5e50909338.pyi @@ -0,0 +1,88 @@ +""" +Auto-generated Python stub file from memhub.py +Module: memhub +""" + + +import t, c +from stdint import * +import string +import atom +import viperio +import stdio + +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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/NewAstTest/temp/f2ecbf8ced20575c.pyi b/Test/ListTest/temp/668790e6c9efdbae.pyi similarity index 100% rename from Test/NewAstTest/temp/f2ecbf8ced20575c.pyi rename to Test/ListTest/temp/668790e6c9efdbae.pyi diff --git a/Test/ListTest/temp/_phase1_manifest.json b/Test/ListTest/temp/_phase1_manifest.json index 55a6f17..936f890 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.py": {"sha1": "1ff2c5eb32359e40", "mtime": 1782828109.658356, "size": 2856}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.py": {"sha1": "f2ecbf8ced20575c", "mtime": 1784203829.5212443, "size": 3277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ListTest\\App\\main.py": {"sha1": "1ff2c5eb32359e40", "mtime": 1782828109.658356, "size": 2856}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.py": {"sha1": "668790e6c9efdbae", "mtime": 1784451276.719043, "size": 3219}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"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 1a6c65c..28777bc 100644 --- a/Test/ListTest/temp/_sha1_map.txt +++ b/Test/ListTest/temp/_sha1_map.txt @@ -1,12 +1,12 @@ 14d33679f7fadf1f:includes/testcheck.py 1ff2c5eb32359e40:main.py 271ea3decb810db2:includes/atom.py +47775d5e50909338:includes/memhub.py +668790e6c9efdbae:includes/_list.py 6f62fe05c5ea1ceb:includes/stdio.py 7e529fe7a078cfef:includes/w32\win32base.py 90c53dd6db8d41cf:includes/stdlib.py 9474791561654346:includes/string.py bbdf3bbd4c3bc28c:includes/w32\win32console.py c9f4be41ca1cc2b4:includes/viperio.py -f2ecbf8ced20575c:includes/_list.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/ListTest/temp/f3560b99de458aec.pyi b/Test/ListTest/temp/f3560b99de458aec.pyi deleted file mode 100644 index 84f0bbf..0000000 --- a/Test/ListTest/temp/f3560b99de458aec.pyi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self: MemBuddy) -> t.CSizeT: pass - def stats(self: MemBuddy) -> t.CSizeT: pass - def free_count(self: MemBuddy) -> t.CSizeT: pass - def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/MemhubTest/output/3ff210e50f345c7c.deps.json b/Test/MemhubTest/output/3ff210e50f345c7c.deps.json index 2cd406c..dc01107 100644 --- a/Test/MemhubTest/output/3ff210e50f345c7c.deps.json +++ b/Test/MemhubTest/output/3ff210e50f345c7c.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/MemhubTest/temp/47775d5e50909338.pyi b/Test/MemhubTest/temp/47775d5e50909338.pyi new file mode 100644 index 0000000..0c5f2cf --- /dev/null +++ b/Test/MemhubTest/temp/47775d5e50909338.pyi @@ -0,0 +1,88 @@ +""" +Auto-generated Python stub file from memhub.py +Module: memhub +""" + + +import t, c +from stdint import * +import string +import atom +import viperio +import stdio + +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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/MemhubTest/temp/_phase1_manifest.json b/Test/MemhubTest/temp/_phase1_manifest.json index 368d034..abc623c 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.py": {"sha1": "3ff210e50f345c7c", "mtime": 1784375438.1600194, "size": 3923}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\MemhubTest\\App\\main.py": {"sha1": "3ff210e50f345c7c", "mtime": 1784375438.1600194, "size": 3923}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"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 df41167..01b425e 100644 --- a/Test/MemhubTest/temp/_sha1_map.txt +++ b/Test/MemhubTest/temp/_sha1_map.txt @@ -1,11 +1,11 @@ 14d33679f7fadf1f:includes/testcheck.py 271ea3decb810db2:includes/atom.py 3ff210e50f345c7c:main.py +47775d5e50909338:includes/memhub.py 6f62fe05c5ea1ceb:includes/stdio.py 7e529fe7a078cfef:includes/w32\win32base.py 90c53dd6db8d41cf:includes/stdlib.py 9474791561654346:includes/string.py bbdf3bbd4c3bc28c:includes/w32\win32console.py c9f4be41ca1cc2b4:includes/viperio.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/MemhubTest/temp/f3560b99de458aec.pyi b/Test/MemhubTest/temp/f3560b99de458aec.pyi deleted file mode 100644 index 84f0bbf..0000000 --- a/Test/MemhubTest/temp/f3560b99de458aec.pyi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self: MemBuddy) -> t.CSizeT: pass - def stats(self: MemBuddy) -> t.CSizeT: pass - def free_count(self: MemBuddy) -> t.CSizeT: pass - def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/NewAstTest/output/4175f14c5fbef360.deps.json b/Test/NewAstTest/output/4175f14c5fbef360.deps.json index 6a4cde6..5e1e080 100644 --- a/Test/NewAstTest/output/4175f14c5fbef360.deps.json +++ b/Test/NewAstTest/output/4175f14c5fbef360.deps.json @@ -1 +1 @@ -{"ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "viperlib": "c3b259b4059f8668", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "ast.__init__": "34548789d646f432", "__init__": "34548789d646f432", "ast": "34548789d646f432", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "viperio": "c9f4be41ca1cc2b4", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/BuddyTest/temp/c3b259b4059f8668.pyi b/Test/NewAstTest/temp/1d40c4bdc94641c5.pyi similarity index 98% rename from Test/BuddyTest/temp/c3b259b4059f8668.pyi rename to Test/NewAstTest/temp/1d40c4bdc94641c5.pyi index 67ff4ce..597cc07 100644 --- a/Test/BuddyTest/temp/c3b259b4059f8668.pyi +++ b/Test/NewAstTest/temp/1d40c4bdc94641c5.pyi @@ -6,6 +6,7 @@ Module: viperlib import t, c import viperio +import stdio from stdarg import arg, va_arg TEMP_BUF_SIZE: t.CDefine = 68 diff --git a/Test/NewAstTest/temp/47775d5e50909338.pyi b/Test/NewAstTest/temp/47775d5e50909338.pyi new file mode 100644 index 0000000..0c5f2cf --- /dev/null +++ b/Test/NewAstTest/temp/47775d5e50909338.pyi @@ -0,0 +1,88 @@ +""" +Auto-generated Python stub file from memhub.py +Module: memhub +""" + + +import t, c +from stdint import * +import string +import atom +import viperio +import stdio + +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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/StringIterTest/temp/f2ecbf8ced20575c.pyi b/Test/NewAstTest/temp/668790e6c9efdbae.pyi similarity index 100% rename from Test/StringIterTest/temp/f2ecbf8ced20575c.pyi rename to Test/NewAstTest/temp/668790e6c9efdbae.pyi diff --git a/Test/NewAstTest/temp/_phase1_manifest.json b/Test/NewAstTest/temp/_phase1_manifest.json index 71eb110..52c9d54 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.py": {"sha1": "4175f14c5fbef360", "mtime": 1783001020.789755, "size": 63423}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.py": {"sha1": "f2ecbf8ced20575c", "mtime": 1784203829.5212443, "size": 3277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\__init__.py": {"sha1": "34548789d646f432", "mtime": 1784102404.6307266, "size": 3409}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\astaux.py": {"sha1": "4337fb260448bbe2", "mtime": 1784006094.7981195, "size": 11489}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\base.py": {"sha1": "5dab8cb390496d22", "mtime": 1784197698.3282094, "size": 14966}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\exprs.py": {"sha1": "47767b5026a8ee15", "mtime": 1783239758.809719, "size": 40615}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\lexer.py": {"sha1": "0c212981c180e7fb", "mtime": 1783400609.908198, "size": 23535}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\match.py": {"sha1": "4dd6b3f1427d1cc5", "mtime": 1782961799.8492737, "size": 12309}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\parser.py": {"sha1": "ee52c08239684346", "mtime": 1784102405.1933146, "size": 85445}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\stmts.py": {"sha1": "657e182b27c2a022", "mtime": 1783929993.759902, "size": 37926}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\tokens.py": {"sha1": "b547ac4f380bddb6", "mtime": 1783165480.469121, "size": 13722}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "c3b259b4059f8668", "mtime": 1782821991.979496, "size": 56772}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\NewAstTest\\App\\main.py": {"sha1": "4175f14c5fbef360", "mtime": 1783001020.789755, "size": 63423}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.py": {"sha1": "668790e6c9efdbae", "mtime": 1784451276.719043, "size": 3219}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\__init__.py": {"sha1": "34548789d646f432", "mtime": 1784102404.6307266, "size": 3409}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\astaux.py": {"sha1": "4337fb260448bbe2", "mtime": 1784006094.7981195, "size": 11489}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\base.py": {"sha1": "5dab8cb390496d22", "mtime": 1784197698.3282094, "size": 14966}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\exprs.py": {"sha1": "47767b5026a8ee15", "mtime": 1783239758.809719, "size": 40615}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\lexer.py": {"sha1": "0c212981c180e7fb", "mtime": 1783400609.908198, "size": 23535}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\match.py": {"sha1": "4dd6b3f1427d1cc5", "mtime": 1782961799.8492737, "size": 12309}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\parser.py": {"sha1": "ee52c08239684346", "mtime": 1784102405.1933146, "size": 85445}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\stmts.py": {"sha1": "657e182b27c2a022", "mtime": 1783929993.759902, "size": 37926}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\tokens.py": {"sha1": "b547ac4f380bddb6", "mtime": 1783165480.469121, "size": 13722}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "1d40c4bdc94641c5", "mtime": 1784470563.362105, "size": 56865}} \ No newline at end of file diff --git a/Test/NewAstTest/temp/_sha1_map.txt b/Test/NewAstTest/temp/_sha1_map.txt index fe04566..215eecb 100644 --- a/Test/NewAstTest/temp/_sha1_map.txt +++ b/Test/NewAstTest/temp/_sha1_map.txt @@ -1,20 +1,20 @@ 0c212981c180e7fb:includes/ast\lexer.py +1d40c4bdc94641c5:includes/viperlib.py 271ea3decb810db2:includes/atom.py 34548789d646f432:includes/ast\__init__.py 4175f14c5fbef360:main.py 4337fb260448bbe2:includes/ast\astaux.py 47767b5026a8ee15:includes/ast\exprs.py +47775d5e50909338:includes/memhub.py 4dd6b3f1427d1cc5:includes/ast\match.py 5dab8cb390496d22:includes/ast\base.py 657e182b27c2a022:includes/ast\stmts.py +668790e6c9efdbae:includes/_list.py 6f62fe05c5ea1ceb:includes/stdio.py 71e0a3ffcb3ebfad:includes/stdarg.py 90c53dd6db8d41cf:includes/stdlib.py 9474791561654346:includes/string.py b547ac4f380bddb6:includes/ast\tokens.py -c3b259b4059f8668:includes/viperlib.py c9f4be41ca1cc2b4:includes/viperio.py ee52c08239684346:includes/ast\parser.py -f2ecbf8ced20575c:includes/_list.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/NewAstTest/temp/f3560b99de458aec.pyi b/Test/NewAstTest/temp/f3560b99de458aec.pyi deleted file mode 100644 index 84f0bbf..0000000 --- a/Test/NewAstTest/temp/f3560b99de458aec.pyi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self: MemBuddy) -> t.CSizeT: pass - def stats(self: MemBuddy) -> t.CSizeT: pass - def free_count(self: MemBuddy) -> t.CSizeT: pass - def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/NoVTableTest/output/22650858c377c847.deps.json b/Test/NoVTableTest/output/22650858c377c847.deps.json index 6f6a6c7..40dd81b 100644 --- a/Test/NoVTableTest/output/22650858c377c847.deps.json +++ b/Test/NoVTableTest/output/22650858c377c847.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "linkedlist": "2d39c6c7d3557b3e", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "viperlib": "1d40c4bdc94641c5", "linkedlist": "2d39c6c7d3557b3e", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/NoVTableTest/temp/1d40c4bdc94641c5.pyi b/Test/NoVTableTest/temp/1d40c4bdc94641c5.pyi new file mode 100644 index 0000000..597cc07 --- /dev/null +++ b/Test/NoVTableTest/temp/1d40c4bdc94641c5.pyi @@ -0,0 +1,24 @@ +""" +Auto-generated Python stub file from viperlib.py +Module: viperlib +""" + + +import t, c +import viperio +import stdio +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/temp/_phase1_manifest.json b/Test/NoVTableTest/temp/_phase1_manifest.json index 6aa7d66..3159e95 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.py": {"sha1": "22650858c377c847", "mtime": 1782800242.9985914, "size": 17052}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.py": {"sha1": "2d39c6c7d3557b3e", "mtime": 1782895405.2191627, "size": 16032}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "c3b259b4059f8668", "mtime": 1782821991.979496, "size": 56772}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\NoVTableTest\\App\\main.py": {"sha1": "22650858c377c847", "mtime": 1782800242.9985914, "size": 17052}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.py": {"sha1": "2d39c6c7d3557b3e", "mtime": 1782895405.2191627, "size": 16032}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "1d40c4bdc94641c5", "mtime": 1784470563.362105, "size": 56865}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"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 26ecc7b..14dbac5 100644 --- a/Test/NoVTableTest/temp/_sha1_map.txt +++ b/Test/NoVTableTest/temp/_sha1_map.txt @@ -1,4 +1,5 @@ 14d33679f7fadf1f:includes/testcheck.py +1d40c4bdc94641c5:includes/viperlib.py 22650858c377c847:main.py 2d39c6c7d3557b3e:includes/linkedlist.py 6f62fe05c5ea1ceb:includes/stdio.py @@ -7,6 +8,5 @@ 90c53dd6db8d41cf:includes/stdlib.py 9474791561654346:includes/string.py bbdf3bbd4c3bc28c:includes/w32\win32console.py -c3b259b4059f8668:includes/viperlib.py c9f4be41ca1cc2b4:includes/viperio.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/NoVTableTest/temp/c3b259b4059f8668.pyi b/Test/NoVTableTest/temp/c3b259b4059f8668.pyi deleted file mode 100644 index 67ff4ce..0000000 --- a/Test/NoVTableTest/temp/c3b259b4059f8668.pyi +++ /dev/null @@ -1,23 +0,0 @@ -""" -Auto-generated Python stub file from viperlib.py -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/ShortCircuitTest/temp/_phase1_manifest.json b/Test/ShortCircuitTest/temp/_phase1_manifest.json index e96bd9b..9f69a79 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.py": {"sha1": "a711c9c66fd7c6ca", "mtime": 1782355546.5909688, "size": 4497}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ShortCircuitTest\\App\\main.py": {"sha1": "a711c9c66fd7c6ca", "mtime": 1782355546.5909688, "size": 4497}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/SimdTest/App/main.py b/Test/SimdTest/App/main.py index 997ca4d..ed98962 100644 --- a/Test/SimdTest/App/main.py +++ b/Test/SimdTest/App/main.py @@ -25,19 +25,19 @@ CLOCK_PER_SEC: t.CDefine = 1000 def test_avx2_add_sub_mul_div(): testcheck.section("AVX2 add/sub/mul/div 4d") - a: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + a: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) a.data[0] = t.CDouble(1.0) a.data[1] = t.CDouble(2.0) a.data[2] = t.CDouble(3.0) a.data[3] = t.CDouble(4.0) - b: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + b: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) b.data[0] = t.CDouble(5.0) b.data[1] = t.CDouble(6.0) b.data[2] = t.CDouble(7.0) b.data[3] = t.CDouble(8.0) - out: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + out: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) # add vipersimd.simd_add4d(a.data, b.data, out.data) @@ -70,13 +70,13 @@ def test_avx2_add_sub_mul_div(): def test_avx2_neg_abs_sqrt(): testcheck.section("AVX2 neg/abs/sqrt 4d") - a: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + a: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) a.data[0] = t.CDouble(1.0) a.data[1] = t.CDouble(-4.0) a.data[2] = t.CDouble(9.0) a.data[3] = t.CDouble(-16.0) - out: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + out: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) # neg vipersimd.simd_neg4d(a.data, out.data) @@ -105,19 +105,19 @@ def test_avx2_neg_abs_sqrt(): def test_avx2_min_max(): testcheck.section("AVX2 min/max 4d") - a: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + a: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) a.data[0] = t.CDouble(1.0) a.data[1] = t.CDouble(8.0) a.data[2] = t.CDouble(3.0) a.data[3] = t.CDouble(6.0) - b: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + b: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) b.data[0] = t.CDouble(5.0) b.data[1] = t.CDouble(2.0) b.data[2] = t.CDouble(7.0) b.data[3] = t.CDouble(4.0) - out: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + out: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) vipersimd.simd_min4d(a.data, b.data, out.data) testcheck.check(out.data[0] == t.CDouble(1.0), "min[0]==1", "min[0]==1") @@ -138,16 +138,16 @@ def test_avx2_min_max(): def test_avx2_scalar_ops(): testcheck.section("AVX2 scalar broadcast ops") - a: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + a: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) a.data[0] = t.CDouble(1.0) a.data[1] = t.CDouble(2.0) a.data[2] = t.CDouble(3.0) a.data[3] = t.CDouble(4.0) - s: numpy.ndarray | t.CPtr = numpy.zeros(pool, 1) + s: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 1) s.data[0] = t.CDouble(10.0) - out: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + out: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) vipersimd.simd_mul_scalar4d(a.data, s.data, out.data) testcheck.check(out.data[0] == t.CDouble(10.0), "mul_scalar[0]==10", "mul_scalar[0]==10") @@ -165,19 +165,19 @@ def test_avx2_scalar_ops(): def test_avx2_hsum_dot(): testcheck.section("AVX2 hsum/dot 4d") - a: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + a: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) a.data[0] = t.CDouble(1.0) a.data[1] = t.CDouble(2.0) a.data[2] = t.CDouble(3.0) a.data[3] = t.CDouble(4.0) - b: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + b: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) b.data[0] = t.CDouble(5.0) b.data[1] = t.CDouble(6.0) b.data[2] = t.CDouble(7.0) b.data[3] = t.CDouble(8.0) - out: numpy.ndarray | t.CPtr = numpy.zeros(pool, 1) + out: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 1) vipersimd.simd_hsum4d(a.data, out.data) testcheck.check(out.data[0] == t.CDouble(10.0), "hsum==10", "hsum==10") @@ -192,21 +192,21 @@ def test_avx2_hsum_dot(): def test_avx2_fma(): testcheck.section("AVX2 FMA 4d") - a: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + a: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) a.data[0] = t.CDouble(1.0) a.data[1] = t.CDouble(2.0) a.data[2] = t.CDouble(3.0) a.data[3] = t.CDouble(4.0) - b: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + b: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) b.data[0] = t.CDouble(5.0) b.data[1] = t.CDouble(6.0) b.data[2] = t.CDouble(7.0) b.data[3] = t.CDouble(8.0) - c_val: numpy.ndarray | t.CPtr = numpy.ones(pool, 4) + c_val: numpy.ndarray[t.CDouble] | t.CPtr = numpy.ones(pool, 4) - out: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + out: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) vipersimd.simd_fma4d(a.data, b.data, c_val.data, out.data) testcheck.check(out.data[0] == t.CDouble(6.0), "fma[0]==6", "fma[0]==6") @@ -227,9 +227,9 @@ def test_avx2_fma(): def test_batch_array_ops(): testcheck.section("Batch array operations") n: t.CSizeT = 16 - a: numpy.ndarray | t.CPtr = numpy.arange(pool, t.CDouble(1.0), t.CDouble(17.0), t.CDouble(1.0)) - b: numpy.ndarray | t.CPtr = numpy.full(pool, 16, t.CDouble(2.0)) - out: numpy.ndarray | t.CPtr = numpy.zeros(pool, 16) + a: numpy.ndarray[t.CDouble] | t.CPtr = numpy.arange(pool, t.CDouble(1.0), t.CDouble(17.0), t.CDouble(1.0)) + b: numpy.ndarray[t.CDouble] | t.CPtr = numpy.full(pool, 16, t.CDouble(2.0)) + out: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 16) # add array vipersimd.simd_add_array(a.data, b.data, out.data, n) @@ -242,18 +242,18 @@ def test_batch_array_ops(): testcheck.check(out.data[3] == t.CDouble(8.0), "mul_arr[3]==8", "mul_arr[3]==8") # sqrt array - c: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + c: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) c.data[0] = t.CDouble(4.0) c.data[1] = t.CDouble(9.0) c.data[2] = t.CDouble(16.0) c.data[3] = t.CDouble(25.0) - out4: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + out4: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) vipersimd.simd_sqrt_array(c.data, out4.data, t.CSizeT(4)) testcheck.check(out4.data[0] == t.CDouble(2.0), "sqrt_arr[0]==2", "sqrt_arr[0]==2") testcheck.check(out4.data[3] == t.CDouble(5.0), "sqrt_arr[3]==5", "sqrt_arr[3]==5") # abs array - d: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + d: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) d.data[0] = t.CDouble(-1.0) d.data[1] = t.CDouble(-2.0) d.data[2] = t.CDouble(3.0) @@ -264,13 +264,13 @@ def test_batch_array_ops(): testcheck.check(out4.data[3] == t.CDouble(4.0), "abs_arr[3]==4", "abs_arr[3]==4") # dot array - e: numpy.ndarray | t.CPtr = numpy.zeros(pool, 4) + e: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 4) e.data[0] = t.CDouble(1.0) e.data[1] = t.CDouble(2.0) e.data[2] = t.CDouble(3.0) e.data[3] = t.CDouble(4.0) - f: numpy.ndarray | t.CPtr = numpy.ones(pool, 4) - out1: numpy.ndarray | t.CPtr = numpy.zeros(pool, 1) + f: numpy.ndarray[t.CDouble] | t.CPtr = numpy.ones(pool, 4) + out1: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, 1) vipersimd.simd_dot_array(e.data, f.data, t.CSizeT(4), out1.data) testcheck.check(out1.data[0] == t.CDouble(10.0), "dot_arr==10", "dot_arr==10") @@ -393,9 +393,9 @@ def scalar_sqrt_array(a: t.CPtr, out: t.CPtr, n: t.CSizeT): def benchmark_simd_vs_scalar(): testcheck.section("Benchmark: SIMD vs Scalar") - a: numpy.ndarray | t.CPtr = numpy.full(pool, N_ELEM, t.CDouble(1.5)) - b: numpy.ndarray | t.CPtr = numpy.full(pool, N_ELEM, t.CDouble(2.5)) - out: numpy.ndarray | t.CPtr = numpy.zeros(pool, N_ELEM) + a: numpy.ndarray[t.CDouble] | t.CPtr = numpy.full(pool, N_ELEM, t.CDouble(1.5)) + b: numpy.ndarray[t.CDouble] | t.CPtr = numpy.full(pool, N_ELEM, t.CDouble(2.5)) + out: numpy.ndarray[t.CDouble] | t.CPtr = numpy.zeros(pool, N_ELEM) # --- SIMD add benchmark --- t0: t.CLong = clock() diff --git a/Test/SimdTest/output/271ea3decb810db2.deps.json b/Test/SimdTest/output/271ea3decb810db2.deps.json new file mode 100644 index 0000000..b73fff3 --- /dev/null +++ b/Test/SimdTest/output/271ea3decb810db2.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "vipermath": "3f7c5e78d8652535", "memhub": "47775d5e50909338", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "main": "90f67f777f23b84b", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "vipersimd": "c24f25b14b4bbd0a", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/SimdTest/output/2fcb6780db4d937f.deps.json b/Test/SimdTest/output/2fcb6780db4d937f.deps.json deleted file mode 100644 index 1252f68..0000000 --- a/Test/SimdTest/output/2fcb6780db4d937f.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "vipermath": "3f7c5e78d8652535", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "vipersimd": "c24f25b14b4bbd0a", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/SimdTest/output/3f7c5e78d8652535.deps.json b/Test/SimdTest/output/3f7c5e78d8652535.deps.json new file mode 100644 index 0000000..b73fff3 --- /dev/null +++ b/Test/SimdTest/output/3f7c5e78d8652535.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "vipermath": "3f7c5e78d8652535", "memhub": "47775d5e50909338", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "main": "90f67f777f23b84b", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "vipersimd": "c24f25b14b4bbd0a", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/SimdTest/output/47775d5e50909338.deps.json b/Test/SimdTest/output/47775d5e50909338.deps.json new file mode 100644 index 0000000..b73fff3 --- /dev/null +++ b/Test/SimdTest/output/47775d5e50909338.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "vipermath": "3f7c5e78d8652535", "memhub": "47775d5e50909338", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "main": "90f67f777f23b84b", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "vipersimd": "c24f25b14b4bbd0a", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/SimdTest/output/90f67f777f23b84b.deps.json b/Test/SimdTest/output/90f67f777f23b84b.deps.json new file mode 100644 index 0000000..cee1775 --- /dev/null +++ b/Test/SimdTest/output/90f67f777f23b84b.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "vipermath": "3f7c5e78d8652535", "memhub": "47775d5e50909338", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "vipersimd": "c24f25b14b4bbd0a", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/SimdTest/output/_shared_sym_includes.pickle b/Test/SimdTest/output/_shared_sym_includes.pickle new file mode 100644 index 0000000000000000000000000000000000000000..97339be66a808b06035401f2e64425613b112039 GIT binary patch literal 534585 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 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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/BuddyTest/temp/5a3d93d7860d5dc0.doc.json b/Test/SimdTest/temp/90f67f777f23b84b.doc.json similarity index 100% rename from Test/BuddyTest/temp/5a3d93d7860d5dc0.doc.json rename to Test/SimdTest/temp/90f67f777f23b84b.doc.json diff --git a/Test/SimdTest/temp/2fcb6780db4d937f.pyi b/Test/SimdTest/temp/90f67f777f23b84b.pyi similarity index 100% rename from Test/SimdTest/temp/2fcb6780db4d937f.pyi rename to Test/SimdTest/temp/90f67f777f23b84b.pyi diff --git a/Test/SimdTest/temp/_phase1_manifest.json b/Test/SimdTest/temp/_phase1_manifest.json index 689a63c..4b3a511 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.py": {"sha1": "2fcb6780db4d937f", "mtime": 1782828206.5357063, "size": 17078}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\numpy\\__init__.py": {"sha1": "c3a6aed1f1fb8b1e", "mtime": 1782949786.0890937, "size": 39111}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vipermath.py": {"sha1": "3f7c5e78d8652535", "mtime": 1781532528.2518907, "size": 15412}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vipersimd.py": {"sha1": "c24f25b14b4bbd0a", "mtime": 1782891155.5031893, "size": 15522}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SimdTest\\App\\main.py": {"sha1": "90f67f777f23b84b", "mtime": 1784439472.858204, "size": 17408}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\numpy\\__init__.py": {"sha1": "c3a6aed1f1fb8b1e", "mtime": 1784446436.2910569, "size": 39111}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vipermath.py": {"sha1": "3f7c5e78d8652535", "mtime": 1781532528.2518907, "size": 15412}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vipersimd.py": {"sha1": "c24f25b14b4bbd0a", "mtime": 1782891155.5031893, "size": 15522}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"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 ce9b71d..ca03a7e 100644 --- a/Test/SimdTest/temp/_sha1_map.txt +++ b/Test/SimdTest/temp/_sha1_map.txt @@ -1,14 +1,14 @@ 14d33679f7fadf1f:includes/testcheck.py 271ea3decb810db2:includes/atom.py -2fcb6780db4d937f:main.py 3f7c5e78d8652535:includes/vipermath.py +47775d5e50909338:includes/memhub.py 6f62fe05c5ea1ceb:includes/stdio.py 7e529fe7a078cfef:includes/w32\win32base.py 90c53dd6db8d41cf:includes/stdlib.py +90f67f777f23b84b:main.py 9474791561654346:includes/string.py bbdf3bbd4c3bc28c:includes/w32\win32console.py c24f25b14b4bbd0a:includes/vipersimd.py c3a6aed1f1fb8b1e:includes/numpy\__init__.py c9f4be41ca1cc2b4:includes/viperio.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/SimdTest/temp/f3560b99de458aec.pyi b/Test/SimdTest/temp/f3560b99de458aec.pyi deleted file mode 100644 index 84f0bbf..0000000 --- a/Test/SimdTest/temp/f3560b99de458aec.pyi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self: MemBuddy) -> t.CSizeT: pass - def stats(self: MemBuddy) -> t.CSizeT: pass - def free_count(self: MemBuddy) -> t.CSizeT: pass - def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/SprintfTest/output/f492cb40d913400b.deps.json b/Test/SprintfTest/output/f492cb40d913400b.deps.json index f9bd8c9..86ea84a 100644 --- a/Test/SprintfTest/output/f492cb40d913400b.deps.json +++ b/Test/SprintfTest/output/f492cb40d913400b.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "viperlib": "1d40c4bdc94641c5", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/SprintfTest/temp/1d40c4bdc94641c5.pyi b/Test/SprintfTest/temp/1d40c4bdc94641c5.pyi new file mode 100644 index 0000000..597cc07 --- /dev/null +++ b/Test/SprintfTest/temp/1d40c4bdc94641c5.pyi @@ -0,0 +1,24 @@ +""" +Auto-generated Python stub file from viperlib.py +Module: viperlib +""" + + +import t, c +import viperio +import stdio +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/temp/_phase1_manifest.json b/Test/SprintfTest/temp/_phase1_manifest.json index 02925cc..d2b8a0d 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.py": {"sha1": "f492cb40d913400b", "mtime": 1782821953.0346377, "size": 4235}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "c3b259b4059f8668", "mtime": 1782821991.979496, "size": 56772}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SprintfTest\\App\\main.py": {"sha1": "f492cb40d913400b", "mtime": 1782821953.0346377, "size": 4235}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "1d40c4bdc94641c5", "mtime": 1784470563.362105, "size": 56865}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"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 3921ea1..dcd0af3 100644 --- a/Test/SprintfTest/temp/_sha1_map.txt +++ b/Test/SprintfTest/temp/_sha1_map.txt @@ -1,10 +1,10 @@ 14d33679f7fadf1f:includes/testcheck.py +1d40c4bdc94641c5:includes/viperlib.py 6f62fe05c5ea1ceb:includes/stdio.py 71e0a3ffcb3ebfad:includes/stdarg.py 7e529fe7a078cfef:includes/w32\win32base.py 90c53dd6db8d41cf:includes/stdlib.py bbdf3bbd4c3bc28c:includes/w32\win32console.py -c3b259b4059f8668:includes/viperlib.py c9f4be41ca1cc2b4:includes/viperio.py f492cb40d913400b:main.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/SprintfTest/temp/c3b259b4059f8668.pyi b/Test/SprintfTest/temp/c3b259b4059f8668.pyi deleted file mode 100644 index 67ff4ce..0000000 --- a/Test/SprintfTest/temp/c3b259b4059f8668.pyi +++ /dev/null @@ -1,23 +0,0 @@ -""" -Auto-generated Python stub file from viperlib.py -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/output/924ed8cd4ea5c4c2.deps.json b/Test/StringIterTest/output/924ed8cd4ea5c4c2.deps.json index 702be07..53df2d6 100644 --- a/Test/StringIterTest/output/924ed8cd4ea5c4c2.deps.json +++ b/Test/StringIterTest/output/924ed8cd4ea5c4c2.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "_list": "f2ecbf8ced20575c", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "_list": "668790e6c9efdbae", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/StringIterTest/temp/47775d5e50909338.pyi b/Test/StringIterTest/temp/47775d5e50909338.pyi new file mode 100644 index 0000000..0c5f2cf --- /dev/null +++ b/Test/StringIterTest/temp/47775d5e50909338.pyi @@ -0,0 +1,88 @@ +""" +Auto-generated Python stub file from memhub.py +Module: memhub +""" + + +import t, c +from stdint import * +import string +import atom +import viperio +import stdio + +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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/TransPyV/temp/f2ecbf8ced20575c.pyi b/Test/StringIterTest/temp/668790e6c9efdbae.pyi similarity index 100% rename from TransPyV/temp/f2ecbf8ced20575c.pyi rename to Test/StringIterTest/temp/668790e6c9efdbae.pyi diff --git a/Test/StringIterTest/temp/_phase1_manifest.json b/Test/StringIterTest/temp/_phase1_manifest.json index 8f59dbb..735ee67 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.py": {"sha1": "924ed8cd4ea5c4c2", "mtime": 1782271507.3310895, "size": 6472}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.py": {"sha1": "f2ecbf8ced20575c", "mtime": 1784203829.5212443, "size": 3277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\StringIterTest\\App\\main.py": {"sha1": "924ed8cd4ea5c4c2", "mtime": 1782271507.3310895, "size": 6472}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.py": {"sha1": "668790e6c9efdbae", "mtime": 1784451276.719043, "size": 3219}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"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 169af2b..4bd4965 100644 --- a/Test/StringIterTest/temp/_sha1_map.txt +++ b/Test/StringIterTest/temp/_sha1_map.txt @@ -1,11 +1,11 @@ 14d33679f7fadf1f:includes/testcheck.py 271ea3decb810db2:includes/atom.py +47775d5e50909338:includes/memhub.py +668790e6c9efdbae:includes/_list.py 6f62fe05c5ea1ceb:includes/stdio.py 7e529fe7a078cfef:includes/w32\win32base.py 924ed8cd4ea5c4c2:main.py 9474791561654346:includes/string.py bbdf3bbd4c3bc28c:includes/w32\win32console.py c9f4be41ca1cc2b4:includes/viperio.py -f2ecbf8ced20575c:includes/_list.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/StringIterTest/temp/f3560b99de458aec.pyi b/Test/StringIterTest/temp/f3560b99de458aec.pyi deleted file mode 100644 index 84f0bbf..0000000 --- a/Test/StringIterTest/temp/f3560b99de458aec.pyi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self: MemBuddy) -> t.CSizeT: pass - def stats(self: MemBuddy) -> t.CSizeT: pass - def free_count(self: MemBuddy) -> t.CSizeT: pass - def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/SysLibTest/output/13110effbb0bb06c.deps.json b/Test/SysLibTest/output/13110effbb0bb06c.deps.json new file mode 100644 index 0000000..62ee377 --- /dev/null +++ b/Test/SysLibTest/output/13110effbb0bb06c.deps.json @@ -0,0 +1 @@ +{"w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "testcheck": "14d33679f7fadf1f", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "subprocess": "2da636c61863c815", "memhub": "47775d5e50909338", "os_backend": "59e00d50660b941e", "posix": "6503c97dde0c79c4", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "os.__init__": "76dd6c275aa72b3b", "__init__": "76dd6c275aa72b3b", "os": "76dd6c275aa72b3b", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "syslibtest_impl": "a03139660029514f", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "shutil": "abbcbd92436cc16a", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5"} \ No newline at end of file diff --git a/Test/SysLibTest/output/2da636c61863c815.deps.json b/Test/SysLibTest/output/2da636c61863c815.deps.json new file mode 100644 index 0000000..62ee377 --- /dev/null +++ b/Test/SysLibTest/output/2da636c61863c815.deps.json @@ -0,0 +1 @@ +{"w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "testcheck": "14d33679f7fadf1f", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "subprocess": "2da636c61863c815", "memhub": "47775d5e50909338", "os_backend": "59e00d50660b941e", "posix": "6503c97dde0c79c4", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "os.__init__": "76dd6c275aa72b3b", "__init__": "76dd6c275aa72b3b", "os": "76dd6c275aa72b3b", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "syslibtest_impl": "a03139660029514f", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "shutil": "abbcbd92436cc16a", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "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 b7dea4b..8b9565a 100644 --- a/Test/SysLibTest/output/59e00d50660b941e.deps.json +++ b/Test/SysLibTest/output/59e00d50660b941e.deps.json @@ -1 +1 @@ -{"w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "subprocess": "2da636c61863c815", "posix": "6503c97dde0c79c4", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "os.__init__": "76dd6c275aa72b3b", "__init__": "76dd6c275aa72b3b", "os": "76dd6c275aa72b3b", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "syslibtest_impl": "a03139660029514f", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "shutil": "abbcbd92436cc16a", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"} \ No newline at end of file +{"w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "testcheck": "14d33679f7fadf1f", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "subprocess": "2da636c61863c815", "memhub": "47775d5e50909338", "posix": "6503c97dde0c79c4", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "os.__init__": "76dd6c275aa72b3b", "__init__": "76dd6c275aa72b3b", "os": "76dd6c275aa72b3b", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "syslibtest_impl": "a03139660029514f", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "shutil": "abbcbd92436cc16a", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"} \ No newline at end of file diff --git a/Test/SysLibTest/output/76dd6c275aa72b3b.deps.json b/Test/SysLibTest/output/76dd6c275aa72b3b.deps.json new file mode 100644 index 0000000..62ee377 --- /dev/null +++ b/Test/SysLibTest/output/76dd6c275aa72b3b.deps.json @@ -0,0 +1 @@ +{"w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "os.path": "13110effbb0bb06c", "path": "13110effbb0bb06c", "testcheck": "14d33679f7fadf1f", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "subprocess": "2da636c61863c815", "memhub": "47775d5e50909338", "os_backend": "59e00d50660b941e", "posix": "6503c97dde0c79c4", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "os.__init__": "76dd6c275aa72b3b", "__init__": "76dd6c275aa72b3b", "os": "76dd6c275aa72b3b", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "syslibtest_impl": "a03139660029514f", "os._win32": "a68b70f233541a7f", "_win32": "a68b70f233541a7f", "shutil": "abbcbd92436cc16a", "sys": "b5a965302cded36b", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "c70684ccfe48a5a9", "viperio": "c9f4be41ca1cc2b4", "os._posix": "d152115b49e50218", "_posix": "d152115b49e50218", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "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 new file mode 100644 index 0000000000000000000000000000000000000000..f5f319ba131abafec34ce2b4641727665298016c GIT binary patch literal 766994 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 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/SysLibTest/temp/47775d5e50909338.pyi b/Test/SysLibTest/temp/47775d5e50909338.pyi new file mode 100644 index 0000000..0c5f2cf --- /dev/null +++ b/Test/SysLibTest/temp/47775d5e50909338.pyi @@ -0,0 +1,88 @@ +""" +Auto-generated Python stub file from memhub.py +Module: memhub +""" + + +import t, c +from stdint import * +import string +import atom +import viperio +import stdio + +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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/SysLibTest/temp/_phase1_manifest.json b/Test/SysLibTest/temp/_phase1_manifest.json index 29810e7..d29e65d 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.py": {"sha1": "c70684ccfe48a5a9", "mtime": 1782828223.3150382, "size": 918}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SysLibTest\\App\\os_backend.py": {"sha1": "59e00d50660b941e", "mtime": 1782491896.4070306, "size": 1323}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SysLibTest\\App\\syslibtest_impl.py": {"sha1": "a03139660029514f", "mtime": 1782828233.2147534, "size": 12395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\__init__.py": {"sha1": "76dd6c275aa72b3b", "mtime": 1782826646.8940291, "size": 4395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\_posix.py": {"sha1": "d152115b49e50218", "mtime": 1782826648.538678, "size": 5665}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\_win32.py": {"sha1": "a68b70f233541a7f", "mtime": 1782826646.872196, "size": 7601}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\path.py": {"sha1": "13110effbb0bb06c", "mtime": 1782826648.9189062, "size": 9499}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.py": {"sha1": "93c1d18e35d188d6", "mtime": 1781237231.03366, "size": 1422}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\posix.py": {"sha1": "6503c97dde0c79c4", "mtime": 1783064077.6376991, "size": 10386}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\shutil.py": {"sha1": "abbcbd92436cc16a", "mtime": 1782826619.0231705, "size": 9131}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\subprocess.py": {"sha1": "2da636c61863c815", "mtime": 1783847277.4569364, "size": 7627}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\sys.py": {"sha1": "b5a965302cded36b", "mtime": 1783569641.07535, "size": 5509}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "c3b259b4059f8668", "mtime": 1782821991.979496, "size": 56772}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\fileio.py": {"sha1": "0035c95a18d4f8e8", "mtime": 1783747022.686592, "size": 14147}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32file.py": {"sha1": "f6b51804a0ba8ff0", "mtime": 1782531158.744144, "size": 8424}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.py": {"sha1": "067c78e9f121dce3", "mtime": 1781200703.5409546, "size": 4802}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32sync.py": {"sha1": "06f53cc594b4ac6c", "mtime": 1782297500.2581685, "size": 4726}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SysLibTest\\App\\main.py": {"sha1": "c70684ccfe48a5a9", "mtime": 1782828223.3150382, "size": 918}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SysLibTest\\App\\os_backend.py": {"sha1": "59e00d50660b941e", "mtime": 1782491896.4070306, "size": 1323}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\SysLibTest\\App\\syslibtest_impl.py": {"sha1": "a03139660029514f", "mtime": 1782828233.2147534, "size": 12395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\__init__.py": {"sha1": "76dd6c275aa72b3b", "mtime": 1782826646.8940291, "size": 4395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\_posix.py": {"sha1": "d152115b49e50218", "mtime": 1782826648.538678, "size": 5665}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\_win32.py": {"sha1": "a68b70f233541a7f", "mtime": 1782826646.872196, "size": 7601}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\os\\path.py": {"sha1": "13110effbb0bb06c", "mtime": 1782826648.9189062, "size": 9499}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.py": {"sha1": "93c1d18e35d188d6", "mtime": 1781237231.03366, "size": 1422}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\posix.py": {"sha1": "6503c97dde0c79c4", "mtime": 1783064077.6376991, "size": 10386}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\shutil.py": {"sha1": "abbcbd92436cc16a", "mtime": 1782826619.0231705, "size": 9131}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\subprocess.py": {"sha1": "2da636c61863c815", "mtime": 1783847277.4569364, "size": 7627}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\sys.py": {"sha1": "b5a965302cded36b", "mtime": 1783569641.07535, "size": 5509}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "1d40c4bdc94641c5", "mtime": 1784470563.362105, "size": 56865}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\fileio.py": {"sha1": "0035c95a18d4f8e8", "mtime": 1783747022.686592, "size": 14147}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32file.py": {"sha1": "f6b51804a0ba8ff0", "mtime": 1782531158.744144, "size": 8424}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.py": {"sha1": "067c78e9f121dce3", "mtime": 1781200703.5409546, "size": 4802}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32sync.py": {"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 8041cef..be44c8a 100644 --- a/Test/SysLibTest/temp/_sha1_map.txt +++ b/Test/SysLibTest/temp/_sha1_map.txt @@ -3,8 +3,10 @@ 06f53cc594b4ac6c:includes/w32\win32sync.py 13110effbb0bb06c:includes/os\path.py 14d33679f7fadf1f:includes/testcheck.py +1d40c4bdc94641c5:includes/viperlib.py 271ea3decb810db2:includes/atom.py 2da636c61863c815:includes/subprocess.py +47775d5e50909338:includes/memhub.py 59e00d50660b941e:os_backend.py 6503c97dde0c79c4:includes/posix.py 6f62fe05c5ea1ceb:includes/stdio.py @@ -19,10 +21,8 @@ a68b70f233541a7f:includes/os\_win32.py abbcbd92436cc16a:includes/shutil.py b5a965302cded36b:includes/sys.py bbdf3bbd4c3bc28c:includes/w32\win32console.py -c3b259b4059f8668:includes/viperlib.py c70684ccfe48a5a9:main.py c9f4be41ca1cc2b4:includes/viperio.py d152115b49e50218:includes/os\_posix.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py f6b51804a0ba8ff0:includes/w32\win32file.py diff --git a/Test/SysLibTest/temp/_shared_sym.json b/Test/SysLibTest/temp/_shared_sym.json index 6350724223bdaa319564c08847c653f6e6a360c7..f929b2f30c9525a1e139480a62da51de68038a03 100644 GIT binary patch literal 698259 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 literal 699092 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%0D7QBPt!-w;X_aN^wb@1?Fg@H?|HNr@9FEk3vj&d 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 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/SysLibTest/temp/f3560b99de458aec.pyi b/Test/SysLibTest/temp/f3560b99de458aec.pyi deleted file mode 100644 index 84f0bbf..0000000 --- a/Test/SysLibTest/temp/f3560b99de458aec.pyi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self: MemBuddy) -> t.CSizeT: pass - def stats(self: MemBuddy) -> t.CSizeT: pass - def free_count(self: MemBuddy) -> t.CSizeT: pass - def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/TestFBProject/output/0035c95a18d4f8e8.deps.json b/Test/TestFBProject/output/0035c95a18d4f8e8.deps.json new file mode 100644 index 0000000..31057ac --- /dev/null +++ b/Test/TestFBProject/output/0035c95a18d4f8e8.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "main": "4fb8940ff5ab1022", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/067c78e9f121dce3.deps.json b/Test/TestFBProject/output/067c78e9f121dce3.deps.json new file mode 100644 index 0000000..31057ac --- /dev/null +++ b/Test/TestFBProject/output/067c78e9f121dce3.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "main": "4fb8940ff5ab1022", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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 new file mode 100644 index 0000000..31057ac --- /dev/null +++ b/Test/TestFBProject/output/06f53cc594b4ac6c.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "main": "4fb8940ff5ab1022", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/6446627d4f07a1b5.deps.json b/Test/TestFBProject/output/6446627d4f07a1b5.deps.json new file mode 100644 index 0000000..31057ac --- /dev/null +++ b/Test/TestFBProject/output/6446627d4f07a1b5.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "main": "4fb8940ff5ab1022", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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 new file mode 100644 index 0000000..31057ac --- /dev/null +++ b/Test/TestFBProject/output/72e2d5ccb7cedcf1.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "main": "4fb8940ff5ab1022", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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 new file mode 100644 index 0000000000000000000000000000000000000000..fca1c2d35e7c94bb3c620676e9b029e0f3ee4092 GIT binary patch literal 540397 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 literal 0 HcmV?d00001 diff --git a/Test/TestFBProject/output/f6b51804a0ba8ff0.deps.json b/Test/TestFBProject/output/f6b51804a0ba8ff0.deps.json new file mode 100644 index 0000000..31057ac --- /dev/null +++ b/Test/TestFBProject/output/f6b51804a0ba8ff0.deps.json @@ -0,0 +1 @@ +{"testcheck": "14d33679f7fadf1f", "main": "4fb8940ff5ab1022", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/TestProject/output/3cd87018ba1e76bc.deps.json b/Test/TestProject/output/3cd87018ba1e76bc.deps.json index 161ab81..ff6e0cb 100644 --- a/Test/TestProject/output/3cd87018ba1e76bc.deps.json +++ b/Test/TestProject/output/3cd87018ba1e76bc.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "vipermath": "3f7c5e78d8652535", "main": "49cae05490a513cb", "stdio": "6f62fe05c5ea1ceb", "zc.test": "75583f20a922ab2e", "test": "75583f20a922ab2e", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "config": "cfc83b830141b00e", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "zc.class_test": "e5fb16127bce8f68", "class_test": "e5fb16127bce8f68", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "zc.logic_test": "faec3233d98371da", "logic_test": "faec3233d98371da"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "vipermath": "3f7c5e78d8652535", "memhub": "47775d5e50909338", "main": "49cae05490a513cb", "stdio": "6f62fe05c5ea1ceb", "zc.test": "75583f20a922ab2e", "test": "75583f20a922ab2e", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "config": "cfc83b830141b00e", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "zc.class_test": "e5fb16127bce8f68", "class_test": "e5fb16127bce8f68", "stdint": "f5522571bcce7bcb", "zc.logic_test": "faec3233d98371da", "logic_test": "faec3233d98371da"} \ No newline at end of file diff --git a/Test/TestProject/output/49cae05490a513cb.deps.json b/Test/TestProject/output/49cae05490a513cb.deps.json index 5334f7f..1ee39f2 100644 --- a/Test/TestProject/output/49cae05490a513cb.deps.json +++ b/Test/TestProject/output/49cae05490a513cb.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "test_numpy": "3cd87018ba1e76bc", "vipermath": "3f7c5e78d8652535", "stdio": "6f62fe05c5ea1ceb", "zc.test": "75583f20a922ab2e", "test": "75583f20a922ab2e", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "config": "cfc83b830141b00e", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "zc.class_test": "e5fb16127bce8f68", "class_test": "e5fb16127bce8f68", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "zc.logic_test": "faec3233d98371da", "logic_test": "faec3233d98371da"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "test_numpy": "3cd87018ba1e76bc", "vipermath": "3f7c5e78d8652535", "memhub": "47775d5e50909338", "stdio": "6f62fe05c5ea1ceb", "zc.test": "75583f20a922ab2e", "test": "75583f20a922ab2e", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "config": "cfc83b830141b00e", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "zc.class_test": "e5fb16127bce8f68", "class_test": "e5fb16127bce8f68", "stdint": "f5522571bcce7bcb", "zc.logic_test": "faec3233d98371da", "logic_test": "faec3233d98371da"} \ No newline at end of file diff --git a/Test/TestProject/output/75583f20a922ab2e.deps.json b/Test/TestProject/output/75583f20a922ab2e.deps.json index 30e0773..6230ea1 100644 --- a/Test/TestProject/output/75583f20a922ab2e.deps.json +++ b/Test/TestProject/output/75583f20a922ab2e.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "test_numpy": "3cd87018ba1e76bc", "vipermath": "3f7c5e78d8652535", "main": "49cae05490a513cb", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "config": "cfc83b830141b00e", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "zc.class_test": "e5fb16127bce8f68", "class_test": "e5fb16127bce8f68", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "zc.logic_test": "faec3233d98371da", "logic_test": "faec3233d98371da"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "test_numpy": "3cd87018ba1e76bc", "vipermath": "3f7c5e78d8652535", "memhub": "47775d5e50909338", "main": "49cae05490a513cb", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "config": "cfc83b830141b00e", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "zc.class_test": "e5fb16127bce8f68", "class_test": "e5fb16127bce8f68", "stdint": "f5522571bcce7bcb", "zc.logic_test": "faec3233d98371da", "logic_test": "faec3233d98371da"} \ No newline at end of file diff --git a/Test/TestProject/output/8e0d8fdba991b3b4.deps.json b/Test/TestProject/output/8e0d8fdba991b3b4.deps.json index 92edd09..1aecbcb 100644 --- a/Test/TestProject/output/8e0d8fdba991b3b4.deps.json +++ b/Test/TestProject/output/8e0d8fdba991b3b4.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "test_numpy": "3cd87018ba1e76bc", "vipermath": "3f7c5e78d8652535", "main": "49cae05490a513cb", "stdio": "6f62fe05c5ea1ceb", "zc.test": "75583f20a922ab2e", "test": "75583f20a922ab2e", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "config": "cfc83b830141b00e", "zc.class_test": "e5fb16127bce8f68", "class_test": "e5fb16127bce8f68", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "zc.logic_test": "faec3233d98371da", "logic_test": "faec3233d98371da"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "test_numpy": "3cd87018ba1e76bc", "vipermath": "3f7c5e78d8652535", "memhub": "47775d5e50909338", "main": "49cae05490a513cb", "stdio": "6f62fe05c5ea1ceb", "zc.test": "75583f20a922ab2e", "test": "75583f20a922ab2e", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "config": "cfc83b830141b00e", "zc.class_test": "e5fb16127bce8f68", "class_test": "e5fb16127bce8f68", "stdint": "f5522571bcce7bcb", "zc.logic_test": "faec3233d98371da", "logic_test": "faec3233d98371da"} \ No newline at end of file diff --git a/Test/TestProject/output/cfc83b830141b00e.deps.json b/Test/TestProject/output/cfc83b830141b00e.deps.json index b16cd38..c45eb92 100644 --- a/Test/TestProject/output/cfc83b830141b00e.deps.json +++ b/Test/TestProject/output/cfc83b830141b00e.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "test_numpy": "3cd87018ba1e76bc", "vipermath": "3f7c5e78d8652535", "main": "49cae05490a513cb", "stdio": "6f62fe05c5ea1ceb", "zc.test": "75583f20a922ab2e", "test": "75583f20a922ab2e", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "config": "8e0d8fdba991b3b4", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "zc.class_test": "e5fb16127bce8f68", "class_test": "e5fb16127bce8f68", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "zc.logic_test": "faec3233d98371da", "logic_test": "faec3233d98371da"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "test_numpy": "3cd87018ba1e76bc", "vipermath": "3f7c5e78d8652535", "memhub": "47775d5e50909338", "main": "49cae05490a513cb", "stdio": "6f62fe05c5ea1ceb", "zc.test": "75583f20a922ab2e", "test": "75583f20a922ab2e", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "config": "8e0d8fdba991b3b4", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "zc.class_test": "e5fb16127bce8f68", "class_test": "e5fb16127bce8f68", "stdint": "f5522571bcce7bcb", "zc.logic_test": "faec3233d98371da", "logic_test": "faec3233d98371da"} \ No newline at end of file diff --git a/Test/TestProject/output/e5fb16127bce8f68.deps.json b/Test/TestProject/output/e5fb16127bce8f68.deps.json index f3ce520..354292b 100644 --- a/Test/TestProject/output/e5fb16127bce8f68.deps.json +++ b/Test/TestProject/output/e5fb16127bce8f68.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "test_numpy": "3cd87018ba1e76bc", "vipermath": "3f7c5e78d8652535", "main": "49cae05490a513cb", "stdio": "6f62fe05c5ea1ceb", "zc.test": "75583f20a922ab2e", "test": "75583f20a922ab2e", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "config": "cfc83b830141b00e", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "zc.logic_test": "faec3233d98371da", "logic_test": "faec3233d98371da"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "test_numpy": "3cd87018ba1e76bc", "vipermath": "3f7c5e78d8652535", "memhub": "47775d5e50909338", "main": "49cae05490a513cb", "stdio": "6f62fe05c5ea1ceb", "zc.test": "75583f20a922ab2e", "test": "75583f20a922ab2e", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "config": "cfc83b830141b00e", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "stdint": "f5522571bcce7bcb", "zc.logic_test": "faec3233d98371da", "logic_test": "faec3233d98371da"} \ No newline at end of file diff --git a/Test/TestProject/output/faec3233d98371da.deps.json b/Test/TestProject/output/faec3233d98371da.deps.json index cd29946..909f537 100644 --- a/Test/TestProject/output/faec3233d98371da.deps.json +++ b/Test/TestProject/output/faec3233d98371da.deps.json @@ -1 +1 @@ -{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "test_numpy": "3cd87018ba1e76bc", "vipermath": "3f7c5e78d8652535", "main": "49cae05490a513cb", "stdio": "6f62fe05c5ea1ceb", "zc.test": "75583f20a922ab2e", "test": "75583f20a922ab2e", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "config": "cfc83b830141b00e", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "zc.class_test": "e5fb16127bce8f68", "class_test": "e5fb16127bce8f68", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "test_numpy": "3cd87018ba1e76bc", "vipermath": "3f7c5e78d8652535", "memhub": "47775d5e50909338", "main": "49cae05490a513cb", "stdio": "6f62fe05c5ea1ceb", "zc.test": "75583f20a922ab2e", "test": "75583f20a922ab2e", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "config": "cfc83b830141b00e", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "numpy.__init__": "c3a6aed1f1fb8b1e", "__init__": "c3a6aed1f1fb8b1e", "numpy": "c3a6aed1f1fb8b1e", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "zc.class_test": "e5fb16127bce8f68", "class_test": "e5fb16127bce8f68", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/TestProject/temp/47775d5e50909338.pyi b/Test/TestProject/temp/47775d5e50909338.pyi new file mode 100644 index 0000000..0c5f2cf --- /dev/null +++ b/Test/TestProject/temp/47775d5e50909338.pyi @@ -0,0 +1,88 @@ +""" +Auto-generated Python stub file from memhub.py +Module: memhub +""" + + +import t, c +from stdint import * +import string +import atom +import viperio +import stdio + +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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/TestProject/temp/_phase1_manifest.json b/Test/TestProject/temp/_phase1_manifest.json index 388d716..2ab4d49 100644 --- a/Test/TestProject/temp/_phase1_manifest.json +++ b/Test/TestProject/temp/_phase1_manifest.json @@ -1 +1 @@ -{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject\\App\\config.py": {"sha1": "8e0d8fdba991b3b4", "mtime": 1781111175.0269876, "size": 445}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject\\App\\main.py": {"sha1": "49cae05490a513cb", "mtime": 1782949786.0815294, "size": 8223}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject\\App\\test_numpy.py": {"sha1": "3cd87018ba1e76bc", "mtime": 1782828269.700148, "size": 40140}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject\\App\\zc\\class_test.py": {"sha1": "e5fb16127bce8f68", "mtime": 1782266207.4312654, "size": 6472}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject\\App\\zc\\config.py": {"sha1": "cfc83b830141b00e", "mtime": 1778402243.1661563, "size": 531}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject\\App\\zc\\logic_test.py": {"sha1": "faec3233d98371da", "mtime": 1778402365.7843194, "size": 8848}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject\\App\\zc\\test.py": {"sha1": "75583f20a922ab2e", "mtime": 1778401973.4865518, "size": 8976}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\numpy\\__init__.py": {"sha1": "c3a6aed1f1fb8b1e", "mtime": 1782949786.0890937, "size": 39111}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vipermath.py": {"sha1": "3f7c5e78d8652535", "mtime": 1781532528.2518907, "size": 15412}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject\\App\\config.py": {"sha1": "8e0d8fdba991b3b4", "mtime": 1781111175.0269876, "size": 445}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject\\App\\main.py": {"sha1": "49cae05490a513cb", "mtime": 1782949786.0815294, "size": 8223}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject\\App\\test_numpy.py": {"sha1": "3cd87018ba1e76bc", "mtime": 1782828269.700148, "size": 40140}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject\\App\\zc\\class_test.py": {"sha1": "e5fb16127bce8f68", "mtime": 1782266207.4312654, "size": 6472}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject\\App\\zc\\config.py": {"sha1": "cfc83b830141b00e", "mtime": 1778402243.1661563, "size": 531}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject\\App\\zc\\logic_test.py": {"sha1": "faec3233d98371da", "mtime": 1778402365.7843194, "size": 8848}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject\\App\\zc\\test.py": {"sha1": "75583f20a922ab2e", "mtime": 1778401973.4865518, "size": 8976}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\numpy\\__init__.py": {"sha1": "c3a6aed1f1fb8b1e", "mtime": 1784446436.2910569, "size": 39111}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vipermath.py": {"sha1": "3f7c5e78d8652535", "mtime": 1781532528.2518907, "size": 15412}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/Test/TestProject/temp/_sha1_map.txt b/Test/TestProject/temp/_sha1_map.txt index 3d03e0e..848d256 100644 --- a/Test/TestProject/temp/_sha1_map.txt +++ b/Test/TestProject/temp/_sha1_map.txt @@ -2,6 +2,7 @@ 271ea3decb810db2:includes/atom.py 3cd87018ba1e76bc:test_numpy.py 3f7c5e78d8652535:includes/vipermath.py +47775d5e50909338:includes/memhub.py 49cae05490a513cb:main.py 6f62fe05c5ea1ceb:includes/stdio.py 75583f20a922ab2e:zc\test.py @@ -14,6 +15,5 @@ c3a6aed1f1fb8b1e:includes/numpy\__init__.py c9f4be41ca1cc2b4:includes/viperio.py cfc83b830141b00e:zc\config.py e5fb16127bce8f68:zc\class_test.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py faec3233d98371da:zc\logic_test.py diff --git a/Test/TestProject/temp/_shared_sym.json b/Test/TestProject/temp/_shared_sym.json index 8217c2e2c91d30017e31d5e94f13bab6f70ce92a..8289e08e1440b2a4f6356441da04322cd370674c 100644 GIT binary patch literal 554459 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 Io2AMB1G)D+qW}N^ literal 555124 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 TP#A;x*7*jnC#RydnIHZ?LQ{n? diff --git a/Test/TestProject/temp/f3560b99de458aec.pyi b/Test/TestProject/temp/f3560b99de458aec.pyi deleted file mode 100644 index 84f0bbf..0000000 --- a/Test/TestProject/temp/f3560b99de458aec.pyi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self: MemBuddy) -> t.CSizeT: pass - def stats(self: MemBuddy) -> t.CSizeT: pass - def free_count(self: MemBuddy) -> t.CSizeT: pass - def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/TestProject2/output/0df65b8ed15664b0.deps.json b/Test/TestProject2/output/0df65b8ed15664b0.deps.json new file mode 100644 index 0000000..ed9483b --- /dev/null +++ b/Test/TestProject2/output/0df65b8ed15664b0.deps.json @@ -0,0 +1 @@ +{"hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "testcheck": "14d33679f7fadf1f", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "zlib.pyzlib": "1c46d554b3a3f9f3", "pyzlib": "1c46d554b3a3f9f3", "zlib.zdef": "213348433fb01cc6", "zdef": "213348433fb01cc6", "binascii": "257e074b935c33b4", "atom": "271ea3decb810db2", "zlib.zinflate": "451745df21e598af", "zinflate": "451745df21e598af", "memhub": "47775d5e50909338", "main": "541a1ed9b8be53c8", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "zlib.zchecksum": "8ebed83a7817fa0c", "zchecksum": "8ebed83a7817fa0c", "zlib.zdeflate": "90921d009fdd674c", "zdeflate": "90921d009fdd674c", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "hashlib.__init__": "96837bcc64032444", "__init__": "d63d2c2a2bd9bd2a", "hashlib": "96837bcc64032444", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "config": "cfc83b830141b00e", "zlib.zhuff": "d541ade6afb689a5", "zhuff": "d541ade6afb689a5", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "zlib.__init__": "d63d2c2a2bd9bd2a", "zlib": "d63d2c2a2bd9bd2a"} \ No newline at end of file diff --git a/Test/TestProject2/output/19f8024d10c828e8.deps.json b/Test/TestProject2/output/19f8024d10c828e8.deps.json new file mode 100644 index 0000000..ed9483b --- /dev/null +++ b/Test/TestProject2/output/19f8024d10c828e8.deps.json @@ -0,0 +1 @@ +{"hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "testcheck": "14d33679f7fadf1f", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "zlib.pyzlib": "1c46d554b3a3f9f3", "pyzlib": "1c46d554b3a3f9f3", "zlib.zdef": "213348433fb01cc6", "zdef": "213348433fb01cc6", "binascii": "257e074b935c33b4", "atom": "271ea3decb810db2", "zlib.zinflate": "451745df21e598af", "zinflate": "451745df21e598af", "memhub": "47775d5e50909338", "main": "541a1ed9b8be53c8", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "zlib.zchecksum": "8ebed83a7817fa0c", "zchecksum": "8ebed83a7817fa0c", "zlib.zdeflate": "90921d009fdd674c", "zdeflate": "90921d009fdd674c", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "hashlib.__init__": "96837bcc64032444", "__init__": "d63d2c2a2bd9bd2a", "hashlib": "96837bcc64032444", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "config": "cfc83b830141b00e", "zlib.zhuff": "d541ade6afb689a5", "zhuff": "d541ade6afb689a5", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "zlib.__init__": "d63d2c2a2bd9bd2a", "zlib": "d63d2c2a2bd9bd2a"} \ No newline at end of file diff --git a/Test/TestProject2/output/1c46d554b3a3f9f3.deps.json b/Test/TestProject2/output/1c46d554b3a3f9f3.deps.json new file mode 100644 index 0000000..ed9483b --- /dev/null +++ b/Test/TestProject2/output/1c46d554b3a3f9f3.deps.json @@ -0,0 +1 @@ +{"hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "testcheck": "14d33679f7fadf1f", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "zlib.pyzlib": "1c46d554b3a3f9f3", "pyzlib": "1c46d554b3a3f9f3", "zlib.zdef": "213348433fb01cc6", "zdef": "213348433fb01cc6", "binascii": "257e074b935c33b4", "atom": "271ea3decb810db2", "zlib.zinflate": "451745df21e598af", "zinflate": "451745df21e598af", "memhub": "47775d5e50909338", "main": "541a1ed9b8be53c8", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "zlib.zchecksum": "8ebed83a7817fa0c", "zchecksum": "8ebed83a7817fa0c", "zlib.zdeflate": "90921d009fdd674c", "zdeflate": "90921d009fdd674c", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "hashlib.__init__": "96837bcc64032444", "__init__": "d63d2c2a2bd9bd2a", "hashlib": "96837bcc64032444", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "config": "cfc83b830141b00e", "zlib.zhuff": "d541ade6afb689a5", "zhuff": "d541ade6afb689a5", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "zlib.__init__": "d63d2c2a2bd9bd2a", "zlib": "d63d2c2a2bd9bd2a"} \ No newline at end of file diff --git a/Test/TestProject2/output/213348433fb01cc6.deps.json b/Test/TestProject2/output/213348433fb01cc6.deps.json new file mode 100644 index 0000000..ed9483b --- /dev/null +++ b/Test/TestProject2/output/213348433fb01cc6.deps.json @@ -0,0 +1 @@ +{"hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "testcheck": "14d33679f7fadf1f", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "zlib.pyzlib": "1c46d554b3a3f9f3", "pyzlib": "1c46d554b3a3f9f3", "zlib.zdef": "213348433fb01cc6", "zdef": "213348433fb01cc6", "binascii": "257e074b935c33b4", "atom": "271ea3decb810db2", "zlib.zinflate": "451745df21e598af", "zinflate": "451745df21e598af", "memhub": "47775d5e50909338", "main": "541a1ed9b8be53c8", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "zlib.zchecksum": "8ebed83a7817fa0c", "zchecksum": "8ebed83a7817fa0c", "zlib.zdeflate": "90921d009fdd674c", "zdeflate": "90921d009fdd674c", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "hashlib.__init__": "96837bcc64032444", "__init__": "d63d2c2a2bd9bd2a", "hashlib": "96837bcc64032444", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "config": "cfc83b830141b00e", "zlib.zhuff": "d541ade6afb689a5", "zhuff": "d541ade6afb689a5", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "zlib.__init__": "d63d2c2a2bd9bd2a", "zlib": "d63d2c2a2bd9bd2a"} \ No newline at end of file diff --git a/Test/TestProject2/output/257e074b935c33b4.deps.json b/Test/TestProject2/output/257e074b935c33b4.deps.json new file mode 100644 index 0000000..ed9483b --- /dev/null +++ b/Test/TestProject2/output/257e074b935c33b4.deps.json @@ -0,0 +1 @@ +{"hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "testcheck": "14d33679f7fadf1f", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "zlib.pyzlib": "1c46d554b3a3f9f3", "pyzlib": "1c46d554b3a3f9f3", "zlib.zdef": "213348433fb01cc6", "zdef": "213348433fb01cc6", "binascii": "257e074b935c33b4", "atom": "271ea3decb810db2", "zlib.zinflate": "451745df21e598af", "zinflate": "451745df21e598af", "memhub": "47775d5e50909338", "main": "541a1ed9b8be53c8", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "zlib.zchecksum": "8ebed83a7817fa0c", "zchecksum": "8ebed83a7817fa0c", "zlib.zdeflate": "90921d009fdd674c", "zdeflate": "90921d009fdd674c", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "hashlib.__init__": "96837bcc64032444", "__init__": "d63d2c2a2bd9bd2a", "hashlib": "96837bcc64032444", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "config": "cfc83b830141b00e", "zlib.zhuff": "d541ade6afb689a5", "zhuff": "d541ade6afb689a5", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "zlib.__init__": "d63d2c2a2bd9bd2a", "zlib": "d63d2c2a2bd9bd2a"} \ No newline at end of file diff --git a/Test/TestProject2/output/451745df21e598af.deps.json b/Test/TestProject2/output/451745df21e598af.deps.json new file mode 100644 index 0000000..ed9483b --- /dev/null +++ b/Test/TestProject2/output/451745df21e598af.deps.json @@ -0,0 +1 @@ +{"hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "testcheck": "14d33679f7fadf1f", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "zlib.pyzlib": "1c46d554b3a3f9f3", "pyzlib": "1c46d554b3a3f9f3", "zlib.zdef": "213348433fb01cc6", "zdef": "213348433fb01cc6", "binascii": "257e074b935c33b4", "atom": "271ea3decb810db2", "zlib.zinflate": "451745df21e598af", "zinflate": "451745df21e598af", "memhub": "47775d5e50909338", "main": "541a1ed9b8be53c8", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "zlib.zchecksum": "8ebed83a7817fa0c", "zchecksum": "8ebed83a7817fa0c", "zlib.zdeflate": "90921d009fdd674c", "zdeflate": "90921d009fdd674c", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "hashlib.__init__": "96837bcc64032444", "__init__": "d63d2c2a2bd9bd2a", "hashlib": "96837bcc64032444", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "config": "cfc83b830141b00e", "zlib.zhuff": "d541ade6afb689a5", "zhuff": "d541ade6afb689a5", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "zlib.__init__": "d63d2c2a2bd9bd2a", "zlib": "d63d2c2a2bd9bd2a"} \ No newline at end of file diff --git a/Test/TestProject2/output/541a1ed9b8be53c8.deps.json b/Test/TestProject2/output/541a1ed9b8be53c8.deps.json index 995dd61..752987e 100644 --- a/Test/TestProject2/output/541a1ed9b8be53c8.deps.json +++ b/Test/TestProject2/output/541a1ed9b8be53c8.deps.json @@ -1 +1 @@ -{"hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "testcheck": "14d33679f7fadf1f", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "zlib.pyzlib": "1c46d554b3a3f9f3", "pyzlib": "1c46d554b3a3f9f3", "zlib.zdef": "213348433fb01cc6", "zdef": "213348433fb01cc6", "binascii": "257e074b935c33b4", "atom": "271ea3decb810db2", "zlib.zinflate": "451745df21e598af", "zinflate": "451745df21e598af", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "zlib.zchecksum": "8ebed83a7817fa0c", "zchecksum": "8ebed83a7817fa0c", "zlib.zdeflate": "90921d009fdd674c", "zdeflate": "90921d009fdd674c", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "hashlib.__init__": "96837bcc64032444", "__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "config": "cfc83b830141b00e", "zlib.zhuff": "d541ade6afb689a5", "zhuff": "d541ade6afb689a5", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"} \ No newline at end of file +{"hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "testcheck": "14d33679f7fadf1f", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "zlib.pyzlib": "1c46d554b3a3f9f3", "pyzlib": "1c46d554b3a3f9f3", "zlib.zdef": "213348433fb01cc6", "zdef": "213348433fb01cc6", "binascii": "257e074b935c33b4", "atom": "271ea3decb810db2", "zlib.zinflate": "451745df21e598af", "zinflate": "451745df21e598af", "memhub": "47775d5e50909338", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "zlib.zchecksum": "8ebed83a7817fa0c", "zchecksum": "8ebed83a7817fa0c", "zlib.zdeflate": "90921d009fdd674c", "zdeflate": "90921d009fdd674c", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "hashlib.__init__": "96837bcc64032444", "__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "config": "cfc83b830141b00e", "zlib.zhuff": "d541ade6afb689a5", "zhuff": "d541ade6afb689a5", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/TestProject2/output/6ff26590374ae6fc.deps.json b/Test/TestProject2/output/6ff26590374ae6fc.deps.json new file mode 100644 index 0000000..ed9483b --- /dev/null +++ b/Test/TestProject2/output/6ff26590374ae6fc.deps.json @@ -0,0 +1 @@ +{"hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "testcheck": "14d33679f7fadf1f", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "zlib.pyzlib": "1c46d554b3a3f9f3", "pyzlib": "1c46d554b3a3f9f3", "zlib.zdef": "213348433fb01cc6", "zdef": "213348433fb01cc6", "binascii": "257e074b935c33b4", "atom": "271ea3decb810db2", "zlib.zinflate": "451745df21e598af", "zinflate": "451745df21e598af", "memhub": "47775d5e50909338", "main": "541a1ed9b8be53c8", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "zlib.zchecksum": "8ebed83a7817fa0c", "zchecksum": "8ebed83a7817fa0c", "zlib.zdeflate": "90921d009fdd674c", "zdeflate": "90921d009fdd674c", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "hashlib.__init__": "96837bcc64032444", "__init__": "d63d2c2a2bd9bd2a", "hashlib": "96837bcc64032444", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "config": "cfc83b830141b00e", "zlib.zhuff": "d541ade6afb689a5", "zhuff": "d541ade6afb689a5", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "zlib.__init__": "d63d2c2a2bd9bd2a", "zlib": "d63d2c2a2bd9bd2a"} \ No newline at end of file diff --git a/Test/TestProject2/output/8ebed83a7817fa0c.deps.json b/Test/TestProject2/output/8ebed83a7817fa0c.deps.json new file mode 100644 index 0000000..ed9483b --- /dev/null +++ b/Test/TestProject2/output/8ebed83a7817fa0c.deps.json @@ -0,0 +1 @@ +{"hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "testcheck": "14d33679f7fadf1f", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "zlib.pyzlib": "1c46d554b3a3f9f3", "pyzlib": "1c46d554b3a3f9f3", "zlib.zdef": "213348433fb01cc6", "zdef": "213348433fb01cc6", "binascii": "257e074b935c33b4", "atom": "271ea3decb810db2", "zlib.zinflate": "451745df21e598af", "zinflate": "451745df21e598af", "memhub": "47775d5e50909338", "main": "541a1ed9b8be53c8", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "zlib.zchecksum": "8ebed83a7817fa0c", "zchecksum": "8ebed83a7817fa0c", "zlib.zdeflate": "90921d009fdd674c", "zdeflate": "90921d009fdd674c", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "hashlib.__init__": "96837bcc64032444", "__init__": "d63d2c2a2bd9bd2a", "hashlib": "96837bcc64032444", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "config": "cfc83b830141b00e", "zlib.zhuff": "d541ade6afb689a5", "zhuff": "d541ade6afb689a5", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "zlib.__init__": "d63d2c2a2bd9bd2a", "zlib": "d63d2c2a2bd9bd2a"} \ No newline at end of file diff --git a/Test/TestProject2/output/90921d009fdd674c.deps.json b/Test/TestProject2/output/90921d009fdd674c.deps.json new file mode 100644 index 0000000..ed9483b --- /dev/null +++ b/Test/TestProject2/output/90921d009fdd674c.deps.json @@ -0,0 +1 @@ +{"hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "testcheck": "14d33679f7fadf1f", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "zlib.pyzlib": "1c46d554b3a3f9f3", "pyzlib": "1c46d554b3a3f9f3", "zlib.zdef": "213348433fb01cc6", "zdef": "213348433fb01cc6", "binascii": "257e074b935c33b4", "atom": "271ea3decb810db2", "zlib.zinflate": "451745df21e598af", "zinflate": "451745df21e598af", "memhub": "47775d5e50909338", "main": "541a1ed9b8be53c8", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "zlib.zchecksum": "8ebed83a7817fa0c", "zchecksum": "8ebed83a7817fa0c", "zlib.zdeflate": "90921d009fdd674c", "zdeflate": "90921d009fdd674c", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "hashlib.__init__": "96837bcc64032444", "__init__": "d63d2c2a2bd9bd2a", "hashlib": "96837bcc64032444", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "zc.config": "cfc83b830141b00e", "config": "cfc83b830141b00e", "zlib.zhuff": "d541ade6afb689a5", "zhuff": "d541ade6afb689a5", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "zlib.__init__": "d63d2c2a2bd9bd2a", "zlib": "d63d2c2a2bd9bd2a"} \ No newline at end of file diff --git a/Test/TestProject2/output/_shared_sym_includes.pickle b/Test/TestProject2/output/_shared_sym_includes.pickle new file mode 100644 index 0000000000000000000000000000000000000000..6cee9ce0843d34419d36a764c47af40bd5a57e43 GIT binary patch literal 723655 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 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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/TestProject2/temp/_phase1_manifest.json b/Test/TestProject2/temp/_phase1_manifest.json index 36df067..43b6417 100644 --- a/Test/TestProject2/temp/_phase1_manifest.json +++ b/Test/TestProject2/temp/_phase1_manifest.json @@ -1 +1 @@ -{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject2\\App\\main.py": {"sha1": "541a1ed9b8be53c8", "mtime": 1782266206.092594, "size": 881}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject2\\App\\zc\\config.py": {"sha1": "cfc83b830141b00e", "mtime": 1778402243.1661563, "size": 531}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\binascii.py": {"sha1": "257e074b935c33b4", "mtime": 1782266199.8074288, "size": 14937}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__init__.py": {"sha1": "96837bcc64032444", "mtime": 1777902641.540433, "size": 186}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__md5.py": {"sha1": "19f8024d10c828e8", "mtime": 1784356818.7075372, "size": 5847}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha1.py": {"sha1": "0df65b8ed15664b0", "mtime": 1784356827.656474, "size": 4516}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha256.py": {"sha1": "c9d54a4158f7f5a8", "mtime": 1782266203.9352357, "size": 5332}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha512.py": {"sha1": "6ff26590374ae6fc", "mtime": 1782266223.3380039, "size": 7162}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\zlib\\pyzlib.py": {"sha1": "1c46d554b3a3f9f3", "mtime": 1783538216.7783763, "size": 26101}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\zlib\\zchecksum.py": {"sha1": "8ebed83a7817fa0c", "mtime": 1782266235.9510274, "size": 4067}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\zlib\\zdef.py": {"sha1": "213348433fb01cc6", "mtime": 1782827035.812386, "size": 8591}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\zlib\\zdeflate.py": {"sha1": "90921d009fdd674c", "mtime": 1783538197.82992, "size": 19061}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\zlib\\zhuff.py": {"sha1": "d541ade6afb689a5", "mtime": 1782827037.897873, "size": 13495}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\zlib\\zinflate.py": {"sha1": "451745df21e598af", "mtime": 1782827035.992862, "size": 18078}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject2\\App\\main.py": {"sha1": "541a1ed9b8be53c8", "mtime": 1782266206.092594, "size": 881}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject2\\App\\zc\\config.py": {"sha1": "cfc83b830141b00e", "mtime": 1778402243.1661563, "size": 531}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\binascii.py": {"sha1": "257e074b935c33b4", "mtime": 1782266199.8074288, "size": 14937}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__init__.py": {"sha1": "96837bcc64032444", "mtime": 1777902641.540433, "size": 186}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__md5.py": {"sha1": "19f8024d10c828e8", "mtime": 1784356818.7075372, "size": 5847}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha1.py": {"sha1": "0df65b8ed15664b0", "mtime": 1784356827.656474, "size": 4516}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha256.py": {"sha1": "c9d54a4158f7f5a8", "mtime": 1782266203.9352357, "size": 5332}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha512.py": {"sha1": "6ff26590374ae6fc", "mtime": 1782266223.3380039, "size": 7162}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\zlib\\pyzlib.py": {"sha1": "1c46d554b3a3f9f3", "mtime": 1783538216.7783763, "size": 26101}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\zlib\\zchecksum.py": {"sha1": "8ebed83a7817fa0c", "mtime": 1782266235.9510274, "size": 4067}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\zlib\\zdef.py": {"sha1": "213348433fb01cc6", "mtime": 1782827035.812386, "size": 8591}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\zlib\\zdeflate.py": {"sha1": "90921d009fdd674c", "mtime": 1783538197.82992, "size": 19061}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\zlib\\zhuff.py": {"sha1": "d541ade6afb689a5", "mtime": 1782827037.897873, "size": 13495}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\zlib\\zinflate.py": {"sha1": "451745df21e598af", "mtime": 1782827035.992862, "size": 18078}} \ No newline at end of file diff --git a/Test/TestProject2/temp/_sha1_map.txt b/Test/TestProject2/temp/_sha1_map.txt index df25906..f3411f4 100644 --- a/Test/TestProject2/temp/_sha1_map.txt +++ b/Test/TestProject2/temp/_sha1_map.txt @@ -6,6 +6,7 @@ 257e074b935c33b4:includes/binascii.py 271ea3decb810db2:includes/atom.py 451745df21e598af:includes/zlib\zinflate.py +47775d5e50909338:includes/memhub.py 541a1ed9b8be53c8:main.py 6f62fe05c5ea1ceb:includes/stdio.py 6ff26590374ae6fc:includes/hashlib\__sha512.py @@ -20,5 +21,4 @@ c9d54a4158f7f5a8:includes/hashlib\__sha256.py c9f4be41ca1cc2b4:includes/viperio.py cfc83b830141b00e:zc\config.py d541ade6afb689a5:includes/zlib\zhuff.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/TestProject2/temp/_shared_sym.json b/Test/TestProject2/temp/_shared_sym.json index 283482818d12d194687588aa5868949700fd42b7..8a338b0399dd783e5b965bf55f7a40649efa93be 100644 GIT binary patch literal 463038 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‡KvRhvS%E1hX7@JewxC5s8pKIa
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
CS3Q^j

literal 463682
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

diff --git a/Test/TestProject2/temp/f3560b99de458aec.pyi b/Test/TestProject2/temp/f3560b99de458aec.pyi
deleted file mode 100644
index 84f0bbf..0000000
--- a/Test/TestProject2/temp/f3560b99de458aec.pyi
+++ /dev/null
@@ -1,86 +0,0 @@
-"""
-Auto-generated Python stub file from memhub.py
-Module: memhub
-"""
-
-
-import t, c
-from stdint import *
-import string
-import atom
-import viperio
-
-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] = ['__memmgr__']
-    base: t.CVoid | t.CPtr
-    size: t.CSizeT
-    def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
-    def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
-    def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
-    def reset(self: MemManager) -> t.CInt: pass
-    def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
-    def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass
-    def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass
-    def __exit__(self: MemManager) -> t.CInt: pass
-    def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass
-class MemPool(MemManager):
-    offset: t.CSizeT
-    high_water: t.CSizeT
-    def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
-    def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
-    def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
-    def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass
-    def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
-    def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
-    def reset(self: MemSlab) -> t.CInt: pass
-class MemBuddy(MemManager):
-    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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
-    def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass
-    def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass
-    def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass
-    def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass
-    def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass
-    def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass
-    def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass
-    def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
-    def _lock(self: MemBuddy) -> t.CInt: pass
-    def _unlock(self: MemBuddy) -> t.CInt: pass
-    def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
-    def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
-    def reset(self: MemBuddy) -> t.CInt: pass
-    def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass
-    @property
-    def mem_size(self: MemBuddy) -> t.CSizeT: pass
-    def stats(self: MemBuddy) -> t.CSizeT: pass
-    def free_count(self: MemBuddy) -> t.CSizeT: pass
-    def self_check(self: MemBuddy) -> t.CInt: pass
\ No newline at end of file
diff --git a/Test/TestProject3/output/0019c939aae7f9f1.deps.json b/Test/TestProject3/output/0019c939aae7f9f1.deps.json
index 2936a93..37f5f37 100644
--- a/Test/TestProject3/output/0019c939aae7f9f1.deps.json
+++ b/Test/TestProject3/output/0019c939aae7f9f1.deps.json
@@ -1 +1 @@
-{"w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "testcheck": "14d33679f7fadf1f", "enumtest": "1b58766d38d05de3", "atom": "271ea3decb810db2", "vector": "285a822aa26bfbda", "definetest": "64ac83614c9bdbc6", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "main": "b235d6477436c524", "vectortest": "b777c587cc21465a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "fileiotest": "c01b27dbcd683245", "viperlib": "c3b259b4059f8668", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"}
\ No newline at end of file
+{"w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "testcheck": "14d33679f7fadf1f", "enumtest": "1b58766d38d05de3", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "vector": "285a822aa26bfbda", "memhub": "47775d5e50909338", "definetest": "64ac83614c9bdbc6", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "main": "b235d6477436c524", "vectortest": "b777c587cc21465a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "fileiotest": "c01b27dbcd683245", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"}
\ No newline at end of file
diff --git a/Test/TestProject3/output/1b58766d38d05de3.deps.json b/Test/TestProject3/output/1b58766d38d05de3.deps.json
index 5030c5a..8320023 100644
--- a/Test/TestProject3/output/1b58766d38d05de3.deps.json
+++ b/Test/TestProject3/output/1b58766d38d05de3.deps.json
@@ -1 +1 @@
-{"mpooltest": "0019c939aae7f9f1", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "testcheck": "14d33679f7fadf1f", "atom": "271ea3decb810db2", "vector": "285a822aa26bfbda", "definetest": "64ac83614c9bdbc6", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "main": "b235d6477436c524", "vectortest": "b777c587cc21465a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "fileiotest": "c01b27dbcd683245", "viperlib": "c3b259b4059f8668", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"}
\ No newline at end of file
+{"mpooltest": "0019c939aae7f9f1", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "testcheck": "14d33679f7fadf1f", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "vector": "285a822aa26bfbda", "memhub": "47775d5e50909338", "definetest": "64ac83614c9bdbc6", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "main": "b235d6477436c524", "vectortest": "b777c587cc21465a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "fileiotest": "c01b27dbcd683245", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"}
\ No newline at end of file
diff --git a/Test/TestProject3/output/285a822aa26bfbda.deps.json b/Test/TestProject3/output/285a822aa26bfbda.deps.json
new file mode 100644
index 0000000..08e8278
--- /dev/null
+++ b/Test/TestProject3/output/285a822aa26bfbda.deps.json
@@ -0,0 +1 @@
+{"mpooltest": "0019c939aae7f9f1", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "testcheck": "14d33679f7fadf1f", "enumtest": "1b58766d38d05de3", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "vector": "285a822aa26bfbda", "memhub": "47775d5e50909338", "definetest": "64ac83614c9bdbc6", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "main": "b235d6477436c524", "vectortest": "b777c587cc21465a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "fileiotest": "c01b27dbcd683245", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "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/TestProject3/output/64ac83614c9bdbc6.deps.json b/Test/TestProject3/output/64ac83614c9bdbc6.deps.json
index 080c2a9..de74b3e 100644
--- a/Test/TestProject3/output/64ac83614c9bdbc6.deps.json
+++ b/Test/TestProject3/output/64ac83614c9bdbc6.deps.json
@@ -1 +1 @@
-{"mpooltest": "0019c939aae7f9f1", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "testcheck": "14d33679f7fadf1f", "enumtest": "1b58766d38d05de3", "atom": "271ea3decb810db2", "vector": "285a822aa26bfbda", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "main": "b235d6477436c524", "vectortest": "b777c587cc21465a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "fileiotest": "c01b27dbcd683245", "viperlib": "c3b259b4059f8668", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"}
\ No newline at end of file
+{"mpooltest": "0019c939aae7f9f1", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "testcheck": "14d33679f7fadf1f", "enumtest": "1b58766d38d05de3", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "vector": "285a822aa26bfbda", "memhub": "47775d5e50909338", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "main": "b235d6477436c524", "vectortest": "b777c587cc21465a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "fileiotest": "c01b27dbcd683245", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"}
\ No newline at end of file
diff --git a/Test/TestProject3/output/b235d6477436c524.deps.json b/Test/TestProject3/output/b235d6477436c524.deps.json
index 993e7c0..8cb1339 100644
--- a/Test/TestProject3/output/b235d6477436c524.deps.json
+++ b/Test/TestProject3/output/b235d6477436c524.deps.json
@@ -1 +1 @@
-{"mpooltest": "0019c939aae7f9f1", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "testcheck": "14d33679f7fadf1f", "enumtest": "1b58766d38d05de3", "atom": "271ea3decb810db2", "vector": "285a822aa26bfbda", "definetest": "64ac83614c9bdbc6", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "vectortest": "b777c587cc21465a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "fileiotest": "c01b27dbcd683245", "viperlib": "c3b259b4059f8668", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"}
\ No newline at end of file
+{"mpooltest": "0019c939aae7f9f1", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "testcheck": "14d33679f7fadf1f", "enumtest": "1b58766d38d05de3", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "vector": "285a822aa26bfbda", "memhub": "47775d5e50909338", "definetest": "64ac83614c9bdbc6", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "vectortest": "b777c587cc21465a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "fileiotest": "c01b27dbcd683245", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"}
\ No newline at end of file
diff --git a/Test/TestProject3/output/b777c587cc21465a.deps.json b/Test/TestProject3/output/b777c587cc21465a.deps.json
index eb0338c..8a8e5f4 100644
--- a/Test/TestProject3/output/b777c587cc21465a.deps.json
+++ b/Test/TestProject3/output/b777c587cc21465a.deps.json
@@ -1 +1 @@
-{"mpooltest": "0019c939aae7f9f1", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "testcheck": "14d33679f7fadf1f", "enumtest": "1b58766d38d05de3", "atom": "271ea3decb810db2", "vector": "285a822aa26bfbda", "definetest": "64ac83614c9bdbc6", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "main": "b235d6477436c524", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "fileiotest": "c01b27dbcd683245", "viperlib": "c3b259b4059f8668", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"}
\ No newline at end of file
+{"mpooltest": "0019c939aae7f9f1", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "testcheck": "14d33679f7fadf1f", "enumtest": "1b58766d38d05de3", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "vector": "285a822aa26bfbda", "memhub": "47775d5e50909338", "definetest": "64ac83614c9bdbc6", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "main": "b235d6477436c524", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "fileiotest": "c01b27dbcd683245", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"}
\ No newline at end of file
diff --git a/Test/TestProject3/output/c01b27dbcd683245.deps.json b/Test/TestProject3/output/c01b27dbcd683245.deps.json
index 587c9b6..173b229 100644
--- a/Test/TestProject3/output/c01b27dbcd683245.deps.json
+++ b/Test/TestProject3/output/c01b27dbcd683245.deps.json
@@ -1 +1 @@
-{"mpooltest": "0019c939aae7f9f1", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "testcheck": "14d33679f7fadf1f", "enumtest": "1b58766d38d05de3", "atom": "271ea3decb810db2", "vector": "285a822aa26bfbda", "definetest": "64ac83614c9bdbc6", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "main": "b235d6477436c524", "vectortest": "b777c587cc21465a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"}
\ No newline at end of file
+{"mpooltest": "0019c939aae7f9f1", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "testcheck": "14d33679f7fadf1f", "enumtest": "1b58766d38d05de3", "viperlib": "1d40c4bdc94641c5", "atom": "271ea3decb810db2", "vector": "285a822aa26bfbda", "memhub": "47775d5e50909338", "definetest": "64ac83614c9bdbc6", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "main": "b235d6477436c524", "vectortest": "b777c587cc21465a", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"}
\ No newline at end of file
diff --git a/Test/TestProject3/temp/1d40c4bdc94641c5.pyi b/Test/TestProject3/temp/1d40c4bdc94641c5.pyi
new file mode 100644
index 0000000..597cc07
--- /dev/null
+++ b/Test/TestProject3/temp/1d40c4bdc94641c5.pyi
@@ -0,0 +1,24 @@
+"""
+Auto-generated Python stub file from viperlib.py
+Module: viperlib
+"""
+
+
+import t, c
+import viperio
+import stdio
+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/TestProject3/temp/47775d5e50909338.pyi b/Test/TestProject3/temp/47775d5e50909338.pyi
new file mode 100644
index 0000000..0c5f2cf
--- /dev/null
+++ b/Test/TestProject3/temp/47775d5e50909338.pyi
@@ -0,0 +1,88 @@
+"""
+Auto-generated Python stub file from memhub.py
+Module: memhub
+"""
+
+
+import t, c
+from stdint import *
+import string
+import atom
+import viperio
+import stdio
+
+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] = ['__memmgr__']
+    base: t.CVoid | t.CPtr
+    size: t.CSizeT
+    def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
+    def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
+    def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
+    def reset(self: MemManager) -> t.CInt: pass
+    def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
+    def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass
+    def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass
+    def __exit__(self: MemManager) -> t.CInt: pass
+    def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass
+class MemPool(MemManager):
+    offset: t.CSizeT
+    high_water: t.CSizeT
+    def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
+    def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
+    def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
+    def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass
+    def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
+    def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
+    def reset(self: MemSlab) -> t.CInt: pass
+class MemBuddy(MemManager):
+    __provides__: list[str] = ['__mbuddy__', '__memmgr__']
+    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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
+    def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass
+    def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass
+    def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass
+    def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass
+    def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass
+    def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass
+    def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass
+    def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
+    def _lock(self: MemBuddy) -> t.CInt: pass
+    def _unlock(self: MemBuddy) -> t.CInt: pass
+    def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
+    def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
+    def reset(self: MemBuddy) -> t.CInt: pass
+    def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass
+    @property
+    def mem_size(self: MemBuddy) -> t.CSizeT: pass
+    def stats(self: MemBuddy) -> t.CSizeT: pass
+    def free_count(self: MemBuddy) -> t.CSizeT: pass
+    def self_check(self: MemBuddy) -> t.CInt: pass
\ No newline at end of file
diff --git a/Test/TestProject3/temp/_phase1_manifest.json b/Test/TestProject3/temp/_phase1_manifest.json
index 42c45a8..1302d31 100644
--- a/Test/TestProject3/temp/_phase1_manifest.json
+++ b/Test/TestProject3/temp/_phase1_manifest.json
@@ -1 +1 @@
-{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject3\\App\\definetest.py": {"sha1": "64ac83614c9bdbc6", "mtime": 1781005527.138675, "size": 9399}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject3\\App\\enumtest.py": {"sha1": "1b58766d38d05de3", "mtime": 1781025043.7585423, "size": 2094}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject3\\App\\fileiotest.py": {"sha1": "c01b27dbcd683245", "mtime": 1781261000.2857711, "size": 12600}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject3\\App\\main.py": {"sha1": "b235d6477436c524", "mtime": 1782110387.1454024, "size": 15478}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject3\\App\\mpooltest.py": {"sha1": "0019c939aae7f9f1", "mtime": 1782828388.8033123, "size": 2789}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject3\\App\\vectortest.py": {"sha1": "b777c587cc21465a", "mtime": 1782828416.8050296, "size": 1215}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.py": {"sha1": "93c1d18e35d188d6", "mtime": 1781237231.03366, "size": 1422}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vector.py": {"sha1": "285a822aa26bfbda", "mtime": 1784375432.2854693, "size": 2071}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "c3b259b4059f8668", "mtime": 1782821991.979496, "size": 56772}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\fileio.py": {"sha1": "0035c95a18d4f8e8", "mtime": 1783747022.686592, "size": 14147}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32file.py": {"sha1": "f6b51804a0ba8ff0", "mtime": 1782531158.744144, "size": 8424}}
\ No newline at end of file
+{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject3\\App\\definetest.py": {"sha1": "64ac83614c9bdbc6", "mtime": 1781005527.138675, "size": 9399}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject3\\App\\enumtest.py": {"sha1": "1b58766d38d05de3", "mtime": 1781025043.7585423, "size": 2094}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject3\\App\\fileiotest.py": {"sha1": "c01b27dbcd683245", "mtime": 1781261000.2857711, "size": 12600}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject3\\App\\main.py": {"sha1": "b235d6477436c524", "mtime": 1782110387.1454024, "size": 15478}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject3\\App\\mpooltest.py": {"sha1": "0019c939aae7f9f1", "mtime": 1782828388.8033123, "size": 2789}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\TestProject3\\App\\vectortest.py": {"sha1": "b777c587cc21465a", "mtime": 1782828416.8050296, "size": 1215}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.py": {"sha1": "93c1d18e35d188d6", "mtime": 1781237231.03366, "size": 1422}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\vector.py": {"sha1": "285a822aa26bfbda", "mtime": 1784375432.2854693, "size": 2071}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "1d40c4bdc94641c5", "mtime": 1784470563.362105, "size": 56865}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\fileio.py": {"sha1": "0035c95a18d4f8e8", "mtime": 1783747022.686592, "size": 14147}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32file.py": {"sha1": "f6b51804a0ba8ff0", "mtime": 1782531158.744144, "size": 8424}}
\ No newline at end of file
diff --git a/Test/TestProject3/temp/_sha1_map.txt b/Test/TestProject3/temp/_sha1_map.txt
index eeb15a9..27e4984 100644
--- a/Test/TestProject3/temp/_sha1_map.txt
+++ b/Test/TestProject3/temp/_sha1_map.txt
@@ -2,8 +2,10 @@
 0035c95a18d4f8e8:includes/w32\fileio.py
 14d33679f7fadf1f:includes/testcheck.py
 1b58766d38d05de3:enumtest.py
+1d40c4bdc94641c5:includes/viperlib.py
 271ea3decb810db2:includes/atom.py
 285a822aa26bfbda:includes/vector.py
+47775d5e50909338:includes/memhub.py
 64ac83614c9bdbc6:definetest.py
 6f62fe05c5ea1ceb:includes/stdio.py
 71e0a3ffcb3ebfad:includes/stdarg.py
@@ -15,8 +17,6 @@ b235d6477436c524:main.py
 b777c587cc21465a:vectortest.py
 bbdf3bbd4c3bc28c:includes/w32\win32console.py
 c01b27dbcd683245:fileiotest.py
-c3b259b4059f8668:includes/viperlib.py
 c9f4be41ca1cc2b4:includes/viperio.py
-f3560b99de458aec:includes/memhub.py
 f5522571bcce7bcb:includes/stdint.py
 f6b51804a0ba8ff0:includes/w32\win32file.py
diff --git a/Test/TestProject3/temp/_shared_sym.json b/Test/TestProject3/temp/_shared_sym.json
index 77335ebbb4fbee9b9f4bf55202c6ad025ca93851..cf173d29f058fc39753a8e195628a1dcbc593c09 100644
GIT binary patch
literal 520853
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%0DcpRQ^YOm;%rC8k{&4Jx{ESJw4BOSFIqk
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 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/TestProject3/temp/f3560b99de458aec.pyi b/Test/TestProject3/temp/f3560b99de458aec.pyi
deleted file mode 100644
index 84f0bbf..0000000
--- a/Test/TestProject3/temp/f3560b99de458aec.pyi
+++ /dev/null
@@ -1,86 +0,0 @@
-"""
-Auto-generated Python stub file from memhub.py
-Module: memhub
-"""
-
-
-import t, c
-from stdint import *
-import string
-import atom
-import viperio
-
-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] = ['__memmgr__']
-    base: t.CVoid | t.CPtr
-    size: t.CSizeT
-    def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
-    def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
-    def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
-    def reset(self: MemManager) -> t.CInt: pass
-    def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
-    def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass
-    def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass
-    def __exit__(self: MemManager) -> t.CInt: pass
-    def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass
-class MemPool(MemManager):
-    offset: t.CSizeT
-    high_water: t.CSizeT
-    def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
-    def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
-    def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
-    def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass
-    def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
-    def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
-    def reset(self: MemSlab) -> t.CInt: pass
-class MemBuddy(MemManager):
-    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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass
-    def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass
-    def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass
-    def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass
-    def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass
-    def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass
-    def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass
-    def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass
-    def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
-    def _lock(self: MemBuddy) -> t.CInt: pass
-    def _unlock(self: MemBuddy) -> t.CInt: pass
-    def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass
-    def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass
-    def reset(self: MemBuddy) -> t.CInt: pass
-    def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass
-    @property
-    def mem_size(self: MemBuddy) -> t.CSizeT: pass
-    def stats(self: MemBuddy) -> t.CSizeT: pass
-    def free_count(self: MemBuddy) -> t.CSizeT: pass
-    def self_check(self: MemBuddy) -> t.CInt: pass
\ No newline at end of file
diff --git a/Test/VRandomTest/output/3f7c5e78d8652535.deps.json b/Test/VRandomTest/output/3f7c5e78d8652535.deps.json
new file mode 100644
index 0000000..e449ec4
--- /dev/null
+++ b/Test/VRandomTest/output/3f7c5e78d8652535.deps.json
@@ -0,0 +1 @@
+{"testcheck": "14d33679f7fadf1f", "vipermath": "3f7c5e78d8652535", "vrandom": "62cc01c2bb770ca3", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "e24a7f4a875f4518", "stdint": "f5522571bcce7bcb"}
\ No newline at end of file
diff --git a/Test/VRandomTest/output/62cc01c2bb770ca3.deps.json b/Test/VRandomTest/output/62cc01c2bb770ca3.deps.json
new file mode 100644
index 0000000..e449ec4
--- /dev/null
+++ b/Test/VRandomTest/output/62cc01c2bb770ca3.deps.json
@@ -0,0 +1 @@
+{"testcheck": "14d33679f7fadf1f", "vipermath": "3f7c5e78d8652535", "vrandom": "62cc01c2bb770ca3", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "main": "e24a7f4a875f4518", "stdint": "f5522571bcce7bcb"}
\ No newline at end of file
diff --git a/Test/VRandomTest/output/_shared_sym_includes.pickle b/Test/VRandomTest/output/_shared_sym_includes.pickle
new file mode 100644
index 0000000000000000000000000000000000000000..fbac0a9b14e5a6e85ea2e5be135430d5a6606c49
GIT binary patch
literal 354964
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%0DJE5X3^62O)d!Y|f-
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
P&6cgFXTr8w82SGJey%=Y

literal 0
HcmV?d00001

diff --git a/Test/VariadicTest/output/c1416dfae155d6e2.deps.json b/Test/VariadicTest/output/c1416dfae155d6e2.deps.json
index 8ef9b0e..b73b108 100644
--- a/Test/VariadicTest/output/c1416dfae155d6e2.deps.json
+++ b/Test/VariadicTest/output/c1416dfae155d6e2.deps.json
@@ -1 +1 @@
-{"testcheck": "14d33679f7fadf1f", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"}
\ No newline at end of file
+{"testcheck": "14d33679f7fadf1f", "viperlib": "1d40c4bdc94641c5", "stdio": "6f62fe05c5ea1ceb", "stdarg": "71e0a3ffcb3ebfad", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "string": "9474791561654346", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb"}
\ No newline at end of file
diff --git a/Test/VariadicTest/temp/1d40c4bdc94641c5.pyi b/Test/VariadicTest/temp/1d40c4bdc94641c5.pyi
new file mode 100644
index 0000000..597cc07
--- /dev/null
+++ b/Test/VariadicTest/temp/1d40c4bdc94641c5.pyi
@@ -0,0 +1,24 @@
+"""
+Auto-generated Python stub file from viperlib.py
+Module: viperlib
+"""
+
+
+import t, c
+import viperio
+import stdio
+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/temp/_phase1_manifest.json b/Test/VariadicTest/temp/_phase1_manifest.json
index 0aef1cb..dd25696 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.py": {"sha1": "c1416dfae155d6e2", "mtime": 1782266230.8679473, "size": 6842}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "c3b259b4059f8668", "mtime": 1782821991.979496, "size": 56772}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}}
\ No newline at end of file
+{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\VariadicTest\\App\\main.py": {"sha1": "c1416dfae155d6e2", "mtime": 1782266230.8679473, "size": 6842}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "1d40c4bdc94641c5", "mtime": 1784470563.362105, "size": 56865}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"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 cfc6252..7606622 100644
--- a/Test/VariadicTest/temp/_sha1_map.txt
+++ b/Test/VariadicTest/temp/_sha1_map.txt
@@ -1,10 +1,10 @@
 14d33679f7fadf1f:includes/testcheck.py
+1d40c4bdc94641c5:includes/viperlib.py
 6f62fe05c5ea1ceb:includes/stdio.py
 71e0a3ffcb3ebfad:includes/stdarg.py
 7e529fe7a078cfef:includes/w32\win32base.py
 9474791561654346:includes/string.py
 bbdf3bbd4c3bc28c:includes/w32\win32console.py
 c1416dfae155d6e2:main.py
-c3b259b4059f8668:includes/viperlib.py
 c9f4be41ca1cc2b4:includes/viperio.py
 f5522571bcce7bcb:includes/stdint.py
diff --git a/Test/VariadicTest/temp/c3b259b4059f8668.pyi b/Test/VariadicTest/temp/c3b259b4059f8668.pyi
deleted file mode 100644
index 67ff4ce..0000000
--- a/Test/VariadicTest/temp/c3b259b4059f8668.pyi
+++ /dev/null
@@ -1,23 +0,0 @@
-"""
-Auto-generated Python stub file from viperlib.py
-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/output/8046d45456d0b153.deps.json b/Test/WebTest/output/8046d45456d0b153.deps.json
index 7550264..3200f3c 100644
--- a/Test/WebTest/output/8046d45456d0b153.deps.json
+++ b/Test/WebTest/output/8046d45456d0b153.deps.json
@@ -1 +1 @@
-{"atom": "271ea3decb810db2", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "requests": "b558d8d8f01f4825", "viperio": "c9f4be41ca1cc2b4", "socket": "d7e3386b828acb66", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb"}
\ No newline at end of file
+{"atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "requests": "b558d8d8f01f4825", "viperio": "c9f4be41ca1cc2b4", "socket": "d7e3386b828acb66", "stdint": "f5522571bcce7bcb"}
\ No newline at end of file
diff --git a/Test/WebTest/output/_shared_sym_includes.pickle b/Test/WebTest/output/_shared_sym_includes.pickle
new file mode 100644
index 0000000000000000000000000000000000000000..3629d39fa5989d92d4fb2655216ab506507828d9
GIT binary patch
literal 377483
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
@Vxj{t}% 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 literal 0 HcmV?d00001 diff --git a/Test/WebTest/output/b558d8d8f01f4825.deps.json b/Test/WebTest/output/b558d8d8f01f4825.deps.json new file mode 100644 index 0000000..6b956d0 --- /dev/null +++ b/Test/WebTest/output/b558d8d8f01f4825.deps.json @@ -0,0 +1 @@ +{"atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "main": "8046d45456d0b153", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "requests": "b558d8d8f01f4825", "viperio": "c9f4be41ca1cc2b4", "socket": "d7e3386b828acb66", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/WebTest/output/d7e3386b828acb66.deps.json b/Test/WebTest/output/d7e3386b828acb66.deps.json new file mode 100644 index 0000000..6b956d0 --- /dev/null +++ b/Test/WebTest/output/d7e3386b828acb66.deps.json @@ -0,0 +1 @@ +{"atom": "271ea3decb810db2", "memhub": "47775d5e50909338", "w32.winsock2": "6446627d4f07a1b5", "winsock2": "6446627d4f07a1b5", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "main": "8046d45456d0b153", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "string": "9474791561654346", "requests": "b558d8d8f01f4825", "viperio": "c9f4be41ca1cc2b4", "socket": "d7e3386b828acb66", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/Test/WebTest/temp/47775d5e50909338.pyi b/Test/WebTest/temp/47775d5e50909338.pyi new file mode 100644 index 0000000..0c5f2cf --- /dev/null +++ b/Test/WebTest/temp/47775d5e50909338.pyi @@ -0,0 +1,88 @@ +""" +Auto-generated Python stub file from memhub.py +Module: memhub +""" + + +import t, c +from stdint import * +import string +import atom +import viperio +import stdio + +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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/WebTest/temp/_phase1_manifest.json b/Test/WebTest/temp/_phase1_manifest.json index 2cb35c3..d48293d 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.py": {"sha1": "8046d45456d0b153", "mtime": 1783055933.4493492, "size": 2570}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.py": {"sha1": "93c1d18e35d188d6", "mtime": 1781237231.03366, "size": 1422}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\requests.py": {"sha1": "b558d8d8f01f4825", "mtime": 1783055330.1315396, "size": 9850}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\socket.py": {"sha1": "d7e3386b828acb66", "mtime": 1783054980.3909142, "size": 14514}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\winsock2.py": {"sha1": "6446627d4f07a1b5", "mtime": 1783052668.8022628, "size": 3547}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\WebTest\\App\\main.py": {"sha1": "8046d45456d0b153", "mtime": 1783055933.4493492, "size": 2570}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.py": {"sha1": "93c1d18e35d188d6", "mtime": 1781237231.03366, "size": 1422}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\requests.py": {"sha1": "b558d8d8f01f4825", "mtime": 1783055330.1315396, "size": 9850}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\socket.py": {"sha1": "d7e3386b828acb66", "mtime": 1783054980.3909142, "size": 14514}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\winsock2.py": {"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 36ee9d5..18e225c 100644 --- a/Test/WebTest/temp/_sha1_map.txt +++ b/Test/WebTest/temp/_sha1_map.txt @@ -1,4 +1,5 @@ 271ea3decb810db2:includes/atom.py +47775d5e50909338:includes/memhub.py 6446627d4f07a1b5:includes/w32\winsock2.py 6f62fe05c5ea1ceb:includes/stdio.py 7e529fe7a078cfef:includes/w32\win32base.py @@ -9,5 +10,4 @@ b558d8d8f01f4825:includes/requests.py c9f4be41ca1cc2b4:includes/viperio.py d7e3386b828acb66:includes/socket.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/Test/WebTest/temp/f3560b99de458aec.pyi b/Test/WebTest/temp/f3560b99de458aec.pyi deleted file mode 100644 index 84f0bbf..0000000 --- a/Test/WebTest/temp/f3560b99de458aec.pyi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self: MemBuddy) -> t.CSizeT: pass - def stats(self: MemBuddy) -> t.CSizeT: pass - def free_count(self: MemBuddy) -> t.CSizeT: pass - def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/Test/ZlibTest/temp/_phase1_manifest.json b/Test/ZlibTest/temp/_phase1_manifest.json index 01c0966..1c916de 100644 --- a/Test/ZlibTest/temp/_phase1_manifest.json +++ b/Test/ZlibTest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\pyzlib.py": {"sha1": "0f8134f67bdaba8f", "mtime": 1782266233.8661451, "size": 20930}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\test_pyzlib.py": {"sha1": "d855b3e66d1d6522", "mtime": 1782407614.5315387, "size": 36204}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zchecksum.py": {"sha1": "cb151b297f4ea56d", "mtime": 1782266234.306909, "size": 4068}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zdef.py": {"sha1": "9b7d2adaae94f021", "mtime": 1782393175.830038, "size": 8195}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zdeflate.py": {"sha1": "784dde8a8697b7ab", "mtime": 1782396643.2488594, "size": 18977}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zhuff.py": {"sha1": "dd19090b337e9bea", "mtime": 1782388678.1362753, "size": 13596}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zinflate.py": {"sha1": "e445a2bb299d1b7d", "mtime": 1782266257.0389085, "size": 18067}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\main.py": {"sha1": "03b24bc1d9327958", "mtime": 1782110043.5860827, "size": 484}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.py": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\pyzlib.py": {"sha1": "0f8134f67bdaba8f", "mtime": 1782266233.8661451, "size": 20930}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\test_pyzlib.py": {"sha1": "d855b3e66d1d6522", "mtime": 1782407614.5315387, "size": 36204}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zchecksum.py": {"sha1": "cb151b297f4ea56d", "mtime": 1782266234.306909, "size": 4068}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zdef.py": {"sha1": "9b7d2adaae94f021", "mtime": 1782393175.830038, "size": 8195}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zdeflate.py": {"sha1": "784dde8a8697b7ab", "mtime": 1782396643.2488594, "size": 18977}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zhuff.py": {"sha1": "dd19090b337e9bea", "mtime": 1782388678.1362753, "size": 13596}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\__zlib\\zinflate.py": {"sha1": "e445a2bb299d1b7d", "mtime": 1782266257.0389085, "size": 18067}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\Test\\ZlibTest\\App\\main.py": {"sha1": "03b24bc1d9327958", "mtime": 1782110043.5860827, "size": 484}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\testcheck.py": {"sha1": "14d33679f7fadf1f", "mtime": 1784375629.8057406, "size": 1979}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.py": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}} \ No newline at end of file diff --git a/Test/ZlibTest/temp/_shared_sym.json b/Test/ZlibTest/temp/_shared_sym.json index 60e47aa4423f044b8ac0c5c14585d5d9d42464b6..cdb3e3fc138df0c509abf561a94a5d2ac800132d 100644 GIT binary patch delta 2878 zcmZ`*Ye-vH9M4Ve|0FiSca4dzQ|D?G7xR7)sfxO3OScbN3YIPAaZ__ia$}+v+S+a+ zj8a!SxN<1nOV|dwA`~WJTVd>-^VuOWi)7&lB?q9(%wZaJl^W*Sq{fG}^Ys`)Ty_7Jna& zzP!aBq0#Lv-btgK+k6|1UfAXj(&+Lw@1@bdw)sOe>e}I3X;j)_r7i8Sd^cGRb9Oi$ zRFBMdOh_FIr^Ba&tSu{qlSwHmi*Q_{nX#&=bMJtIE{o%UF-98)jM1bxXr~?C;J{X< z4zuBpIjF%ET4bqR|yCFpfl-4*F@XsAKuw(6M|sbu3>8&+0qFLy%5; zi-#6Q-=FYMjf(*+w896#I4%;v!!-8*BI8>Fc#sjX4)6dDAgH5d2?VVS#aRRv{5FDm zTG6EkGuG=_TYfz}LJQUu!K+NcsvbINL6ZR(_aSP40L{H_05^^PY+(H@ZAH*XbE8Gj zOry^gu|~gA#PY4!$Ex=+CVFWf%i%VYi;U1hSJufy&lp*~Eg4yreP?7|z%3(KakmMo z=*)zPsW@i>YyMpm4B1K@F}FSHj>Mt?x7Y26dT?tHs%dmE2+a;P*EW&MWE1JJxGer~ zf;@>VY64ygf}J+o2tpTy<~!QqroGhb_4@*L!5a+-@mM4*U}K65h(bG3u%AX_DR6t$ zTw5}c8?%K%iF9Ht6q3d9AyR6!nuR|lIUY6ouQn;973qONA~mZ?xG4<{B)72eU1>Oz z5z;YP>{XPNY7U-EL#;!N?kZ0SW3p&hWVLDnzMUqQUya)EmuWDU(IIWpJwtLz$gKfp z$T^7_az!Ffh0i1?p~wHzy@N7RMiwtAldn?OjoUL&=Tf7)Lx?7Ya8?#SQYy5lDR?#m z2N`2{DFc;dH2ZtPrfSaDk3!=t>Ud2%|MX>a0uh_9 zt~;+5*i2tVr957E9?cay9san-E4ZCbPdpmS`(8j9E`Reyw7`|v<6d8!ywt{>u87|q z$%p3Ak9y~fu4`aW7Q2TvnkzFE(X5oqg;G*%JSl`G#=?=LAkWH&#J&-7i29YU?qPg> T0lm-lifB`V7|^sJlAq|H@}X)X$BNJB}JLgLyPrB&zqvNtn4 z=Y8LEzOyqkd(*!BlYMHMn>I`vKjnXWVo7>@erG%sN{C)xFeVD*uP1yvO*>ZjAWe_1 z@C`J*u)_Dzw79~%X&Nc=9WgwHr| zSoO^u)0oZ6q0D$qh3JH(znd4vn`rglie{hU%(YJ*hzN< zRMS0E6->vm3a~5RRKT#qB6#9%UnuT%`a;Q|-ybAxVW_3)P#9WVdadKgSbj8>EhJ^> z?yKsT$fg&N#V|POuzO+XqNuX36TWa-l5SCmCxe2Ra65egpFqqRZ9#gvF9SPhn#h3H zuh%-#sj-418ck(Wg=kck#)s8WYxOE}UG3x3)Bn6_F{@d34yo1}y@)ht;W@9Ku3KaI zyqHbMQjg}`uGf&`S*UmE>ALfh(bM%M2x&1kDofvM6Wa6= zGM9%vj5VCk!*(mJ{zFw$Gb@d6K+_z)zfhw7$gPLaM(#z>bmasp-DLO|*hZF$&`#bQ zKr6Z0gFCn?^5Fp5*6(ekyayXY_0mK2UfLMd$N?3uNh-HU z8pu))+R4d5w2=N8un_FUYVxQJtx9_@iq9H&kvNiAtt^PxXXJS0?-A_g4K9&N_~8Ri{qk> 4) & 0xF @@ -213,6 +218,9 @@ def compute_file_sha1(pool: memhub.MemBuddy | t.CPtr, else: hex_buf[i * 2 + 1] = 'a' + (lo - 10) hex_buf[16] = '\0' + # 释放临时缓冲区(hex_buf 由调用者负责释放) + stdlib.free(buf) + stdlib.free(digest) return hex_buf @@ -245,6 +253,8 @@ def scan_directory_recursive(pool: memhub.MemBuddy | t.CPtr, handle: win32base.HANDLE = win32file.FindFirstFileA(pattern, find_data) if handle == win32base.INVALID_HANDLE_VALUE: + stdlib.free(pattern) + stdlib.free(find_data) return 1 # 遍历所有文件和子目录 @@ -284,6 +294,7 @@ def scan_directory_recursive(pool: memhub.MemBuddy | t.CPtr, prefix_len = string.strlen(rel_prefix) rel_path: bytes = stdlib.malloc(prefix_len + fname_len + 2) if rel_path is None: + stdlib.free(full_path) break if rel_prefix is not None and prefix_len > 0: viperlib.snprintf(rel_path, prefix_len + fname_len + 2, "%s/%s", rel_prefix, fname) @@ -312,13 +323,21 @@ def scan_directory_recursive(pool: memhub.MemBuddy | t.CPtr, sha1: str = compute_file_sha1(pool, full_path) if sha1 is not None: add_file_entry(result, pool, full_path, rel_path, sha1) - stdio.printf(" [scan] %s -> %s\n", rel_path, sha1) + # 释放 compute_file_sha1 返回的临时 hex_buf + stdlib.free(sha1) + + # 释放本次迭代分配的路径缓冲区 + stdlib.free(full_path) + stdlib.free(rel_path) # 继续搜索下一个文件 - if win32file.FindNextFileA(handle, find_data) == 0: + nxt: t.CInt = win32file.FindNextFileA(handle, find_data) + if nxt == 0: break win32file.FindClose(handle) + stdlib.free(pattern) + stdlib.free(find_data) return 0 @@ -341,7 +360,8 @@ def scan_includes(pool: memhub.MemBuddy | t.CPtr, scan_directory_recursive(pool, includes_dir, None, result) - stdio.printf("[Phase1] 扫描完成: %d 个 .py 文件\n", result.Count) + count: t.CInt = result.Count + stdio.printf("[Phase1] 扫描完成: %d 个 .py 文件\n", count) return result diff --git a/TransPyV/App/lib/core/Phase1.py b/TransPyV/App/lib/core/Phase1.py index 88d62f6..e3d1f62 100644 --- a/TransPyV/App/lib/core/Phase1.py +++ b/TransPyV/App/lib/core/Phase1.py @@ -44,47 +44,78 @@ SRC_BUF_SIZE: t.CDefine = 1048576 def RunPhase1(mb: memhub.MemBuddy | t.CPtr, includes_dir: str, temp_dir: str, log: VLogger.Logger | t.CPtr) -> int: """Phase1: 扫描 includes 目录,按需翻译并生成 stub""" + stdio.printf("[P1 ENTER] mb=%p inc=%p temp=%p log=%p\n", mb, includes_dir, temp_dir, log) + stdio.fflush(0) if includes_dir is None or temp_dir is None: stdio.printf("[Phase1] includes_dir 或 temp_dir 为空,跳过\n") return 1 + stdio.printf("[P1] before log.banner\n") + stdio.fflush(0) if log is not None: log.banner("Phase1: 扫描 includes(按需翻译)") + stdio.printf("[P1] after log.banner\n") + stdio.fflush(0) # 扫描 includes 目录 + stdio.printf("[P1] before scan_includes: mb=%p inc=%s\n", mb, includes_dir) + stdio.fflush(0) result: IncludesScanner.ScanResult | t.CPtr = IncludesScanner.scan_includes(mb, includes_dir) + stdio.printf("[P1] after scan_includes: result=%p\n", result) + stdio.fflush(0) if result is None: stdio.printf("[Phase1] 扫描失败\n") return 1 - stdio.printf("[Phase1] 共 %d 个文件\n", result.Count) + stdio.printf("[P1] result.Count=%d\n", result.Count) + stdio.fflush(0) # 读取 _sha1_map.txt 获取需要的 includes SHA1 集合 - # 优先使用 Projectrans.py 生成的 _sha1_map.txt(含依赖分析,只包含需要的 includes) - # 若不存在,则从扫描结果生成(包含所有 includes,可能导致结构体表溢出) sha1_set: str = stdlib.malloc(StubMerger.MAX_INCLUDES_SHA1 * 17) + stdio.printf("[P1] sha1_set=%p\n", sha1_set) + stdio.fflush(0) if sha1_set is None: stdio.printf("[Phase1] sha1_set 分配失败\n") return 1 string.memset(sha1_set, 0, StubMerger.MAX_INCLUDES_SHA1 * 17) + stdio.printf("[P1] before _load_includes_sha1_set\n") + stdio.fflush(0) set_count: int = StubMerger._load_includes_sha1_set(mb, temp_dir, sha1_set) + stdio.printf("[P1] set_count=%d\n", set_count) + stdio.fflush(0) if set_count <= 0: stdio.printf("[Phase1] _sha1_map.txt 不存在或为空,从扫描结果生成\n") + stdio.fflush(0) + stdio.printf("[P1] before WriteIncludesSha1Map\n") + stdio.fflush(0) StubMerger.WriteIncludesSha1Map(mb, temp_dir, result, None, 0) + stdio.printf("[P1] after WriteIncludesSha1Map, before _load_includes_sha1_set\n") + stdio.fflush(0) set_count = StubMerger._load_includes_sha1_set(mb, temp_dir, sha1_set) + stdio.printf("[P1] set_count2=%d\n", set_count) + stdio.fflush(0) if set_count < 0: stdio.printf("[Phase1] 无法加载 _sha1_map.txt,跳过 Phase1\n") return 1 stdio.printf("[Phase1] includes SHA1 集合: %d 个\n", set_count) + stdio.fflush(0) # 构建模块 SHA1 映射(供跨模块函数调用名混淆使用) td_len_p1map: t.CSizeT = string.strlen(temp_dir) p1_sha1_arr: bytes = stdlib.malloc(StubMerger.MAX_INCLUDES * 17) p1_mod_arr: bytes = stdlib.malloc(StubMerger.MAX_INCLUDES * 64) p1_inc_count: int = 0 + stdio.printf("[P1] before _BuildIncludesSha1Map\n") + stdio.fflush(0) if p1_sha1_arr is not None and p1_mod_arr is not None: p1_inc_count = StubMerger._BuildIncludesSha1Map(temp_dir, td_len_p1map, p1_sha1_arr, p1_mod_arr) + stdio.printf("[P1] after _BuildIncludesSha1Map: inc=%d\n", p1_inc_count) + stdio.fflush(0) + stdio.printf("[P1] before set_module_sha1_map\n") + stdio.fflush(0) HandlesExprCall.set_module_sha1_map(p1_sha1_arr, p1_mod_arr, p1_inc_count) + stdio.printf("[P1] after set_module_sha1_map\n") + stdio.fflush(0) # 初始化 AST 表(只需一次) ast._init_tables(mb) diff --git a/TransPyV/App/lib/core/StubMerger.py b/TransPyV/App/lib/core/StubMerger.py index 708563a..1183cc4 100644 --- a/TransPyV/App/lib/core/StubMerger.py +++ b/TransPyV/App/lib/core/StubMerger.py @@ -8,6 +8,7 @@ import llvmlite import w32.win32file as win32file import w32.win32base as win32base import w32.fileio as fileio +import w32.win32memory as win32memory import viperlib import sys import ast @@ -69,6 +70,7 @@ def _load_includes_sha1_set(pool: memhub.MemBuddy | t.CPtr, f: fileio.File | t.CPtr = fileio.File(map_path, fileio.MODE.R) if f.closed: stdio.printf("[StubMerger] _sha1_map.txt 不存在: %s\n", map_path) + stdlib.free(map_path) return -1 # 读取内容(使用 stdlib.malloc 避免 mbuddy 池耗尽) @@ -76,10 +78,13 @@ def _load_includes_sha1_set(pool: memhub.MemBuddy | t.CPtr, content: str = stdlib.malloc(MAP_BUF_SIZE) if content is None: f.close() + stdlib.free(map_path) return -1 bytes_read: t.CInt64T = f.read_all(content, MAP_BUF_SIZE) f.close() + stdlib.free(map_path) if bytes_read <= 0: + stdlib.free(content) return -1 content[bytes_read] = '\0' @@ -112,6 +117,7 @@ def _load_includes_sha1_set(pool: memhub.MemBuddy | t.CPtr, sha1_set[count * 17 + 16] = '\0' count += 1 + stdlib.free(content) return count @@ -189,6 +195,8 @@ def WriteIncludesSha1Map(mb: memhub.MemBuddy | t.CPtr, temp_dir: str, written_count += 1 f.close() + stdlib.free(map_path) + stdlib.free(line_buf) stdio.printf("[Phase1] 已写入 _sha1_map.txt (%d 个 includes)\n", written_count) return 0 @@ -735,14 +743,32 @@ def _BuildIncludesSha1Map(temp_dir: str, td_len: t.CSizeT, map_buf[map_br] = '\0' else: map_buf[STUB_READ_BUF_SIZE - 1] = '\0' + stdio.printf("[BISM] map_br=%lld\n", map_br) + stdio.fflush(0) + + # 堆探针:测试堆是否已被之前的操作损坏 + probe: bytes = stdlib.malloc(17) + stdio.printf("[BISM] probe malloc(17)=%p\n", probe) + stdio.fflush(0) + if probe is not None: + stdlib.free(probe) + stdio.printf("[BISM] probe free OK\n") + stdio.fflush(0) count: int = 0 pos: t.CSizeT = 0 while pos < map_br and count < MAX_INCLUDES: + stdio.printf("[BISM] iter=%d pos=%d\n", count, pos) + stdio.fflush(0) # 提取 SHA1(16 hex) sha1: t.CChar | t.CPtr = stdlib.malloc(17) + stdio.printf("[BISM] malloc(17)=%p\n", sha1) + stdio.fflush(0) if sha1 is None: break + hv: int = win32memory.HeapValidate(win32memory.GetProcessHeap(), 0, None) + stdio.printf("[BISM] HV after malloc(sha1)=%d\n", hv) + stdio.fflush(0) string.strncpy(sha1, map_buf + pos, 16) sha1[16] = '\0' pos += 16 @@ -755,6 +781,8 @@ def _BuildIncludesSha1Map(temp_dir: str, td_len: t.CSizeT, while pos < map_br and map_buf[pos] != '\n' and map_buf[pos] != '\r' and map_buf[pos] != '\0': pos += 1 path_len: t.CSizeT = pos - path_start + stdio.printf("[BISM] path_len=%d\n", path_len) + stdio.fflush(0) # 跳过 \r\n 或 \n if pos < map_br and map_buf[pos] == '\r': pos += 1 @@ -765,25 +793,49 @@ def _BuildIncludesSha1Map(temp_dir: str, td_len: t.CSizeT, # 否则用户文件会被误判为 includes,导致 is_module_imported 模块名不匹配而跳过加载 if path_len >= 9 and string.strncmp(map_buf + path_start, "includes/", 9) == 0: path_buf: t.CChar | t.CPtr = stdlib.malloc(path_len + 1) + stdio.printf("[BISM] malloc(%d)=%p\n", path_len + 1, path_buf) + stdio.fflush(0) if path_buf is not None: string.strncpy(path_buf, map_buf + path_start, path_len) path_buf[path_len] = '\0' + hv2: int = win32memory.HeapValidate(win32memory.GetProcessHeap(), 0, None) + stdio.printf("[BISM] HV after fill(path_buf)=%d\n", hv2) + stdio.fflush(0) mod_name: str = _PathToModuleName(path_buf) + stdio.printf("[BISM] _PathToModuleName=%p\n", mod_name) + stdio.fflush(0) + hv3: int = win32memory.HeapValidate(win32memory.GetProcessHeap(), 0, None) + stdio.printf("[BISM] HV after _PathToModuleName=%d\n", hv3) + stdio.fflush(0) stdlib.free(path_buf) if mod_name is not None: # 存储 sha1 和 mod_name 到数组中 idx: t.CSizeT = t.CSizeT(count) * 17 string.strcpy(sha1_list + idx, sha1) + hv4: int = win32memory.HeapValidate(win32memory.GetProcessHeap(), 0, None) + stdio.printf("[BISM] HV after strcpy(sha1_list)=%d\n", hv4) + stdio.fflush(0) idx2: t.CSizeT = t.CSizeT(count) * 64 mn_len: t.CSizeT = string.strlen(mod_name) + stdio.printf("[BISM] mn_len=%d count=%d\n", mn_len, count) + stdio.fflush(0) if mn_len < 64: string.strcpy(mod_list + idx2, mod_name) else: string.strncpy(mod_list + idx2, mod_name, 63) mod_list[idx2 + 63] = '\0' + hv5: int = win32memory.HeapValidate(win32memory.GetProcessHeap(), 0, None) + stdio.printf("[BISM] HV after strcpy(mod_list)=%d\n", hv5) + stdio.fflush(0) stdlib.free(mod_name) + stdio.printf("[BISM] free(mod_name) OK\n") + stdio.fflush(0) count += 1 + stdio.printf("[BISM] before free(sha1=%p)\n", sha1) + stdio.fflush(0) stdlib.free(sha1) + stdio.printf("[BISM] free(sha1) OK\n") + stdio.fflush(0) stdlib.free(map_buf) return count diff --git a/TransPyV/App/main.py b/TransPyV/App/main.py index a3c08ed..ee17071 100644 --- a/TransPyV/App/main.py +++ b/TransPyV/App/main.py @@ -249,7 +249,11 @@ def main() -> int: ph1_temp: str = Config.TempDir if ph1_temp is None: ph1_temp = "." + stdio.printf("[DBG MAIN] before Phase1: Inc=%s temp=%s\n", Config.IncludesDir, ph1_temp) + stdio.fflush(0) Phase1.RunPhase1(mb, Config.IncludesDir, ph1_temp, log) + stdio.printf("[DBG MAIN] after Phase1\n") + stdio.fflush(0) # 如果仅 Phase1(不执行 Phase2),直接退出 if do_phase2 == 0: stdio.printf("[phase] Phase1 完成,退出\n") diff --git a/TransPyV/Test/Sha1Test/output/f3458d483d1f87c2.deps.json b/TransPyV/Test/Sha1Test/output/f3458d483d1f87c2.deps.json deleted file mode 100644 index 792c3d5..0000000 --- a/TransPyV/Test/Sha1Test/output/f3458d483d1f87c2.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"atom": "271ea3decb810db2", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "hashlib.__sha1": "73fcdc4dd1618580", "__sha1": "73fcdc4dd1618580", "string": "83210a72e829a086", "hashlib.__init__": "96837bcc64032444", "__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "hashlib.__md5": "cc436a125bbaf28c", "__md5": "cc436a125bbaf28c", "stdlib": "e79ec1d5e09b18bc", "memhub": "ee084e9fc6ee413a", "stdint": "f5522571bcce7bcb"} \ No newline at end of file diff --git a/TransPyV/Test/Sha1Test/temp/271ea3decb810db2.pyi b/TransPyV/Test/Sha1Test/temp/271ea3decb810db2.pyi deleted file mode 100644 index 3d637bf..0000000 --- a/TransPyV/Test/Sha1Test/temp/271ea3decb810db2.pyi +++ /dev/null @@ -1,26 +0,0 @@ -""" -Auto-generated Python stub file from atom.py -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/TransPyV/Test/Sha1Test/temp/6f62fe05c5ea1ceb.pyi b/TransPyV/Test/Sha1Test/temp/6f62fe05c5ea1ceb.pyi deleted file mode 100644 index 448ca53..0000000 --- a/TransPyV/Test/Sha1Test/temp/6f62fe05c5ea1ceb.pyi +++ /dev/null @@ -1,28 +0,0 @@ -""" -Auto-generated Python stub file from stdio.py -Module: stdio -""" - - -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: t.CExtern | bytes -stdout: t.CExtern | bytes -stderr: t.CExtern | bytes \ No newline at end of file diff --git a/TransPyV/Test/Sha1Test/temp/6ff26590374ae6fc.pyi b/TransPyV/Test/Sha1Test/temp/6ff26590374ae6fc.pyi deleted file mode 100644 index 1b1bba1..0000000 --- a/TransPyV/Test/Sha1Test/temp/6ff26590374ae6fc.pyi +++ /dev/null @@ -1,39 +0,0 @@ -""" -Auto-generated Python stub file from hashlib.__sha512.py -Module: hashlib.__sha512 -""" - - -import t, c - -SHA512_BLOCK_LEN: t.CDefine = 128 -SHA512_DIGEST_LEN: t.CDefine = 64 - -def sha512_ror(x: t.CUInt64T, n: int) -> t.CUInt64T: pass - -def sha512_shr(x: t.CUInt64T, n: int) -> t.CUInt64T: pass - -def sha512_Ch(x: t.CUInt64T, y: t.CUInt64T, z: t.CUInt64T) -> t.CUInt64T: pass - -def sha512_Maj(x: t.CUInt64T, y: t.CUInt64T, z: t.CUInt64T) -> t.CUInt64T: pass - -def sha512_BigSigma0(x: t.CUInt64T) -> t.CUInt64T: pass - -def sha512_BigSigma1(x: t.CUInt64T) -> t.CUInt64T: pass - -def sha512_Sigma0(x: t.CUInt64T) -> t.CUInt64T: pass - -def sha512_Sigma1(x: t.CUInt64T) -> t.CUInt64T: pass - - -sha512_K: t.CExtern | t.CArray[t.CUInt64T, 80] - -@t.Object -class sha512: - state: t.CArray[t.CUInt64T, 8] - count: t.CArray[t.CUInt64T, 2] - buf: t.CArray[t.CUInt8T, SHA512_BLOCK_LEN] - def __init__(self: sha512) -> t.CInt: pass - def transform(self: sha512, block: t.CArray[t.CUInt8T, SHA512_BLOCK_LEN]) -> t.CInt: pass - def update(self: sha512, s: str) -> t.CInt: pass - def final(self: sha512, out: t.CArray[t.CUInt8T, SHA512_DIGEST_LEN]) -> t.CInt: pass \ No newline at end of file diff --git a/TransPyV/Test/Sha1Test/temp/73fcdc4dd1618580.pyi b/TransPyV/Test/Sha1Test/temp/73fcdc4dd1618580.pyi deleted file mode 100644 index d94a709..0000000 --- a/TransPyV/Test/Sha1Test/temp/73fcdc4dd1618580.pyi +++ /dev/null @@ -1,29 +0,0 @@ -""" -Auto-generated Python stub file from hashlib.__sha1.py -Module: hashlib.__sha1 -""" - - -import t, c - -SHA1_BLOCK_LEN: t.CDefine = 64 -SHA1_DIGEST_LEN: t.CDefine = 20 - -def sha1_rotl(x: t.CUInt32T, n: t.CInt) -> t.CUInt32T: pass - -def sha1_f1(b: t.CUInt32T, c: t.CUInt32T, d: t.CUInt32T) -> t.CUInt32T: pass - -def sha1_f2(b: t.CUInt32T, c: t.CUInt32T, d: t.CUInt32T) -> t.CUInt32T: pass - -def sha1_f3(b: t.CUInt32T, c: t.CUInt32T, d: t.CUInt32T) -> t.CUInt32T: pass - - -@t.Object -class sha1: - state: t.CArray[t.CUInt32T, 5] - count: t.CUInt64T - buf: t.CArray[t.CUInt8T, SHA1_BLOCK_LEN] - def __init__(self: sha1) -> t.CInt: pass - def transform(self: sha1, block: t.CUInt8T | t.CPtr) -> t.CInt: pass - def update(self: sha1, s: str) -> t.CInt: pass - def final(self: sha1, out: t.CArray[t.CUInt8T, SHA1_DIGEST_LEN]) -> t.CInt: pass \ No newline at end of file diff --git a/TransPyV/Test/Sha1Test/temp/83210a72e829a086.pyi b/TransPyV/Test/Sha1Test/temp/83210a72e829a086.pyi deleted file mode 100644 index 31ba184..0000000 --- a/TransPyV/Test/Sha1Test/temp/83210a72e829a086.pyi +++ /dev/null @@ -1,46 +0,0 @@ -""" -Auto-generated Python stub file from string.py -Module: string -""" - - -from stdint import * -import t, c - -def strcpy(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 diff --git a/TransPyV/Test/Sha1Test/temp/96837bcc64032444.pyi b/TransPyV/Test/Sha1Test/temp/96837bcc64032444.pyi deleted file mode 100644 index 46e78bd..0000000 --- a/TransPyV/Test/Sha1Test/temp/96837bcc64032444.pyi +++ /dev/null @@ -1,13 +0,0 @@ -""" -Auto-generated Python stub file from hashlib.__init__.py -Module: hashlib.__init__ -""" - -import t -import c - - -from .__md5 import md5, MD5_DIGEST_LEN -from .__sha1 import sha1, SHA1_DIGEST_LEN -from .__sha256 import sha256, SHA256_DIGEST_LEN -from .__sha512 import sha512, SHA512_DIGEST_LEN \ No newline at end of file diff --git a/TransPyV/Test/Sha1Test/temp/_phase1_manifest.json b/TransPyV/Test/Sha1Test/temp/_phase1_manifest.json deleted file mode 100644 index c6b7e99..0000000 --- a/TransPyV/Test/Sha1Test/temp/_phase1_manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\Test\\Sha1Test\\App\\main.py": {"sha1": "f3458d483d1f87c2", "mtime": 1783397909.5463412, "size": 1508}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__init__.py": {"sha1": "96837bcc64032444", "mtime": 1777902641.540433, "size": 186}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__md5.py": {"sha1": "cc436a125bbaf28c", "mtime": 1782266200.556964, "size": 5797}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha1.py": {"sha1": "73fcdc4dd1618580", "mtime": 1782266202.164787, "size": 4501}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha256.py": {"sha1": "c9d54a4158f7f5a8", "mtime": 1782266203.9352357, "size": 5332}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha512.py": {"sha1": "6ff26590374ae6fc", "mtime": 1782266223.3380039, "size": 7162}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "ee084e9fc6ee413a", "mtime": 1783101063.0559144, "size": 17765}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "e79ec1d5e09b18bc", "mtime": 1782810965.1928923, "size": 382}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "83210a72e829a086", "mtime": 1782786805.5320292, "size": 9548}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}} \ No newline at end of file diff --git a/TransPyV/Test/Sha1Test/temp/_sha1_map.txt b/TransPyV/Test/Sha1Test/temp/_sha1_map.txt deleted file mode 100644 index 112b5fb..0000000 --- a/TransPyV/Test/Sha1Test/temp/_sha1_map.txt +++ /dev/null @@ -1,13 +0,0 @@ -271ea3decb810db2:includes/atom.py -6f62fe05c5ea1ceb:includes/stdio.py -6ff26590374ae6fc:includes/hashlib\__sha512.py -73fcdc4dd1618580:includes/hashlib\__sha1.py -83210a72e829a086:includes/string.py -96837bcc64032444:includes/hashlib\__init__.py -c9d54a4158f7f5a8:includes/hashlib\__sha256.py -c9f4be41ca1cc2b4:includes/viperio.py -cc436a125bbaf28c:includes/hashlib\__md5.py -e79ec1d5e09b18bc:includes/stdlib.py -ee084e9fc6ee413a:includes/memhub.py -f3458d483d1f87c2:main.py -f5522571bcce7bcb:includes/stdint.py diff --git a/TransPyV/Test/Sha1Test/temp/c9d54a4158f7f5a8.pyi b/TransPyV/Test/Sha1Test/temp/c9d54a4158f7f5a8.pyi deleted file mode 100644 index 3e2d738..0000000 --- a/TransPyV/Test/Sha1Test/temp/c9d54a4158f7f5a8.pyi +++ /dev/null @@ -1,34 +0,0 @@ -""" -Auto-generated Python stub file from hashlib.__sha256.py -Module: hashlib.__sha256 -""" - - -import t, c - -SHA256_BLOCK_LEN: t.CDefine = 64 -SHA256_DIGEST_LEN: t.CDefine = 32 -sha256_K: t.CExtern | t.CArray[t.CUInt32T, 64] - -def s0(x: t.CUInt32T) -> t.CUInt32T: pass - -def s1(x: t.CUInt32T) -> t.CUInt32T: pass - -def S0(x: t.CUInt32T) -> t.CUInt32T: pass - -def S1(x: t.CUInt32T) -> t.CUInt32T: pass - -def Ch(x: t.CUInt32T, y: t.CUInt32T, z: t.CUInt32T) -> t.CUInt32T: pass - -def Maj(x: t.CUInt32T, y: t.CUInt32T, z: t.CUInt32T) -> t.CUInt32T: pass - - -@t.Object -class sha256: - state: t.CArray[t.CUInt32T, 8] - count: t.CUInt64T - buf: t.CArray[t.CUInt8T, SHA256_BLOCK_LEN] - def __init__(self: sha256) -> t.CInt: pass - def transform(self: sha256, block: t.CUInt8T | t.CPtr) -> t.CInt: pass - def update(self: sha256, s: str) -> t.CInt: pass - def final(self: sha256, out: t.CArray[t.CUInt8T, SHA256_DIGEST_LEN]) -> t.CInt: pass \ No newline at end of file diff --git a/TransPyV/Test/Sha1Test/temp/c9f4be41ca1cc2b4.pyi b/TransPyV/Test/Sha1Test/temp/c9f4be41ca1cc2b4.pyi deleted file mode 100644 index fdbd7ec..0000000 --- a/TransPyV/Test/Sha1Test/temp/c9f4be41ca1cc2b4.pyi +++ /dev/null @@ -1,22 +0,0 @@ -""" -Auto-generated Python stub file from viperio.py -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, owned: bool) -> 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/TransPyV/Test/Sha1Test/temp/cc436a125bbaf28c.pyi b/TransPyV/Test/Sha1Test/temp/cc436a125bbaf28c.pyi deleted file mode 100644 index a905387..0000000 --- a/TransPyV/Test/Sha1Test/temp/cc436a125bbaf28c.pyi +++ /dev/null @@ -1,34 +0,0 @@ -""" -Auto-generated Python stub file from hashlib.__md5.py -Module: hashlib.__md5 -""" - - -import t, c - -MD5_BLOCK_LEN: t.CDefine = 64 # 分组块大小 -MD5_DIGEST_LEN: t.CDefine = 16 # 摘要输出长度 - -def md5_F(x: t.CUInt32T, y: t.CUInt32T, z: t.CUInt32T) -> t.CUInt32T: pass - -def md5_G(x: t.CUInt32T, y: t.CUInt32T, z: t.CUInt32T) -> t.CUInt32T: pass - -def md5_H(x: t.CUInt32T, y: t.CUInt32T, z: t.CUInt32T) -> t.CUInt32T: pass - -def md5_I(x: t.CUInt32T, y: t.CUInt32T, z: t.CUInt32T) -> t.CUInt32T: pass - -def md5_rotl(x: t.CUInt32T, n: t.CInt) -> t.CUInt32T: pass - - -md5_T: t.CExtern | t.CArray[t.CUInt32T, 64] -md5_S: t.CExtern | t.CArray[t.CInt, 64] - -@t.Object -class md5: - state: t.CArray[t.CUInt32T, 4] - count: t.CUInt64T - buf: t.CArray[t.CUInt8T, MD5_BLOCK_LEN] - def __init__(self: md5) -> t.CInt: pass - def transform(self: md5, block: t.CUInt8T | t.CPtr) -> t.CInt: pass - def update(self: md5, s: str) -> t.CInt: pass - def final(self: md5, out: t.CArray[t.CUInt8T, MD5_DIGEST_LEN]) -> t.CInt: pass \ No newline at end of file diff --git a/TransPyV/Test/Sha1Test/temp/e79ec1d5e09b18bc.pyi b/TransPyV/Test/Sha1Test/temp/e79ec1d5e09b18bc.pyi deleted file mode 100644 index 2f56642..0000000 --- a/TransPyV/Test/Sha1Test/temp/e79ec1d5e09b18bc.pyi +++ /dev/null @@ -1,20 +0,0 @@ -""" -Auto-generated Python stub file from stdlib.py -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) -> None | t.State: pass - -def system(cmd: t.CConst | t.CChar | t.CPtr) -> INT | t.State: pass diff --git a/TransPyV/Test/Sha1Test/temp/ee084e9fc6ee413a.pyi b/TransPyV/Test/Sha1Test/temp/ee084e9fc6ee413a.pyi deleted file mode 100644 index 45551ef..0000000 --- a/TransPyV/Test/Sha1Test/temp/ee084e9fc6ee413a.pyi +++ /dev/null @@ -1,81 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, old_size: t.CSizeT, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, old_size: t.CSizeT, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass \ No newline at end of file diff --git a/TransPyV/Test/Sha1Test/temp/f3458d483d1f87c2.doc.json b/TransPyV/Test/Sha1Test/temp/f3458d483d1f87c2.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/TransPyV/Test/Sha1Test/temp/f3458d483d1f87c2.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/TransPyV/Test/Sha1Test/temp/f3458d483d1f87c2.pyi b/TransPyV/Test/Sha1Test/temp/f3458d483d1f87c2.pyi deleted file mode 100644 index e5d85d6..0000000 --- a/TransPyV/Test/Sha1Test/temp/f3458d483d1f87c2.pyi +++ /dev/null @@ -1,17 +0,0 @@ -""" -Auto-generated Python stub file from main.py -Module: main -""" - - -import t, c -from stdint import * -import stdio -import stdlib -import memhub -import hashlib - -POOL_SIZE: t.CDefine = 16777480 - -@t.CExport -def main() -> int: pass diff --git a/TransPyV/Test/Sha1Test/temp/f5522571bcce7bcb.pyi b/TransPyV/Test/Sha1Test/temp/f5522571bcce7bcb.pyi deleted file mode 100644 index 106a202..0000000 --- a/TransPyV/Test/Sha1Test/temp/f5522571bcce7bcb.pyi +++ /dev/null @@ -1,100 +0,0 @@ -""" -Auto-generated Python stub file from stdint.py -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/TransPyV/Test/temp/0035c95a18d4f8e8.deps.txt b/TransPyV/Test/temp/0035c95a18d4f8e8.deps.txt deleted file mode 100644 index 8b41c68..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/05c11f22675c60cb.deps.txt b/TransPyV/Test/temp/05c11f22675c60cb.deps.txt deleted file mode 100644 index 267186e..0000000 --- a/TransPyV/Test/temp/05c11f22675c60cb.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/TransPyV/Test/temp/067c78e9f121dce3.deps.txt b/TransPyV/Test/temp/067c78e9f121dce3.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/TransPyV/Test/temp/067c78e9f121dce3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/TransPyV/Test/temp/06f53cc594b4ac6c.deps.txt b/TransPyV/Test/temp/06f53cc594b4ac6c.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/TransPyV/Test/temp/06f53cc594b4ac6c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/TransPyV/Test/temp/07f7da85af876124.deps.txt b/TransPyV/Test/temp/07f7da85af876124.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/07f7da85af876124.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/0c212981c180e7fb.deps.txt b/TransPyV/Test/temp/0c212981c180e7fb.deps.txt deleted file mode 100644 index 6ede9fe..0000000 --- a/TransPyV/Test/temp/0c212981c180e7fb.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.tokens \ No newline at end of file diff --git a/TransPyV/Test/temp/0df65b8ed15664b0.deps.txt b/TransPyV/Test/temp/0df65b8ed15664b0.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/TransPyV/Test/temp/0df65b8ed15664b0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/TransPyV/Test/temp/0eccc2393466d940.deps.txt b/TransPyV/Test/temp/0eccc2393466d940.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/0eccc2393466d940.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/13110effbb0bb06c.deps.txt b/TransPyV/Test/temp/13110effbb0bb06c.deps.txt deleted file mode 100644 index 0774018..0000000 --- a/TransPyV/Test/temp/13110effbb0bb06c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string memhub platmacro \ No newline at end of file diff --git a/TransPyV/Test/temp/14d33679f7fadf1f.deps.txt b/TransPyV/Test/temp/14d33679f7fadf1f.deps.txt deleted file mode 100644 index 8477734..0000000 --- a/TransPyV/Test/temp/14d33679f7fadf1f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdio w32.win32console t c stdio w32.win32console \ No newline at end of file diff --git a/TransPyV/Test/temp/17c0dfbcebfa3a0e.deps.txt b/TransPyV/Test/temp/17c0dfbcebfa3a0e.deps.txt deleted file mode 100644 index e16a61d..0000000 --- a/TransPyV/Test/temp/17c0dfbcebfa3a0e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint stdio string t c stdint stdio string \ No newline at end of file diff --git a/TransPyV/Test/temp/19f8024d10c828e8.deps.txt b/TransPyV/Test/temp/19f8024d10c828e8.deps.txt deleted file mode 100644 index adaf483..0000000 --- a/TransPyV/Test/temp/19f8024d10c828e8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string t c \ No newline at end of file diff --git a/TransPyV/Test/temp/1b9ab264a942c56b.deps.txt b/TransPyV/Test/temp/1b9ab264a942c56b.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/1b9ab264a942c56b.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/1c46d554b3a3f9f3.deps.txt b/TransPyV/Test/temp/1c46d554b3a3f9f3.deps.txt deleted file mode 100644 index 88b63b8..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/1eb1c9fc7e85d9f8.deps.txt b/TransPyV/Test/temp/1eb1c9fc7e85d9f8.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/1eb1c9fc7e85d9f8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/20cd49775c100a38.deps.txt b/TransPyV/Test/temp/20cd49775c100a38.deps.txt deleted file mode 100644 index 1b09b43..0000000 --- a/TransPyV/Test/temp/20cd49775c100a38.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string stdio t c stdint memhub string stdio \ No newline at end of file diff --git a/TransPyV/Test/temp/213348433fb01cc6.deps.txt b/TransPyV/Test/temp/213348433fb01cc6.deps.txt deleted file mode 100644 index 857fca7..0000000 --- a/TransPyV/Test/temp/213348433fb01cc6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint stddef string stdlib memhub t c \ No newline at end of file diff --git a/TransPyV/Test/temp/21a7fcfc665f75ef.deps.txt b/TransPyV/Test/temp/21a7fcfc665f75ef.deps.txt deleted file mode 100644 index 72c74ed..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/240a9a4157959a9f.deps.txt b/TransPyV/Test/temp/240a9a4157959a9f.deps.txt deleted file mode 100644 index cccc168..0000000 --- a/TransPyV/Test/temp/240a9a4157959a9f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string t c stdint memhub string \ No newline at end of file diff --git a/TransPyV/Test/temp/257e074b935c33b4.deps.txt b/TransPyV/Test/temp/257e074b935c33b4.deps.txt deleted file mode 100644 index b092476..0000000 --- a/TransPyV/Test/temp/257e074b935c33b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/TransPyV/Test/temp/271ea3decb810db2.deps.txt b/TransPyV/Test/temp/271ea3decb810db2.deps.txt deleted file mode 100644 index 62e033a..0000000 --- a/TransPyV/Test/temp/271ea3decb810db2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c t c \ No newline at end of file diff --git a/TransPyV/Test/temp/2769dee537308b00.deps.txt b/TransPyV/Test/temp/2769dee537308b00.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/2769dee537308b00.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/285a822aa26bfbda.deps.txt b/TransPyV/Test/temp/285a822aa26bfbda.deps.txt deleted file mode 100644 index 2986427..0000000 --- a/TransPyV/Test/temp/285a822aa26bfbda.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub \ No newline at end of file diff --git a/TransPyV/Test/temp/2d39c6c7d3557b3e.deps.txt b/TransPyV/Test/temp/2d39c6c7d3557b3e.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/TransPyV/Test/temp/2d39c6c7d3557b3e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/TransPyV/Test/temp/2da636c61863c815.deps.txt b/TransPyV/Test/temp/2da636c61863c815.deps.txt deleted file mode 100644 index f1c31c2..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/33a854a5c4f67d74.deps.txt b/TransPyV/Test/temp/33a854a5c4f67d74.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/33a854a5c4f67d74.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/34548789d646f432.deps.txt b/TransPyV/Test/temp/34548789d646f432.deps.txt deleted file mode 100644 index 89fd3f5..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/3487a256b250bb74.deps.txt b/TransPyV/Test/temp/3487a256b250bb74.deps.txt deleted file mode 100644 index b092476..0000000 --- a/TransPyV/Test/temp/3487a256b250bb74.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/TransPyV/Test/temp/3624cfde3c5cb6cb.deps.txt b/TransPyV/Test/temp/3624cfde3c5cb6cb.deps.txt deleted file mode 100644 index ec186f1..0000000 --- a/TransPyV/Test/temp/3624cfde3c5cb6cb.deps.txt +++ /dev/null @@ -1 +0,0 @@ -string \ No newline at end of file diff --git a/TransPyV/Test/temp/3c2fbc9e35ad3bf2.deps.txt b/TransPyV/Test/temp/3c2fbc9e35ad3bf2.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/3c2fbc9e35ad3bf2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/3f7c5e78d8652535.deps.txt b/TransPyV/Test/temp/3f7c5e78d8652535.deps.txt deleted file mode 100644 index b092476..0000000 --- a/TransPyV/Test/temp/3f7c5e78d8652535.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/TransPyV/Test/temp/4337fb260448bbe2.deps.txt b/TransPyV/Test/temp/4337fb260448bbe2.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/TransPyV/Test/temp/4337fb260448bbe2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/TransPyV/Test/temp/451745df21e598af.deps.txt b/TransPyV/Test/temp/451745df21e598af.deps.txt deleted file mode 100644 index aae827d..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/455ff4e74c3dbfb0.deps.txt b/TransPyV/Test/temp/455ff4e74c3dbfb0.deps.txt deleted file mode 100644 index f84e0ef..0000000 --- a/TransPyV/Test/temp/455ff4e74c3dbfb0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint viperlib string memhub linkedlist \ No newline at end of file diff --git a/TransPyV/Test/temp/46ea362b72c10a9e.deps.txt b/TransPyV/Test/temp/46ea362b72c10a9e.deps.txt deleted file mode 100644 index b819530..0000000 --- a/TransPyV/Test/temp/46ea362b72c10a9e.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/TransPyV/Test/temp/47767b5026a8ee15.deps.txt b/TransPyV/Test/temp/47767b5026a8ee15.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/TransPyV/Test/temp/47767b5026a8ee15.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/TransPyV/Test/temp/4dd6b3f1427d1cc5.deps.txt b/TransPyV/Test/temp/4dd6b3f1427d1cc5.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/TransPyV/Test/temp/4dd6b3f1427d1cc5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/TransPyV/Test/temp/55cbbb5dec4fef2c.deps.txt b/TransPyV/Test/temp/55cbbb5dec4fef2c.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/55cbbb5dec4fef2c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/56d07ea7e30ef631.deps.txt b/TransPyV/Test/temp/56d07ea7e30ef631.deps.txt deleted file mode 100644 index 9546553..0000000 --- a/TransPyV/Test/temp/56d07ea7e30ef631.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base w32.win32sync \ No newline at end of file diff --git a/TransPyV/Test/temp/57288496f7c2d1ad.deps.txt b/TransPyV/Test/temp/57288496f7c2d1ad.deps.txt deleted file mode 100644 index 4925b7f..0000000 --- a/TransPyV/Test/temp/57288496f7c2d1ad.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string viperio json.__parser json.__writer t c stdint memhub string viperio json.__parser json.__writer \ No newline at end of file diff --git a/TransPyV/Test/temp/5b2e220c5bae60c9.deps.txt b/TransPyV/Test/temp/5b2e220c5bae60c9.deps.txt deleted file mode 100644 index 1344ae8..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/5dab8cb390496d22.deps.txt b/TransPyV/Test/temp/5dab8cb390496d22.deps.txt deleted file mode 100644 index c76c2b1..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/62cc01c2bb770ca3.deps.txt b/TransPyV/Test/temp/62cc01c2bb770ca3.deps.txt deleted file mode 100644 index 8c2cb2a..0000000 --- a/TransPyV/Test/temp/62cc01c2bb770ca3.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c vipermath \ No newline at end of file diff --git a/TransPyV/Test/temp/6446627d4f07a1b5.deps.txt b/TransPyV/Test/temp/6446627d4f07a1b5.deps.txt deleted file mode 100644 index 0681b55..0000000 --- a/TransPyV/Test/temp/6446627d4f07a1b5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base \ No newline at end of file diff --git a/TransPyV/Test/temp/6503c97dde0c79c4.deps.txt b/TransPyV/Test/temp/6503c97dde0c79c4.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/TransPyV/Test/temp/6503c97dde0c79c4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/TransPyV/Test/temp/657e182b27c2a022.deps.txt b/TransPyV/Test/temp/657e182b27c2a022.deps.txt deleted file mode 100644 index 1fb5080..0000000 --- a/TransPyV/Test/temp/657e182b27c2a022.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string ast.base \ No newline at end of file diff --git a/TransPyV/Test/temp/6f5e876273093314.deps.txt b/TransPyV/Test/temp/6f5e876273093314.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/6f5e876273093314.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/6f62fe05c5ea1ceb.deps.txt b/TransPyV/Test/temp/6f62fe05c5ea1ceb.deps.txt deleted file mode 100644 index 62e033a..0000000 --- a/TransPyV/Test/temp/6f62fe05c5ea1ceb.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c t c \ No newline at end of file diff --git a/TransPyV/Test/temp/6ff26590374ae6fc.deps.txt b/TransPyV/Test/temp/6ff26590374ae6fc.deps.txt deleted file mode 100644 index b092476..0000000 --- a/TransPyV/Test/temp/6ff26590374ae6fc.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/TransPyV/Test/temp/71e0a3ffcb3ebfad.deps.txt b/TransPyV/Test/temp/71e0a3ffcb3ebfad.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/TransPyV/Test/temp/71e0a3ffcb3ebfad.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/TransPyV/Test/temp/72e2d5ccb7cedcf1.deps.txt b/TransPyV/Test/temp/72e2d5ccb7cedcf1.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/TransPyV/Test/temp/72e2d5ccb7cedcf1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/TransPyV/Test/temp/74ca31446cac2107.deps.txt b/TransPyV/Test/temp/74ca31446cac2107.deps.txt deleted file mode 100644 index 7cff98f..0000000 --- a/TransPyV/Test/temp/74ca31446cac2107.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c string stdio t c string \ No newline at end of file diff --git a/TransPyV/Test/temp/76dd6c275aa72b3b.deps.txt b/TransPyV/Test/temp/76dd6c275aa72b3b.deps.txt deleted file mode 100644 index fd84187..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/79b337e5ea8951e2.deps.txt b/TransPyV/Test/temp/79b337e5ea8951e2.deps.txt deleted file mode 100644 index ffede5f..0000000 --- a/TransPyV/Test/temp/79b337e5ea8951e2.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t memhub string \ No newline at end of file diff --git a/TransPyV/Test/temp/7e529fe7a078cfef.deps.txt b/TransPyV/Test/temp/7e529fe7a078cfef.deps.txt deleted file mode 100644 index da45a43..0000000 --- a/TransPyV/Test/temp/7e529fe7a078cfef.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint t stdint \ No newline at end of file diff --git a/TransPyV/Test/temp/80241c7d6f357bd1.deps.txt b/TransPyV/Test/temp/80241c7d6f357bd1.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/80241c7d6f357bd1.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/87274c2b0190fb33.deps.txt b/TransPyV/Test/temp/87274c2b0190fb33.deps.txt deleted file mode 100644 index 7f50989..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/8ebed83a7817fa0c.deps.txt b/TransPyV/Test/temp/8ebed83a7817fa0c.deps.txt deleted file mode 100644 index 0ec8cde..0000000 --- a/TransPyV/Test/temp/8ebed83a7817fa0c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c \ No newline at end of file diff --git a/TransPyV/Test/temp/90921d009fdd674c.deps.txt b/TransPyV/Test/temp/90921d009fdd674c.deps.txt deleted file mode 100644 index 313ad5b..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/90c53dd6db8d41cf.deps.txt b/TransPyV/Test/temp/90c53dd6db8d41cf.deps.txt deleted file mode 100644 index ef9e74f..0000000 --- a/TransPyV/Test/temp/90c53dd6db8d41cf.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t stdint t \ No newline at end of file diff --git a/TransPyV/Test/temp/93c1d18e35d188d6.deps.txt b/TransPyV/Test/temp/93c1d18e35d188d6.deps.txt deleted file mode 100644 index b092476..0000000 --- a/TransPyV/Test/temp/93c1d18e35d188d6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/TransPyV/Test/temp/95394ca8da0f655a.deps.txt b/TransPyV/Test/temp/95394ca8da0f655a.deps.txt deleted file mode 100644 index 74cae9a..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/96837bcc64032444.deps.txt b/TransPyV/Test/temp/96837bcc64032444.deps.txt deleted file mode 100644 index c45eb37..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/969c589035910845.deps.txt b/TransPyV/Test/temp/969c589035910845.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/969c589035910845.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/97043f0d52da437f.deps.txt b/TransPyV/Test/temp/97043f0d52da437f.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/97043f0d52da437f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/971e24c228377a9b.deps.txt b/TransPyV/Test/temp/971e24c228377a9b.deps.txt deleted file mode 100644 index b092476..0000000 --- a/TransPyV/Test/temp/971e24c228377a9b.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/TransPyV/Test/temp/9d4b01572930a369.deps.txt b/TransPyV/Test/temp/9d4b01572930a369.deps.txt deleted file mode 100644 index 1cb69c4..0000000 --- a/TransPyV/Test/temp/9d4b01572930a369.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio stdlib t c testcheck memhub _list stdio stdlib t c testcheck memhub _list \ No newline at end of file diff --git a/TransPyV/Test/temp/9d798d964b9d3411.deps.txt b/TransPyV/Test/temp/9d798d964b9d3411.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/9d798d964b9d3411.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/9d8626a10208b8de.deps.txt b/TransPyV/Test/temp/9d8626a10208b8de.deps.txt deleted file mode 100644 index 9546553..0000000 --- a/TransPyV/Test/temp/9d8626a10208b8de.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base w32.win32sync \ No newline at end of file diff --git a/TransPyV/Test/temp/9d8e1c9631c28b1b.deps.txt b/TransPyV/Test/temp/9d8e1c9631c28b1b.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/9d8e1c9631c28b1b.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/_sha1_map.txt b/TransPyV/Test/temp/_sha1_map.txt index c019a14..47d99d0 100644 --- a/TransPyV/Test/temp/_sha1_map.txt +++ b/TransPyV/Test/temp/_sha1_map.txt @@ -1,47 +1,87 @@ +aba439b7882ad9d6:includes/argparse.py +3487a256b250bb74:includes/asm.py +4337fb260448bbe2:includes/ast/astaux.py +5dab8cb390496d22:includes/ast/base.py +47767b5026a8ee15:includes/ast/exprs.py +0c212981c180e7fb:includes/ast/lexer.py +4dd6b3f1427d1cc5:includes/ast/match.py +ee52c08239684346:includes/ast/parser.py +657e182b27c2a022:includes/ast/stmts.py +b547ac4f380bddb6:includes/ast/tokens.py +34548789d646f432:includes/ast/__init__.py 271ea3decb810db2:includes/atom.py +971e24c228377a9b:includes/base64.py +257e074b935c33b4:includes/binascii.py +ea80a4a724accbda:includes/builtins.py +ad6c853acfc0c146:includes/condition.py +9d8626a10208b8de:includes/event.py +96837bcc64032444:includes/hashlib/__init__.py +19f8024d10c828e8:includes/hashlib/__md5.py +0df65b8ed15664b0:includes/hashlib/__sha1.py +c9d54a4158f7f5a8:includes/hashlib/__sha256.py +6ff26590374ae6fc:includes/hashlib/__sha512.py +b8c66c8ff44eb874:includes/hashtable.py +6166aecc7fa7ad65:includes/hello.py 57288496f7c2d1ad:includes/json/__init__.py 240a9a4157959a9f:includes/json/__parser.py 20cd49775c100a38:includes/json/__writer.py -f3560b99de458aec:includes/memhub.py +2d39c6c7d3557b3e:includes/linkedlist.py +946e087da91aaada:includes/llvmlite/__builder.py +89b3965176cd2407:includes/llvmlite/__function.py +95394ca8da0f655a:includes/llvmlite/__init__.py +21a7fcfc665f75ef:includes/llvmlite/__module.py +15f1ded02f3aa5bc:includes/llvmlite/__types.py +f9e36e2cd6fa659f:includes/llvmlite/__values.py +6b3bc463fd044545:includes/llvmlite/__verify.py +56d07ea7e30ef631:includes/lock.py +47775d5e50909338:includes/memhub.py +c3a6aed1f1fb8b1e:includes/numpy/__init__.py +13110effbb0bb06c:includes/os/path.py +d152115b49e50218:includes/os/_posix.py +a68b70f233541a7f:includes/os/_win32.py +76dd6c275aa72b3b:includes/os/__init__.py +93c1d18e35d188d6:includes/platmacro.py +e0f1d864a10b2e4d:includes/plist.py +6503c97dde0c79c4:includes/posix.py +b558d8d8f01f4825:includes/requests.py +da44924f0777c67a:includes/rwlock.py +abbcbd92436cc16a:includes/shutil.py +d7e3386b828acb66:includes/socket.py +b19a9e500f677f2e:includes/spinlock.py +71e0a3ffcb3ebfad:includes/stdarg.py f5522571bcce7bcb:includes/stdint.py 6f62fe05c5ea1ceb:includes/stdio.py 90c53dd6db8d41cf:includes/stdlib.py -ab6e54ba9a669f76:includes/string.py +9474791561654346:includes/string.py +2da636c61863c815:includes/subprocess.py +b5a965302cded36b:includes/sys.py 14d33679f7fadf1f:includes/testcheck.py +a7bc8c01684c0001:includes/this.py +285a822aa26bfbda:includes/vector.py c9f4be41ca1cc2b4:includes/viperio.py +c3b259b4059f8668:includes/viperlib.py +3f7c5e78d8652535:includes/vipermath.py +c24f25b14b4bbd0a:includes/vipersimd.py +3624cfde3c5cb6cb:includes/viperstring.py +62cc01c2bb770ca3:includes/vrandom.py +87274c2b0190fb33:includes/vthreading.py +0035c95a18d4f8e8:includes/w32/fileio.py 7e529fe7a078cfef:includes/w32/win32base.py bbdf3bbd4c3bc28c:includes/w32/win32console.py +f6b51804a0ba8ff0:includes/w32/win32file.py +72e2d5ccb7cedcf1:includes/w32/win32memory.py +067c78e9f121dce3:includes/w32/win32process.py +06f53cc594b4ac6c:includes/w32/win32sync.py +6446627d4f07a1b5:includes/w32/winsock2.py +1c46d554b3a3f9f3:includes/zlib/pyzlib.py +8ebed83a7817fa0c:includes/zlib/zchecksum.py +213348433fb01cc6:includes/zlib/zdef.py +90921d009fdd674c:includes/zlib/zdeflate.py +d541ade6afb689a5:includes/zlib/zhuff.py +451745df21e598af:includes/zlib/zinflate.py +d63d2c2a2bd9bd2a:includes/zlib/__init__.py e3e7b6de8d7d8b03:includes/_dict.py -f2ecbf8ced20575c:includes/_list.py -80241c7d6f357bd1:App/asm_test.py -17c0dfbcebfa3a0e:App/attr_test.py -0eccc2393466d940:App/augassign_test.py -9d8e1c9631c28b1b:App/closure_test.py -b7bbe6a1c1e75ad8:App/deco_test.py -6f5e876273093314:App/deref_min_test.py -eb252050d92f8fb9:App/deref_test.py -b8cbe044a10adcca:App/eq_test.py -e74870eba3e6d774:App/float_test.py -969c589035910845:App/flow_test.py -1eb1c9fc7e85d9f8:App/for_test.py -3c2fbc9e35ad3bf2:App/func_test.py -a9df037d9178888f:App/func_vtable_test.py -9d4b01572930a369:App/generic_test.py -97043f0d52da437f:App/inherit_test.py -c39f3e540adb7b4e:App/llvmir_test.py -b7eeff93aa63e70f:App/namespace_defs.py -ef45adce81bf5b2d:App/namespace_test.py -9d798d964b9d3411:App/new_test.py -1b9ab264a942c56b:App/oop_test.py -a7cf0ce4066332ae:App/opovl_test.py -ed1c124f3cb787c9:App/ptr_only_test.py -07f7da85af876124:App/ptr_test.py -b078e9c9c74a2a0c:App/simple_test.py -74ca31446cac2107:App/string_min_test.py -e0009679269c6b63:App/string_test.py -33a854a5c4f67d74:App/struct_test.py -d7662500f1c2c0ff:App/testcheck_test.py -c38a35636ba0f067:App/test_main.py -55cbbb5dec4fef2c:App/type_bit_test.py -cc3ad7f3bc880326:App/virtual_dispatch_test.py -2769dee537308b00:App/vtable_test.py +79b337e5ea8951e2:includes/_fakeduck.py +668790e6c9efdbae:includes/_list.py +b62eded2baf30423:includes/_variant.py +5b2e220c5bae60c9:includes/_withcontent.py diff --git a/TransPyV/Test/temp/a68b70f233541a7f.deps.txt b/TransPyV/Test/temp/a68b70f233541a7f.deps.txt deleted file mode 100644 index eea7221..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/a7bc8c01684c0001.deps.txt b/TransPyV/Test/temp/a7bc8c01684c0001.deps.txt deleted file mode 100644 index c19302e..0000000 --- a/TransPyV/Test/temp/a7bc8c01684c0001.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/a7cf0ce4066332ae.deps.txt b/TransPyV/Test/temp/a7cf0ce4066332ae.deps.txt deleted file mode 100644 index 9d25cc3..0000000 --- a/TransPyV/Test/temp/a7cf0ce4066332ae.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio stdlib t c testcheck stdio stdlib t c testcheck \ No newline at end of file diff --git a/TransPyV/Test/temp/a9df037d9178888f.deps.txt b/TransPyV/Test/temp/a9df037d9178888f.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/a9df037d9178888f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/ab6e54ba9a669f76.deps.txt b/TransPyV/Test/temp/ab6e54ba9a669f76.deps.txt deleted file mode 100644 index 0a3240f..0000000 --- a/TransPyV/Test/temp/ab6e54ba9a669f76.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint t c stdint t c \ No newline at end of file diff --git a/TransPyV/Test/temp/aba439b7882ad9d6.deps.txt b/TransPyV/Test/temp/aba439b7882ad9d6.deps.txt deleted file mode 100644 index 691d4bf..0000000 --- a/TransPyV/Test/temp/aba439b7882ad9d6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string memhub stdio hashtable \ No newline at end of file diff --git a/TransPyV/Test/temp/abbcbd92436cc16a.deps.txt b/TransPyV/Test/temp/abbcbd92436cc16a.deps.txt deleted file mode 100644 index fd821fa..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/ad6c853acfc0c146.deps.txt b/TransPyV/Test/temp/ad6c853acfc0c146.deps.txt deleted file mode 100644 index 9546553..0000000 --- a/TransPyV/Test/temp/ad6c853acfc0c146.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base w32.win32sync \ No newline at end of file diff --git a/TransPyV/Test/temp/b078e9c9c74a2a0c.deps.txt b/TransPyV/Test/temp/b078e9c9c74a2a0c.deps.txt deleted file mode 100644 index a98a2fa..0000000 --- a/TransPyV/Test/temp/b078e9c9c74a2a0c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio stdio \ No newline at end of file diff --git a/TransPyV/Test/temp/b19a9e500f677f2e.deps.txt b/TransPyV/Test/temp/b19a9e500f677f2e.deps.txt deleted file mode 100644 index 978194c..0000000 --- a/TransPyV/Test/temp/b19a9e500f677f2e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c atom \ No newline at end of file diff --git a/TransPyV/Test/temp/b547ac4f380bddb6.deps.txt b/TransPyV/Test/temp/b547ac4f380bddb6.deps.txt deleted file mode 100644 index da1157e..0000000 --- a/TransPyV/Test/temp/b547ac4f380bddb6.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint memhub string \ No newline at end of file diff --git a/TransPyV/Test/temp/b558d8d8f01f4825.deps.txt b/TransPyV/Test/temp/b558d8d8f01f4825.deps.txt deleted file mode 100644 index e60effd..0000000 --- a/TransPyV/Test/temp/b558d8d8f01f4825.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string socket memhub stdio \ No newline at end of file diff --git a/TransPyV/Test/temp/b5a965302cded36b.deps.txt b/TransPyV/Test/temp/b5a965302cded36b.deps.txt deleted file mode 100644 index 9d7639a..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/b62eded2baf30423.deps.txt b/TransPyV/Test/temp/b62eded2baf30423.deps.txt deleted file mode 100644 index 103beac..0000000 --- a/TransPyV/Test/temp/b62eded2baf30423.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint \ No newline at end of file diff --git a/TransPyV/Test/temp/b7bbe6a1c1e75ad8.deps.txt b/TransPyV/Test/temp/b7bbe6a1c1e75ad8.deps.txt deleted file mode 100644 index 7cff98f..0000000 --- a/TransPyV/Test/temp/b7bbe6a1c1e75ad8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c string stdio t c string \ No newline at end of file diff --git a/TransPyV/Test/temp/b7eeff93aa63e70f.deps.txt b/TransPyV/Test/temp/b7eeff93aa63e70f.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/b7eeff93aa63e70f.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/b8c66c8ff44eb874.deps.txt b/TransPyV/Test/temp/b8c66c8ff44eb874.deps.txt deleted file mode 100644 index 789f582..0000000 --- a/TransPyV/Test/temp/b8c66c8ff44eb874.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c string memhub stdint \ No newline at end of file diff --git a/TransPyV/Test/temp/b8cbe044a10adcca.deps.txt b/TransPyV/Test/temp/b8cbe044a10adcca.deps.txt deleted file mode 100644 index 7cff98f..0000000 --- a/TransPyV/Test/temp/b8cbe044a10adcca.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c string stdio t c string \ No newline at end of file diff --git a/TransPyV/Test/temp/bbdf3bbd4c3bc28c.deps.txt b/TransPyV/Test/temp/bbdf3bbd4c3bc28c.deps.txt deleted file mode 100644 index 7fc5988..0000000 --- a/TransPyV/Test/temp/bbdf3bbd4c3bc28c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base t stdint w32.win32base \ No newline at end of file diff --git a/TransPyV/Test/temp/c24f25b14b4bbd0a.deps.txt b/TransPyV/Test/temp/c24f25b14b4bbd0a.deps.txt deleted file mode 100644 index b092476..0000000 --- a/TransPyV/Test/temp/c24f25b14b4bbd0a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/TransPyV/Test/temp/c38a35636ba0f067.deps.txt b/TransPyV/Test/temp/c38a35636ba0f067.deps.txt deleted file mode 100644 index 957c02b..0000000 --- a/TransPyV/Test/temp/c38a35636ba0f067.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c testcheck stdint asm_test attr_test augassign_test closure_test deco_test deref_min_test deref_test eq_test float_test flow_test for_test func_test llvmir_test oop_test ptr_only_test ptr_test simple_test string_min_test string_test struct_test type_bit_test vtable_test inherit_test func_vtable_test virtual_dispatch_test new_test namespace_test testcheck_test opovl_test generic_test stdio t c testcheck stdint asm_test attr_test augassign_test closure_test deco_test deref_min_test deref_test eq_test float_test flow_test for_test func_test llvmir_test oop_test ptr_only_test ptr_test simple_test string_min_test string_test struct_test type_bit_test vtable_test inherit_test func_vtable_test virtual_dispatch_test new_test namespace_test testcheck_test opovl_test generic_test \ No newline at end of file diff --git a/TransPyV/Test/temp/c39f3e540adb7b4e.deps.txt b/TransPyV/Test/temp/c39f3e540adb7b4e.deps.txt deleted file mode 100644 index e4e17be..0000000 --- a/TransPyV/Test/temp/c39f3e540adb7b4e.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint stdio t c stdint stdio \ No newline at end of file diff --git a/TransPyV/Test/temp/c3a6aed1f1fb8b1e.deps.txt b/TransPyV/Test/temp/c3a6aed1f1fb8b1e.deps.txt deleted file mode 100644 index cfb58b6..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/c3b259b4059f8668.deps.txt b/TransPyV/Test/temp/c3b259b4059f8668.deps.txt deleted file mode 100644 index 97907fa..0000000 --- a/TransPyV/Test/temp/c3b259b4059f8668.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c viperio stdarg \ No newline at end of file diff --git a/TransPyV/Test/temp/c9d54a4158f7f5a8.deps.txt b/TransPyV/Test/temp/c9d54a4158f7f5a8.deps.txt deleted file mode 100644 index b092476..0000000 --- a/TransPyV/Test/temp/c9d54a4158f7f5a8.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/TransPyV/Test/temp/c9f4be41ca1cc2b4.deps.txt b/TransPyV/Test/temp/c9f4be41ca1cc2b4.deps.txt deleted file mode 100644 index b9e9795..0000000 --- a/TransPyV/Test/temp/c9f4be41ca1cc2b4.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint t c stdint \ No newline at end of file diff --git a/TransPyV/Test/temp/cc3ad7f3bc880326.deps.txt b/TransPyV/Test/temp/cc3ad7f3bc880326.deps.txt deleted file mode 100644 index bd7c07e..0000000 --- a/TransPyV/Test/temp/cc3ad7f3bc880326.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c string inherit_test stdio t c string inherit_test \ No newline at end of file diff --git a/TransPyV/Test/temp/d152115b49e50218.deps.txt b/TransPyV/Test/temp/d152115b49e50218.deps.txt deleted file mode 100644 index 640d691..0000000 --- a/TransPyV/Test/temp/d152115b49e50218.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint posix memhub stdlib \ No newline at end of file diff --git a/TransPyV/Test/temp/d4117f5e00a6c3b5.deps.txt b/TransPyV/Test/temp/d4117f5e00a6c3b5.deps.txt deleted file mode 100644 index 6289bed..0000000 --- a/TransPyV/Test/temp/d4117f5e00a6c3b5.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/TransPyV/Test/temp/d541ade6afb689a5.deps.txt b/TransPyV/Test/temp/d541ade6afb689a5.deps.txt deleted file mode 100644 index a7f920a..0000000 --- a/TransPyV/Test/temp/d541ade6afb689a5.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdint zlib.zdef zdef memhub t c \ No newline at end of file diff --git a/TransPyV/Test/temp/d63d2c2a2bd9bd2a.deps.txt b/TransPyV/Test/temp/d63d2c2a2bd9bd2a.deps.txt deleted file mode 100644 index 1b0c811..0000000 --- a/TransPyV/Test/temp/d63d2c2a2bd9bd2a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -zlib.pyzlib \ No newline at end of file diff --git a/TransPyV/Test/temp/d7662500f1c2c0ff.deps.txt b/TransPyV/Test/temp/d7662500f1c2c0ff.deps.txt deleted file mode 100644 index 9e0af1f..0000000 --- a/TransPyV/Test/temp/d7662500f1c2c0ff.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c string testcheck stdio t c string testcheck \ No newline at end of file diff --git a/TransPyV/Test/temp/d7e3386b828acb66.deps.txt b/TransPyV/Test/temp/d7e3386b828acb66.deps.txt deleted file mode 100644 index 00494d4..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/da44924f0777c67a.deps.txt b/TransPyV/Test/temp/da44924f0777c67a.deps.txt deleted file mode 100644 index 9546553..0000000 --- a/TransPyV/Test/temp/da44924f0777c67a.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint w32.win32base w32.win32sync \ No newline at end of file diff --git a/TransPyV/Test/temp/e0009679269c6b63.deps.txt b/TransPyV/Test/temp/e0009679269c6b63.deps.txt deleted file mode 100644 index 7cff98f..0000000 --- a/TransPyV/Test/temp/e0009679269c6b63.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c string stdio t c string \ No newline at end of file diff --git a/TransPyV/Test/temp/e0b84369e50c937c.deps.txt b/TransPyV/Test/temp/e0b84369e50c937c.deps.txt deleted file mode 100644 index fa3e631..0000000 --- a/TransPyV/Test/temp/e0b84369e50c937c.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/TransPyV/Test/temp/e0f1d864a10b2e4d.deps.txt b/TransPyV/Test/temp/e0f1d864a10b2e4d.deps.txt deleted file mode 100644 index b092476..0000000 --- a/TransPyV/Test/temp/e0f1d864a10b2e4d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c \ No newline at end of file diff --git a/TransPyV/Test/temp/e3e7b6de8d7d8b03.deps.txt b/TransPyV/Test/temp/e3e7b6de8d7d8b03.deps.txt deleted file mode 100644 index 29a795b..0000000 --- a/TransPyV/Test/temp/e3e7b6de8d7d8b03.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c memhub string json stdint t c memhub string json stdint \ No newline at end of file diff --git a/TransPyV/Test/temp/e74870eba3e6d774.deps.txt b/TransPyV/Test/temp/e74870eba3e6d774.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/e74870eba3e6d774.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/ea80a4a724accbda.deps.txt b/TransPyV/Test/temp/ea80a4a724accbda.deps.txt deleted file mode 100644 index 32f64f4..0000000 --- a/TransPyV/Test/temp/ea80a4a724accbda.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t \ No newline at end of file diff --git a/TransPyV/Test/temp/eb252050d92f8fb9.deps.txt b/TransPyV/Test/temp/eb252050d92f8fb9.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/eb252050d92f8fb9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/ed1c124f3cb787c9.deps.txt b/TransPyV/Test/temp/ed1c124f3cb787c9.deps.txt deleted file mode 100644 index 0fbad20..0000000 --- a/TransPyV/Test/temp/ed1c124f3cb787c9.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c stdio t c \ No newline at end of file diff --git a/TransPyV/Test/temp/ee52c08239684346.deps.txt b/TransPyV/Test/temp/ee52c08239684346.deps.txt deleted file mode 100644 index 7196dda..0000000 --- a/TransPyV/Test/temp/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/TransPyV/Test/temp/ef45adce81bf5b2d.deps.txt b/TransPyV/Test/temp/ef45adce81bf5b2d.deps.txt deleted file mode 100644 index d405428..0000000 --- a/TransPyV/Test/temp/ef45adce81bf5b2d.deps.txt +++ /dev/null @@ -1 +0,0 @@ -stdio t c namespace_defs namespace_defs stdio t c namespace_defs namespace_defs \ No newline at end of file diff --git a/TransPyV/Test/temp/f2ecbf8ced20575c.deps.txt b/TransPyV/Test/temp/f2ecbf8ced20575c.deps.txt deleted file mode 100644 index 3b9e107..0000000 --- a/TransPyV/Test/temp/f2ecbf8ced20575c.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c memhub string stdint t c memhub string stdint \ No newline at end of file diff --git a/TransPyV/Test/temp/f3560b99de458aec.deps.txt b/TransPyV/Test/temp/f3560b99de458aec.deps.txt deleted file mode 100644 index 67c49ce..0000000 --- a/TransPyV/Test/temp/f3560b99de458aec.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t c stdint string atom viperio t c stdint string atom viperio \ No newline at end of file diff --git a/TransPyV/Test/temp/f5522571bcce7bcb.deps.txt b/TransPyV/Test/temp/f5522571bcce7bcb.deps.txt deleted file mode 100644 index 7a8d4dc..0000000 --- a/TransPyV/Test/temp/f5522571bcce7bcb.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t t \ No newline at end of file diff --git a/TransPyV/Test/temp/f6b51804a0ba8ff0.deps.txt b/TransPyV/Test/temp/f6b51804a0ba8ff0.deps.txt deleted file mode 100644 index e28a09e..0000000 --- a/TransPyV/Test/temp/f6b51804a0ba8ff0.deps.txt +++ /dev/null @@ -1 +0,0 @@ -t stdint w32.win32base \ No newline at end of file diff --git a/TransPyV/output/001c1416e7a7dc50.deps.json b/TransPyV/output/001c1416e7a7dc50.deps.json index 2813387..5193088 100644 --- a/TransPyV/output/001c1416e7a7dc50.deps.json +++ b/TransPyV/output/001c1416e7a7dc50.deps.json @@ -1 +1 @@ -{"w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesMain.tokens": "b547ac4f380bddb6", "HandlesMain.base": "5dab8cb390496d22", "HandlesMain.exprs": "47767b5026a8ee15", "HandlesMain.stmts": "657e182b27c2a022", "HandlesMain.astaux": "4337fb260448bbe2", "HandlesMain.match": "4dd6b3f1427d1cc5", "HandlesMain.lexer": "0c212981c180e7fb", "HandlesMain.__types": "455ff4e74c3dbfb0", "HandlesMain.__function": "e0b84369e50c937c", "HandlesMain.__values": "05c11f22675c60cb", "HandlesMain.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/02885f6f134079c2.deps.json b/TransPyV/output/02885f6f134079c2.deps.json index ac5c99c..6e7873d 100644 --- a/TransPyV/output/02885f6f134079c2.deps.json +++ b/TransPyV/output/02885f6f134079c2.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesVar.__types": "455ff4e74c3dbfb0", "HandlesVar.__function": "e0b84369e50c937c", "HandlesVar.__values": "05c11f22675c60cb", "HandlesVar.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/07a8c82a8ca2be90.deps.json b/TransPyV/output/07a8c82a8ca2be90.deps.json index 2766a9c..f81cdfd 100644 --- a/TransPyV/output/07a8c82a8ca2be90.deps.json +++ b/TransPyV/output/07a8c82a8ca2be90.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesExprOps.tokens": "b547ac4f380bddb6", "HandlesExprOps.base": "5dab8cb390496d22", "HandlesExprOps.exprs": "47767b5026a8ee15", "HandlesExprOps.stmts": "657e182b27c2a022", "HandlesExprOps.astaux": "4337fb260448bbe2", "HandlesExprOps.match": "4dd6b3f1427d1cc5", "HandlesExprOps.lexer": "0c212981c180e7fb", "HandlesExprOps.__types": "455ff4e74c3dbfb0", "HandlesExprOps.__function": "e0b84369e50c937c", "HandlesExprOps.__values": "05c11f22675c60cb", "HandlesExprOps.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/0c56128647a0b845.deps.json b/TransPyV/output/0c56128647a0b845.deps.json index 1ce21cf..a33c055 100644 --- a/TransPyV/output/0c56128647a0b845.deps.json +++ b/TransPyV/output/0c56128647a0b845.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesType.tokens": "b547ac4f380bddb6", "HandlesType.base": "5dab8cb390496d22", "HandlesType.exprs": "47767b5026a8ee15", "HandlesType.stmts": "657e182b27c2a022", "HandlesType.astaux": "4337fb260448bbe2", "HandlesType.match": "4dd6b3f1427d1cc5", "HandlesType.lexer": "0c212981c180e7fb", "HandlesType.__types": "455ff4e74c3dbfb0", "HandlesType.__function": "e0b84369e50c937c", "HandlesType.__values": "05c11f22675c60cb", "HandlesType.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/21fffba3315e81b4.deps.json b/TransPyV/output/21fffba3315e81b4.deps.json index 950882c..a905ada 100644 --- a/TransPyV/output/21fffba3315e81b4.deps.json +++ b/TransPyV/output/21fffba3315e81b4.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/2998b8f78d7022bf.deps.json b/TransPyV/output/2998b8f78d7022bf.deps.json index b9b6287..146d925 100644 --- a/TransPyV/output/2998b8f78d7022bf.deps.json +++ b/TransPyV/output/2998b8f78d7022bf.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesTranslator.tokens": "b547ac4f380bddb6", "HandlesTranslator.base": "5dab8cb390496d22", "HandlesTranslator.exprs": "47767b5026a8ee15", "HandlesTranslator.stmts": "657e182b27c2a022", "HandlesTranslator.astaux": "4337fb260448bbe2", "HandlesTranslator.match": "4dd6b3f1427d1cc5", "HandlesTranslator.lexer": "0c212981c180e7fb", "HandlesTranslator.__types": "455ff4e74c3dbfb0", "HandlesTranslator.__function": "e0b84369e50c937c", "HandlesTranslator.__values": "05c11f22675c60cb", "HandlesTranslator.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/2ed380190e9df89e.deps.json b/TransPyV/output/2ed380190e9df89e.deps.json index 9f16572..4fd366e 100644 --- a/TransPyV/output/2ed380190e9df89e.deps.json +++ b/TransPyV/output/2ed380190e9df89e.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesAnnAssign.tokens": "b547ac4f380bddb6", "HandlesAnnAssign.base": "5dab8cb390496d22", "HandlesAnnAssign.exprs": "47767b5026a8ee15", "HandlesAnnAssign.stmts": "657e182b27c2a022", "HandlesAnnAssign.astaux": "4337fb260448bbe2", "HandlesAnnAssign.match": "4dd6b3f1427d1cc5", "HandlesAnnAssign.lexer": "0c212981c180e7fb", "HandlesAnnAssign.__types": "455ff4e74c3dbfb0", "HandlesAnnAssign.__function": "e0b84369e50c937c", "HandlesAnnAssign.__values": "05c11f22675c60cb", "HandlesAnnAssign.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/3d3edda4a4e6c08b.deps.json b/TransPyV/output/3d3edda4a4e6c08b.deps.json index e0aeee7..d03c1b3 100644 --- a/TransPyV/output/3d3edda4a4e6c08b.deps.json +++ b/TransPyV/output/3d3edda4a4e6c08b.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesAssign.tokens": "b547ac4f380bddb6", "HandlesAssign.base": "5dab8cb390496d22", "HandlesAssign.exprs": "47767b5026a8ee15", "HandlesAssign.stmts": "657e182b27c2a022", "HandlesAssign.astaux": "4337fb260448bbe2", "HandlesAssign.match": "4dd6b3f1427d1cc5", "HandlesAssign.lexer": "0c212981c180e7fb", "HandlesAssign.__types": "455ff4e74c3dbfb0", "HandlesAssign.__function": "e0b84369e50c937c", "HandlesAssign.__values": "05c11f22675c60cb", "HandlesAssign.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/4020cac9bab5e9f1.deps.json b/TransPyV/output/4020cac9bab5e9f1.deps.json index e7e9c92..5244b3d 100644 --- a/TransPyV/output/4020cac9bab5e9f1.deps.json +++ b/TransPyV/output/4020cac9bab5e9f1.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesFunctions.tokens": "b547ac4f380bddb6", "HandlesFunctions.base": "5dab8cb390496d22", "HandlesFunctions.exprs": "47767b5026a8ee15", "HandlesFunctions.stmts": "657e182b27c2a022", "HandlesFunctions.astaux": "4337fb260448bbe2", "HandlesFunctions.match": "4dd6b3f1427d1cc5", "HandlesFunctions.lexer": "0c212981c180e7fb", "HandlesFunctions.__types": "455ff4e74c3dbfb0", "HandlesFunctions.__function": "e0b84369e50c937c", "HandlesFunctions.__values": "05c11f22675c60cb", "HandlesFunctions.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/48fa8cc758d3826b.deps.json b/TransPyV/output/48fa8cc758d3826b.deps.json index 4a1e1c6..ad62fd7 100644 --- a/TransPyV/output/48fa8cc758d3826b.deps.json +++ b/TransPyV/output/48fa8cc758d3826b.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesFor.tokens": "b547ac4f380bddb6", "HandlesFor.base": "5dab8cb390496d22", "HandlesFor.exprs": "47767b5026a8ee15", "HandlesFor.stmts": "657e182b27c2a022", "HandlesFor.astaux": "4337fb260448bbe2", "HandlesFor.match": "4dd6b3f1427d1cc5", "HandlesFor.lexer": "0c212981c180e7fb", "HandlesFor.__types": "455ff4e74c3dbfb0", "HandlesFor.__function": "e0b84369e50c937c", "HandlesFor.__values": "05c11f22675c60cb", "HandlesFor.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/49cf633017627a4a.deps.json b/TransPyV/output/49cf633017627a4a.deps.json index e020d99..2c8a7ba 100644 --- a/TransPyV/output/49cf633017627a4a.deps.json +++ b/TransPyV/output/49cf633017627a4a.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/51f0144d6e8188d9.deps.json b/TransPyV/output/51f0144d6e8188d9.deps.json index a97def0..2fd051a 100644 --- a/TransPyV/output/51f0144d6e8188d9.deps.json +++ b/TransPyV/output/51f0144d6e8188d9.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesWhile.tokens": "b547ac4f380bddb6", "HandlesWhile.base": "5dab8cb390496d22", "HandlesWhile.exprs": "47767b5026a8ee15", "HandlesWhile.stmts": "657e182b27c2a022", "HandlesWhile.astaux": "4337fb260448bbe2", "HandlesWhile.match": "4dd6b3f1427d1cc5", "HandlesWhile.lexer": "0c212981c180e7fb", "HandlesWhile.__types": "455ff4e74c3dbfb0", "HandlesWhile.__function": "e0b84369e50c937c", "HandlesWhile.__values": "05c11f22675c60cb", "HandlesWhile.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/54014f6c53e9640b.deps.json b/TransPyV/output/54014f6c53e9640b.deps.json index 3f4b699..9436aa9 100644 --- a/TransPyV/output/54014f6c53e9640b.deps.json +++ b/TransPyV/output/54014f6c53e9640b.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesStruct.__types": "455ff4e74c3dbfb0", "HandlesStruct.__function": "e0b84369e50c937c", "HandlesStruct.__values": "05c11f22675c60cb", "HandlesStruct.__module": "21a7fcfc665f75ef", "HandlesStruct.tokens": "b547ac4f380bddb6", "HandlesStruct.base": "5dab8cb390496d22", "HandlesStruct.exprs": "47767b5026a8ee15", "HandlesStruct.stmts": "657e182b27c2a022", "HandlesStruct.astaux": "4337fb260448bbe2", "HandlesStruct.match": "4dd6b3f1427d1cc5", "HandlesStruct.lexer": "0c212981c180e7fb"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/541a090dde0cc1ba.deps.json b/TransPyV/output/541a090dde0cc1ba.deps.json index 9b94863..6166822 100644 --- a/TransPyV/output/541a090dde0cc1ba.deps.json +++ b/TransPyV/output/541a090dde0cc1ba.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesAugAssign.tokens": "b547ac4f380bddb6", "HandlesAugAssign.base": "5dab8cb390496d22", "HandlesAugAssign.exprs": "47767b5026a8ee15", "HandlesAugAssign.stmts": "657e182b27c2a022", "HandlesAugAssign.astaux": "4337fb260448bbe2", "HandlesAugAssign.match": "4dd6b3f1427d1cc5", "HandlesAugAssign.lexer": "0c212981c180e7fb", "HandlesAugAssign.__types": "455ff4e74c3dbfb0", "HandlesAugAssign.__function": "e0b84369e50c937c", "HandlesAugAssign.__values": "05c11f22675c60cb", "HandlesAugAssign.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/66de93aaeebc0601.deps.json b/TransPyV/output/66de93aaeebc0601.deps.json index a260532..d0c3e0a 100644 --- a/TransPyV/output/66de93aaeebc0601.deps.json +++ b/TransPyV/output/66de93aaeebc0601.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesIf.tokens": "b547ac4f380bddb6", "HandlesIf.base": "5dab8cb390496d22", "HandlesIf.exprs": "47767b5026a8ee15", "HandlesIf.stmts": "657e182b27c2a022", "HandlesIf.astaux": "4337fb260448bbe2", "HandlesIf.match": "4dd6b3f1427d1cc5", "HandlesIf.lexer": "0c212981c180e7fb", "HandlesIf.__types": "455ff4e74c3dbfb0", "HandlesIf.__function": "e0b84369e50c937c", "HandlesIf.__values": "05c11f22675c60cb", "HandlesIf.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/78bbe886bbe5ca8f.deps.json b/TransPyV/output/78bbe886bbe5ca8f.deps.json index 085d856..928807c 100644 --- a/TransPyV/output/78bbe886bbe5ca8f.deps.json +++ b/TransPyV/output/78bbe886bbe5ca8f.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesImports.tokens": "b547ac4f380bddb6", "HandlesImports.base": "5dab8cb390496d22", "HandlesImports.exprs": "47767b5026a8ee15", "HandlesImports.stmts": "657e182b27c2a022", "HandlesImports.astaux": "4337fb260448bbe2", "HandlesImports.match": "4dd6b3f1427d1cc5", "HandlesImports.lexer": "0c212981c180e7fb"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/7e260c14d2712119.deps.json b/TransPyV/output/7e260c14d2712119.deps.json index e41984e..74b3bc6 100644 --- a/TransPyV/output/7e260c14d2712119.deps.json +++ b/TransPyV/output/7e260c14d2712119.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "Phase2.tokens": "b547ac4f380bddb6", "Phase2.base": "5dab8cb390496d22", "Phase2.exprs": "47767b5026a8ee15", "Phase2.stmts": "657e182b27c2a022", "Phase2.astaux": "4337fb260448bbe2", "Phase2.match": "4dd6b3f1427d1cc5", "Phase2.lexer": "0c212981c180e7fb", "Phase2.__types": "455ff4e74c3dbfb0", "Phase2.__function": "e0b84369e50c937c", "Phase2.__values": "05c11f22675c60cb", "Phase2.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/81eb28ba912467a6.deps.json b/TransPyV/output/81eb28ba912467a6.deps.json index 52cd118..383e7cb 100644 --- a/TransPyV/output/81eb28ba912467a6.deps.json +++ b/TransPyV/output/81eb28ba912467a6.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesBody.tokens": "b547ac4f380bddb6", "HandlesBody.base": "5dab8cb390496d22", "HandlesBody.exprs": "47767b5026a8ee15", "HandlesBody.stmts": "657e182b27c2a022", "HandlesBody.astaux": "4337fb260448bbe2", "HandlesBody.match": "4dd6b3f1427d1cc5", "HandlesBody.lexer": "0c212981c180e7fb", "HandlesBody.__types": "455ff4e74c3dbfb0", "HandlesBody.__function": "e0b84369e50c937c", "HandlesBody.__values": "05c11f22675c60cb", "HandlesBody.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/83ba314b4637eec9.deps.json b/TransPyV/output/83ba314b4637eec9.deps.json index f32fa7b..8b3ee59 100644 --- a/TransPyV/output/83ba314b4637eec9.deps.json +++ b/TransPyV/output/83ba314b4637eec9.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/888ea5bd6ab516ae.deps.json b/TransPyV/output/888ea5bd6ab516ae.deps.json index 6627aae..69d1a20 100644 --- a/TransPyV/output/888ea5bd6ab516ae.deps.json +++ b/TransPyV/output/888ea5bd6ab516ae.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/8f12094c840be06a.deps.json b/TransPyV/output/8f12094c840be06a.deps.json index 6450285..7d39112 100644 --- a/TransPyV/output/8f12094c840be06a.deps.json +++ b/TransPyV/output/8f12094c840be06a.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/950028de389b7a7b.deps.json b/TransPyV/output/950028de389b7a7b.deps.json deleted file mode 100644 index c1f4c6a..0000000 --- a/TransPyV/output/950028de389b7a7b.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main.tokens": "b547ac4f380bddb6", "main.base": "5dab8cb390496d22", "main.exprs": "47767b5026a8ee15", "main.stmts": "657e182b27c2a022", "main.astaux": "4337fb260448bbe2", "main.match": "4dd6b3f1427d1cc5", "main.lexer": "0c212981c180e7fb", "main.__types": "455ff4e74c3dbfb0", "main.__function": "e0b84369e50c937c", "main.__values": "05c11f22675c60cb", "main.__module": "21a7fcfc665f75ef"} \ No newline at end of file diff --git a/TransPyV/output/ae0cc890f657076d.deps.json b/TransPyV/output/ae0cc890f657076d.deps.json index aed6921..882d390 100644 --- a/TransPyV/output/ae0cc890f657076d.deps.json +++ b/TransPyV/output/ae0cc890f657076d.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesExpr.tokens": "b547ac4f380bddb6", "HandlesExpr.base": "5dab8cb390496d22", "HandlesExpr.exprs": "47767b5026a8ee15", "HandlesExpr.stmts": "657e182b27c2a022", "HandlesExpr.astaux": "4337fb260448bbe2", "HandlesExpr.match": "4dd6b3f1427d1cc5", "HandlesExpr.lexer": "0c212981c180e7fb", "HandlesExpr.__types": "455ff4e74c3dbfb0", "HandlesExpr.__function": "e0b84369e50c937c", "HandlesExpr.__values": "05c11f22675c60cb", "HandlesExpr.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/af9484a65085bf4b.deps.json b/TransPyV/output/af9484a65085bf4b.deps.json index 7640256..9449288 100644 --- a/TransPyV/output/af9484a65085bf4b.deps.json +++ b/TransPyV/output/af9484a65085bf4b.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesNonlocal.tokens": "b547ac4f380bddb6", "HandlesNonlocal.base": "5dab8cb390496d22", "HandlesNonlocal.exprs": "47767b5026a8ee15", "HandlesNonlocal.stmts": "657e182b27c2a022", "HandlesNonlocal.astaux": "4337fb260448bbe2", "HandlesNonlocal.match": "4dd6b3f1427d1cc5", "HandlesNonlocal.lexer": "0c212981c180e7fb", "HandlesNonlocal.__types": "455ff4e74c3dbfb0", "HandlesNonlocal.__function": "e0b84369e50c937c", "HandlesNonlocal.__values": "05c11f22675c60cb", "HandlesNonlocal.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/b29b80b6106e4be7.deps.json b/TransPyV/output/b29b80b6106e4be7.deps.json index 8f1ea90..0735fff 100644 --- a/TransPyV/output/b29b80b6106e4be7.deps.json +++ b/TransPyV/output/b29b80b6106e4be7.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesExprCall.tokens": "b547ac4f380bddb6", "HandlesExprCall.base": "5dab8cb390496d22", "HandlesExprCall.exprs": "47767b5026a8ee15", "HandlesExprCall.stmts": "657e182b27c2a022", "HandlesExprCall.astaux": "4337fb260448bbe2", "HandlesExprCall.match": "4dd6b3f1427d1cc5", "HandlesExprCall.lexer": "0c212981c180e7fb", "HandlesExprCall.__types": "455ff4e74c3dbfb0", "HandlesExprCall.__function": "e0b84369e50c937c", "HandlesExprCall.__values": "05c11f22675c60cb", "HandlesExprCall.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/b5d05dbd7fee36ef.deps.json b/TransPyV/output/b5d05dbd7fee36ef.deps.json deleted file mode 100644 index 5aa0f78..0000000 --- a/TransPyV/output/b5d05dbd7fee36ef.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "StubMerger.__types": "455ff4e74c3dbfb0", "StubMerger.__function": "e0b84369e50c937c", "StubMerger.__values": "05c11f22675c60cb", "StubMerger.__module": "21a7fcfc665f75ef", "StubMerger.tokens": "b547ac4f380bddb6", "StubMerger.base": "5dab8cb390496d22", "StubMerger.exprs": "47767b5026a8ee15", "StubMerger.stmts": "657e182b27c2a022", "StubMerger.astaux": "4337fb260448bbe2", "StubMerger.match": "4dd6b3f1427d1cc5", "StubMerger.lexer": "0c212981c180e7fb"} \ No newline at end of file diff --git a/TransPyV/output/bd82e3ca81546c76.deps.json b/TransPyV/output/bd82e3ca81546c76.deps.json deleted file mode 100644 index 870d529..0000000 --- a/TransPyV/output/bd82e3ca81546c76.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0"} \ No newline at end of file diff --git a/TransPyV/output/c4f2d483ec0f4db5.deps.json b/TransPyV/output/c4f2d483ec0f4db5.deps.json index 46297c2..233bfd0 100644 --- a/TransPyV/output/c4f2d483ec0f4db5.deps.json +++ b/TransPyV/output/c4f2d483ec0f4db5.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesClassDef.tokens": "b547ac4f380bddb6", "HandlesClassDef.base": "5dab8cb390496d22", "HandlesClassDef.exprs": "47767b5026a8ee15", "HandlesClassDef.stmts": "657e182b27c2a022", "HandlesClassDef.astaux": "4337fb260448bbe2", "HandlesClassDef.match": "4dd6b3f1427d1cc5", "HandlesClassDef.lexer": "0c212981c180e7fb", "HandlesClassDef.__types": "455ff4e74c3dbfb0", "HandlesClassDef.__function": "e0b84369e50c937c", "HandlesClassDef.__values": "05c11f22675c60cb", "HandlesClassDef.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/d1599ecbac5b6586.deps.json b/TransPyV/output/d1599ecbac5b6586.deps.json index 6f43b48..95b3286 100644 --- a/TransPyV/output/d1599ecbac5b6586.deps.json +++ b/TransPyV/output/d1599ecbac5b6586.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "BuildPipeline.tokens": "b547ac4f380bddb6", "BuildPipeline.base": "5dab8cb390496d22", "BuildPipeline.exprs": "47767b5026a8ee15", "BuildPipeline.stmts": "657e182b27c2a022", "BuildPipeline.astaux": "4337fb260448bbe2", "BuildPipeline.match": "4dd6b3f1427d1cc5", "BuildPipeline.lexer": "0c212981c180e7fb"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/d9322f0db660edd8.deps.json b/TransPyV/output/d9322f0db660edd8.deps.json index 8ba45b0..bdc6d1d 100644 --- a/TransPyV/output/d9322f0db660edd8.deps.json +++ b/TransPyV/output/d9322f0db660edd8.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesReturn.tokens": "b547ac4f380bddb6", "HandlesReturn.base": "5dab8cb390496d22", "HandlesReturn.exprs": "47767b5026a8ee15", "HandlesReturn.stmts": "657e182b27c2a022", "HandlesReturn.astaux": "4337fb260448bbe2", "HandlesReturn.match": "4dd6b3f1427d1cc5", "HandlesReturn.lexer": "0c212981c180e7fb", "HandlesReturn.__types": "455ff4e74c3dbfb0", "HandlesReturn.__function": "e0b84369e50c937c", "HandlesReturn.__values": "05c11f22675c60cb", "HandlesReturn.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/output/db7c4a8f09d02a17.deps.json b/TransPyV/output/db7c4a8f09d02a17.deps.json deleted file mode 100644 index 8ec2103..0000000 --- a/TransPyV/output/db7c4a8f09d02a17.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "lib.core.Handles.HandlesEnum": "e5be27ae4fe7ce04", "HandlesEnum": "e5be27ae4fe7ce04", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "Phase1.tokens": "b547ac4f380bddb6", "Phase1.base": "5dab8cb390496d22", "Phase1.exprs": "47767b5026a8ee15", "Phase1.stmts": "657e182b27c2a022", "Phase1.astaux": "4337fb260448bbe2", "Phase1.match": "4dd6b3f1427d1cc5", "Phase1.lexer": "0c212981c180e7fb", "Phase1.__types": "455ff4e74c3dbfb0", "Phase1.__function": "e0b84369e50c937c", "Phase1.__values": "05c11f22675c60cb", "Phase1.__module": "21a7fcfc665f75ef"} \ No newline at end of file diff --git a/TransPyV/output/e5be27ae4fe7ce04.deps.json b/TransPyV/output/e5be27ae4fe7ce04.deps.json index c89e6bc..7f32ed2 100644 --- a/TransPyV/output/e5be27ae4fe7ce04.deps.json +++ b/TransPyV/output/e5be27ae4fe7ce04.deps.json @@ -1 +1 @@ -{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "llvmlite.__values": "05c11f22675c60cb", "__values": "05c11f22675c60cb", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "llvmlite.__types": "455ff4e74c3dbfb0", "__types": "455ff4e74c3dbfb0", "llvmlite.__builder": "46ea362b72c10a9e", "__builder": "46ea362b72c10a9e", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "main": "950028de389b7a7b", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "string": "ab6e54ba9a669f76", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "lib.core.StubMerger": "b5d05dbd7fee36ef", "StubMerger": "b5d05dbd7fee36ef", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "lib.core.IncludesScanner": "bd82e3ca81546c76", "IncludesScanner": "bd82e3ca81546c76", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "llvmlite.__verify": "d4117f5e00a6c3b5", "__verify": "d4117f5e00a6c3b5", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "lib.core.Phase1": "db7c4a8f09d02a17", "Phase1": "db7c4a8f09d02a17", "llvmlite.__function": "e0b84369e50c937c", "__function": "e0b84369e50c937c", "memhub": "ee084e9fc6ee413a", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "_list": "f2ecbf8ced20575c", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "HandlesEnum.__types": "455ff4e74c3dbfb0", "HandlesEnum.__function": "e0b84369e50c937c", "HandlesEnum.__values": "05c11f22675c60cb", "HandlesEnum.__module": "21a7fcfc665f75ef"} \ No newline at end of file +{"lib.core.Handles.HandlesMain": "001c1416e7a7dc50", "HandlesMain": "001c1416e7a7dc50", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "lib.core.Handles.HandlesVar": "02885f6f134079c2", "HandlesVar": "02885f6f134079c2", "w32.win32process": "067c78e9f121dce3", "win32process": "067c78e9f121dce3", "w32.win32sync": "06f53cc594b4ac6c", "win32sync": "06f53cc594b4ac6c", "lib.core.Handles.HandlesExprOps": "07a8c82a8ca2be90", "HandlesExprOps": "07a8c82a8ca2be90", "ast.lexer": "0c212981c180e7fb", "lexer": "0c212981c180e7fb", "lib.core.Handles.HandlesType": "0c56128647a0b845", "HandlesType": "0c56128647a0b845", "hashlib.__sha1": "0df65b8ed15664b0", "__sha1": "0df65b8ed15664b0", "llvmlite.__types": "15f1ded02f3aa5bc", "__types": "15f1ded02f3aa5bc", "hashlib.__md5": "19f8024d10c828e8", "__md5": "19f8024d10c828e8", "json.__writer": "20cd49775c100a38", "__writer": "20cd49775c100a38", "llvmlite.__module": "21a7fcfc665f75ef", "__module": "21a7fcfc665f75ef", "lib.core.VLogger": "21fffba3315e81b4", "VLogger": "21fffba3315e81b4", "json.__parser": "240a9a4157959a9f", "__parser": "240a9a4157959a9f", "atom": "271ea3decb810db2", "lib.core.Handles.HandlesTranslator": "2998b8f78d7022bf", "HandlesTranslator": "2998b8f78d7022bf", "linkedlist": "2d39c6c7d3557b3e", "subprocess": "2da636c61863c815", "lib.core.Handles.HandlesAnnAssign": "2ed380190e9df89e", "HandlesAnnAssign": "2ed380190e9df89e", "ast.__init__": "34548789d646f432", "__init__": "96837bcc64032444", "ast": "34548789d646f432", "lib.core.Handles.HandlesAssign": "3d3edda4a4e6c08b", "HandlesAssign": "3d3edda4a4e6c08b", "lib.core.Handles.HandlesFunctions": "4020cac9bab5e9f1", "HandlesFunctions": "4020cac9bab5e9f1", "ast.astaux": "4337fb260448bbe2", "astaux": "4337fb260448bbe2", "ast.exprs": "47767b5026a8ee15", "exprs": "47767b5026a8ee15", "memhub": "47775d5e50909338", "lib.core.Handles.HandlesFor": "48fa8cc758d3826b", "HandlesFor": "48fa8cc758d3826b", "lib.Projectrans.Config": "49cf633017627a4a", "Config": "49cf633017627a4a", "ast.match": "4dd6b3f1427d1cc5", "match": "4dd6b3f1427d1cc5", "lib.core.Handles.HandlesWhile": "51f0144d6e8188d9", "HandlesWhile": "51f0144d6e8188d9", "lib.core.Handles.HandlesStruct": "54014f6c53e9640b", "HandlesStruct": "54014f6c53e9640b", "lib.core.Handles.HandlesAugAssign": "541a090dde0cc1ba", "HandlesAugAssign": "541a090dde0cc1ba", "json.__init__": "57288496f7c2d1ad", "json": "57288496f7c2d1ad", "ast.base": "5dab8cb390496d22", "base": "5dab8cb390496d22", "posix": "6503c97dde0c79c4", "ast.stmts": "657e182b27c2a022", "stmts": "657e182b27c2a022", "_list": "668790e6c9efdbae", "lib.core.Handles.HandlesIf": "66de93aaeebc0601", "HandlesIf": "66de93aaeebc0601", "llvmlite.__verify": "6b3bc463fd044545", "__verify": "6b3bc463fd044545", "stdio": "6f62fe05c5ea1ceb", "hashlib.__sha512": "6ff26590374ae6fc", "__sha512": "6ff26590374ae6fc", "stdarg": "71e0a3ffcb3ebfad", "w32.win32memory": "72e2d5ccb7cedcf1", "win32memory": "72e2d5ccb7cedcf1", "lib.core.Handles.HandlesImports": "78bbe886bbe5ca8f", "HandlesImports": "78bbe886bbe5ca8f", "lib.core.Phase2": "7e260c14d2712119", "Phase2": "7e260c14d2712119", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "lib.core.Handles.HandlesBody": "81eb28ba912467a6", "HandlesBody": "81eb28ba912467a6", "lib.core.Handles.HandlesBase": "83ba314b4637eec9", "HandlesBase": "83ba314b4637eec9", "lib.Projectrans.Utils": "888ea5bd6ab516ae", "Utils": "888ea5bd6ab516ae", "llvmlite.__function": "89b3965176cd2407", "__function": "89b3965176cd2407", "lib.__init__": "8f12094c840be06a", "lib": "8f12094c840be06a", "stdlib": "90c53dd6db8d41cf", "platmacro": "93c1d18e35d188d6", "llvmlite.__builder": "946e087da91aaada", "__builder": "946e087da91aaada", "string": "9474791561654346", "llvmlite.__init__": "95394ca8da0f655a", "llvmlite": "95394ca8da0f655a", "hashlib.__init__": "96837bcc64032444", "hashlib": "96837bcc64032444", "lib.core.StubMerger": "9d90ff4bae201361", "StubMerger": "9d90ff4bae201361", "lib.core.IncludesScanner": "a1a7dbafa49abfd1", "IncludesScanner": "a1a7dbafa49abfd1", "argparse": "aba439b7882ad9d6", "lib.core.Handles.HandlesExpr": "ae0cc890f657076d", "HandlesExpr": "ae0cc890f657076d", "lib.core.Handles.HandlesNonlocal": "af9484a65085bf4b", "HandlesNonlocal": "af9484a65085bf4b", "lib.core.Handles.HandlesExprCall": "b29b80b6106e4be7", "HandlesExprCall": "b29b80b6106e4be7", "ast.tokens": "b547ac4f380bddb6", "tokens": "b547ac4f380bddb6", "sys": "b5a965302cded36b", "hashtable": "b8c66c8ff44eb874", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperlib": "c3b259b4059f8668", "lib.core.Handles.HandlesClassDef": "c4f2d483ec0f4db5", "HandlesClassDef": "c4f2d483ec0f4db5", "lib.core.Phase1": "c8d5323b1a4df063", "Phase1": "c8d5323b1a4df063", "hashlib.__sha256": "c9d54a4158f7f5a8", "__sha256": "c9d54a4158f7f5a8", "viperio": "c9f4be41ca1cc2b4", "lib.core.BuildPipeline": "d1599ecbac5b6586", "BuildPipeline": "d1599ecbac5b6586", "lib.core.Handles.HandlesReturn": "d9322f0db660edd8", "HandlesReturn": "d9322f0db660edd8", "ast.parser": "ee52c08239684346", "parser": "ee52c08239684346", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "main": "f8e903a99e1d0a57", "llvmlite.__values": "f9e36e2cd6fa659f", "__values": "f9e36e2cd6fa659f"} \ No newline at end of file diff --git a/TransPyV/temp/05c11f22675c60cb.pyi b/TransPyV/temp/05c11f22675c60cb.pyi deleted file mode 100644 index 3520489..0000000 --- a/TransPyV/temp/05c11f22675c60cb.pyi +++ /dev/null @@ -1,50 +0,0 @@ -""" -Auto-generated Python stub file from llvmlite.__values.py -Module: llvmlite.__values -""" - - -import t, c -from stdint import * -import string -import viperlib -import memhub -from linkedlist import GSListNode -from .__types import LLVMType, TypePrint - -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/TransPyV/temp/455ff4e74c3dbfb0.pyi b/TransPyV/temp/455ff4e74c3dbfb0.pyi deleted file mode 100644 index 984146e..0000000 --- a/TransPyV/temp/455ff4e74c3dbfb0.pyi +++ /dev/null @@ -1,120 +0,0 @@ -""" -Auto-generated Python stub file from llvmlite.__types.py -Module: llvmlite.__types -""" - - -import t, c -from stdint import * -import viperlib -import string -import memhub -from linkedlist import GSListNode - -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 - -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) -> 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 diff --git a/TransPyV/temp/46ea362b72c10a9e.pyi b/TransPyV/temp/46ea362b72c10a9e.pyi deleted file mode 100644 index fbd9c3b..0000000 --- a/TransPyV/temp/46ea362b72c10a9e.pyi +++ /dev/null @@ -1,219 +0,0 @@ -""" -Auto-generated Python stub file from llvmlite.__builder.py -Module: llvmlite.__builder -""" - - -import t, c -from stdint import * -import string -import viperlib -import memhub -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, function_move_block_to_end, _ll_name_needs_quote - -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_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) -> 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 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 - - -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 - - -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_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/TransPyV/temp/950028de389b7a7b.doc.json b/TransPyV/temp/950028de389b7a7b.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/TransPyV/temp/950028de389b7a7b.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/TransPyV/temp/950028de389b7a7b.pyi b/TransPyV/temp/950028de389b7a7b.pyi deleted file mode 100644 index b7bdb15..0000000 --- a/TransPyV/temp/950028de389b7a7b.pyi +++ /dev/null @@ -1,41 +0,0 @@ -""" -Auto-generated Python stub file from main.py -Module: main -""" - - -import t, c -from stdint import * -import stdio -import string -import stdlib -import memhub -import argparse -import w32.win32console as w32cmd -import w32.fileio as fileio -import w32.win32file -import w32.win32base -import sys -import ast -import lib -import lib.core.VLogger as VLogger -import lib.core.Handles.HandlesTranslator as HandlesTranslator -import lib.core.Handles.HandlesStruct as HandlesStruct -import lib.core.Handles.HandlesExprCall as HandlesExprCall -import lib.core.BuildPipeline as BuildPipeline -import lib.core.IncludesScanner as IncludesScanner -import lib.core.StubMerger as StubMerger -import lib.core.Phase1 as Phase1 -import lib.core.Phase2 as Phase2 -import lib.Projectrans.Config as Config -import lib.Projectrans.Utils as Utils -import llvmlite -import subprocess -import viperlib -import hashlib - -POOL_SIZE: t.CDefine = 1073741824 -CODE_PAGE: t.CDefine = 65001 -SRC_BUF_SIZE: t.CDefine = 1048576 - -def main() -> int: pass diff --git a/TransPyV/temp/_phase1_manifest.json b/TransPyV/temp/_phase1_manifest.json index 70d09be..53a9b63 100644 --- a/TransPyV/temp/_phase1_manifest.json +++ b/TransPyV/temp/_phase1_manifest.json @@ -1 +1 @@ -{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\Projectrans\\Config.py": {"sha1": "49cf633017627a4a", "mtime": 1784346259.5164392, "size": 10284}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\Projectrans\\Utils.py": {"sha1": "888ea5bd6ab516ae", "mtime": 1783869136.4439158, "size": 4066}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\__init__.py": {"sha1": "8f12094c840be06a", "mtime": 1783176502.323163, "size": 752}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\BuildPipeline.py": {"sha1": "d1599ecbac5b6586", "mtime": 1784365349.9071016, "size": 18044}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesAnnAssign.py": {"sha1": "2ed380190e9df89e", "mtime": 1784355565.0405374, "size": 12796}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesAssign.py": {"sha1": "3d3edda4a4e6c08b", "mtime": 1784358988.7719295, "size": 12619}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesAugAssign.py": {"sha1": "541a090dde0cc1ba", "mtime": 1784291303.692474, "size": 10160}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesBase.py": {"sha1": "83ba314b4637eec9", "mtime": 1783864585.7948608, "size": 8746}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesBody.py": {"sha1": "81eb28ba912467a6", "mtime": 1784299229.4847765, "size": 8538}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesClassDef.py": {"sha1": "c4f2d483ec0f4db5", "mtime": 1784352269.421058, "size": 95797}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesEnum.py": {"sha1": "e5be27ae4fe7ce04", "mtime": 1783864613.5248196, "size": 8197}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesExpr.py": {"sha1": "ae0cc890f657076d", "mtime": 1784360370.033992, "size": 68807}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesExprCall.py": {"sha1": "b29b80b6106e4be7", "mtime": 1784366491.736505, "size": 190769}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesExprOps.py": {"sha1": "07a8c82a8ca2be90", "mtime": 1783920713.4815462, "size": 12706}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesFor.py": {"sha1": "48fa8cc758d3826b", "mtime": 1784360589.0914645, "size": 16438}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesFunctions.py": {"sha1": "4020cac9bab5e9f1", "mtime": 1784359369.6672971, "size": 42350}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesIf.py": {"sha1": "66de93aaeebc0601", "mtime": 1784354259.917369, "size": 5211}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesImports.py": {"sha1": "78bbe886bbe5ca8f", "mtime": 1784365186.9951043, "size": 15989}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesMain.py": {"sha1": "001c1416e7a7dc50", "mtime": 1784356333.922174, "size": 13209}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesNonlocal.py": {"sha1": "af9484a65085bf4b", "mtime": 1783859826.2073808, "size": 5336}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesReturn.py": {"sha1": "d9322f0db660edd8", "mtime": 1784309054.0918405, "size": 4530}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesStruct.py": {"sha1": "54014f6c53e9640b", "mtime": 1784300400.6293957, "size": 39050}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesTranslator.py": {"sha1": "2998b8f78d7022bf", "mtime": 1784365111.9064653, "size": 17135}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesType.py": {"sha1": "0c56128647a0b845", "mtime": 1784355136.3688684, "size": 51854}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesVar.py": {"sha1": "02885f6f134079c2", "mtime": 1784275582.3904912, "size": 13778}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesWhile.py": {"sha1": "51f0144d6e8188d9", "mtime": 1784354259.2134998, "size": 4787}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\IncludesScanner.py": {"sha1": "bd82e3ca81546c76", "mtime": 1783864358.032913, "size": 12662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Phase1.py": {"sha1": "db7c4a8f09d02a17", "mtime": 1784365236.5848596, "size": 21791}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Phase2.py": {"sha1": "7e260c14d2712119", "mtime": 1784365393.243475, "size": 35884}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\StubMerger.py": {"sha1": "b5d05dbd7fee36ef", "mtime": 1784366194.2617724, "size": 65300}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\VLogger.py": {"sha1": "21fffba3315e81b4", "mtime": 1783176437.4701056, "size": 6091}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\main.py": {"sha1": "950028de389b7a7b", "mtime": 1784346274.1600204, "size": 23702}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.py": {"sha1": "f2ecbf8ced20575c", "mtime": 1784203829.5212443, "size": 3277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\argparse.py": {"sha1": "aba439b7882ad9d6", "mtime": 1783072446.3366802, "size": 16968}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\__init__.py": {"sha1": "34548789d646f432", "mtime": 1784102404.6307266, "size": 3409}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\astaux.py": {"sha1": "4337fb260448bbe2", "mtime": 1784006094.7981195, "size": 11489}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\base.py": {"sha1": "5dab8cb390496d22", "mtime": 1784197698.3282094, "size": 14966}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\exprs.py": {"sha1": "47767b5026a8ee15", "mtime": 1783239758.809719, "size": 40615}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\lexer.py": {"sha1": "0c212981c180e7fb", "mtime": 1783400609.908198, "size": 23535}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\match.py": {"sha1": "4dd6b3f1427d1cc5", "mtime": 1782961799.8492737, "size": 12309}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\parser.py": {"sha1": "ee52c08239684346", "mtime": 1784102405.1933146, "size": 85445}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\stmts.py": {"sha1": "657e182b27c2a022", "mtime": 1783929993.759902, "size": 37926}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\tokens.py": {"sha1": "b547ac4f380bddb6", "mtime": 1783165480.469121, "size": 13722}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__init__.py": {"sha1": "96837bcc64032444", "mtime": 1777902641.540433, "size": 186}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__md5.py": {"sha1": "19f8024d10c828e8", "mtime": 1784356818.7075372, "size": 5847}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha1.py": {"sha1": "0df65b8ed15664b0", "mtime": 1784356827.656474, "size": 4516}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha256.py": {"sha1": "c9d54a4158f7f5a8", "mtime": 1782266203.9352357, "size": 5332}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha512.py": {"sha1": "6ff26590374ae6fc", "mtime": 1782266223.3380039, "size": 7162}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashtable.py": {"sha1": "b8c66c8ff44eb874", "mtime": 1782826619.490043, "size": 9385}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__init__.py": {"sha1": "57288496f7c2d1ad", "mtime": 1783239811.8873823, "size": 7653}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__parser.py": {"sha1": "240a9a4157959a9f", "mtime": 1782826918.100951, "size": 7517}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__writer.py": {"sha1": "20cd49775c100a38", "mtime": 1782826901.8906734, "size": 3784}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.py": {"sha1": "2d39c6c7d3557b3e", "mtime": 1782895405.2191627, "size": 16032}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__init__.py": {"sha1": "95394ca8da0f655a", "mtime": 1784089002.4168732, "size": 16338}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__builder.py": {"sha1": "46ea362b72c10a9e", "mtime": 1783657006.512418, "size": 48509}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__function.py": {"sha1": "e0b84369e50c937c", "mtime": 1784275582.4008405, "size": 16232}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__module.py": {"sha1": "21a7fcfc665f75ef", "mtime": 1784216086.0677392, "size": 20058}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__types.py": {"sha1": "455ff4e74c3dbfb0", "mtime": 1784088625.3087547, "size": 17902}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__values.py": {"sha1": "05c11f22675c60cb", "mtime": 1783584462.175312, "size": 6645}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__verify.py": {"sha1": "d4117f5e00a6c3b5", "mtime": 1783250231.8851368, "size": 14657}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "ee084e9fc6ee413a", "mtime": 1784214242.4485993, "size": 17765}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.py": {"sha1": "93c1d18e35d188d6", "mtime": 1781237231.03366, "size": 1422}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\posix.py": {"sha1": "6503c97dde0c79c4", "mtime": 1783064077.6376991, "size": 10386}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "ab6e54ba9a669f76", "mtime": 1783933178.7264287, "size": 9922}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\subprocess.py": {"sha1": "2da636c61863c815", "mtime": 1783847277.4569364, "size": 7627}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\sys.py": {"sha1": "b5a965302cded36b", "mtime": 1783569641.07535, "size": 5509}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "c3b259b4059f8668", "mtime": 1782821991.979496, "size": 56772}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\fileio.py": {"sha1": "0035c95a18d4f8e8", "mtime": 1783747022.686592, "size": 14147}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32file.py": {"sha1": "f6b51804a0ba8ff0", "mtime": 1782531158.744144, "size": 8424}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.py": {"sha1": "067c78e9f121dce3", "mtime": 1781200703.5409546, "size": 4802}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32sync.py": {"sha1": "06f53cc594b4ac6c", "mtime": 1782297500.2581685, "size": 4726}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\Projectrans\\Config.py": {"sha1": "49cf633017627a4a", "mtime": 1784346259.5164392, "size": 10284}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\Projectrans\\Utils.py": {"sha1": "888ea5bd6ab516ae", "mtime": 1783869136.4439158, "size": 4066}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\__init__.py": {"sha1": "8f12094c840be06a", "mtime": 1783176502.323163, "size": 752}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\BuildPipeline.py": {"sha1": "d1599ecbac5b6586", "mtime": 1784365349.9071016, "size": 18044}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesAnnAssign.py": {"sha1": "2ed380190e9df89e", "mtime": 1784355565.0405374, "size": 12796}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesAssign.py": {"sha1": "3d3edda4a4e6c08b", "mtime": 1784358988.7719295, "size": 12619}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesAugAssign.py": {"sha1": "541a090dde0cc1ba", "mtime": 1784291303.692474, "size": 10160}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesBase.py": {"sha1": "83ba314b4637eec9", "mtime": 1783864585.7948608, "size": 8746}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesBody.py": {"sha1": "81eb28ba912467a6", "mtime": 1784299229.4847765, "size": 8538}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesClassDef.py": {"sha1": "c4f2d483ec0f4db5", "mtime": 1784352269.421058, "size": 95797}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesEnum.py": {"sha1": "e5be27ae4fe7ce04", "mtime": 1783864613.5248196, "size": 8197}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesExpr.py": {"sha1": "ae0cc890f657076d", "mtime": 1784360370.033992, "size": 68807}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesExprCall.py": {"sha1": "b29b80b6106e4be7", "mtime": 1784366491.736505, "size": 190769}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesExprOps.py": {"sha1": "07a8c82a8ca2be90", "mtime": 1783920713.4815462, "size": 12706}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesFor.py": {"sha1": "48fa8cc758d3826b", "mtime": 1784360589.0914645, "size": 16438}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesFunctions.py": {"sha1": "4020cac9bab5e9f1", "mtime": 1784359369.6672971, "size": 42350}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesIf.py": {"sha1": "66de93aaeebc0601", "mtime": 1784354259.917369, "size": 5211}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesImports.py": {"sha1": "78bbe886bbe5ca8f", "mtime": 1784365186.9951043, "size": 15989}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesMain.py": {"sha1": "001c1416e7a7dc50", "mtime": 1784356333.922174, "size": 13209}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesNonlocal.py": {"sha1": "af9484a65085bf4b", "mtime": 1783859826.2073808, "size": 5336}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesReturn.py": {"sha1": "d9322f0db660edd8", "mtime": 1784309054.0918405, "size": 4530}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesStruct.py": {"sha1": "54014f6c53e9640b", "mtime": 1784300400.6293957, "size": 39050}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesTranslator.py": {"sha1": "2998b8f78d7022bf", "mtime": 1784365111.9064653, "size": 17135}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesType.py": {"sha1": "0c56128647a0b845", "mtime": 1784355136.3688684, "size": 51854}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesVar.py": {"sha1": "02885f6f134079c2", "mtime": 1784275582.3904912, "size": 13778}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Handles\\HandlesWhile.py": {"sha1": "51f0144d6e8188d9", "mtime": 1784354259.2134998, "size": 4787}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\IncludesScanner.py": {"sha1": "a1a7dbafa49abfd1", "mtime": 1784515500.535767, "size": 13256}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Phase1.py": {"sha1": "c8d5323b1a4df063", "mtime": 1784516210.3014371, "size": 22879}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\Phase2.py": {"sha1": "7e260c14d2712119", "mtime": 1784365393.243475, "size": 35884}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\StubMerger.py": {"sha1": "9d90ff4bae201361", "mtime": 1784517053.6225822, "size": 67791}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\lib\\core\\VLogger.py": {"sha1": "21fffba3315e81b4", "mtime": 1783176437.4701056, "size": 6091}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\TransPyV\\App\\main.py": {"sha1": "f8e903a99e1d0a57", "mtime": 1784515751.9807196, "size": 23897}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\_list.py": {"sha1": "668790e6c9efdbae", "mtime": 1784451276.719043, "size": 3219}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\argparse.py": {"sha1": "aba439b7882ad9d6", "mtime": 1783072446.3366802, "size": 16968}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\__init__.py": {"sha1": "34548789d646f432", "mtime": 1784102404.6307266, "size": 3409}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\astaux.py": {"sha1": "4337fb260448bbe2", "mtime": 1784006094.7981195, "size": 11489}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\base.py": {"sha1": "5dab8cb390496d22", "mtime": 1784197698.3282094, "size": 14966}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\exprs.py": {"sha1": "47767b5026a8ee15", "mtime": 1783239758.809719, "size": 40615}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\lexer.py": {"sha1": "0c212981c180e7fb", "mtime": 1783400609.908198, "size": 23535}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\match.py": {"sha1": "4dd6b3f1427d1cc5", "mtime": 1782961799.8492737, "size": 12309}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\parser.py": {"sha1": "ee52c08239684346", "mtime": 1784102405.1933146, "size": 85445}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\stmts.py": {"sha1": "657e182b27c2a022", "mtime": 1783929993.759902, "size": 37926}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\ast\\tokens.py": {"sha1": "b547ac4f380bddb6", "mtime": 1783165480.469121, "size": 13722}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__init__.py": {"sha1": "96837bcc64032444", "mtime": 1777902641.540433, "size": 186}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__md5.py": {"sha1": "19f8024d10c828e8", "mtime": 1784356818.7075372, "size": 5847}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha1.py": {"sha1": "0df65b8ed15664b0", "mtime": 1784356827.656474, "size": 4516}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha256.py": {"sha1": "c9d54a4158f7f5a8", "mtime": 1782266203.9352357, "size": 5332}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashlib\\__sha512.py": {"sha1": "6ff26590374ae6fc", "mtime": 1782266223.3380039, "size": 7162}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hashtable.py": {"sha1": "b8c66c8ff44eb874", "mtime": 1782826619.490043, "size": 9385}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__init__.py": {"sha1": "57288496f7c2d1ad", "mtime": 1783239811.8873823, "size": 7653}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__parser.py": {"sha1": "240a9a4157959a9f", "mtime": 1782826918.100951, "size": 7517}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\json\\__writer.py": {"sha1": "20cd49775c100a38", "mtime": 1782826901.8906734, "size": 3784}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\linkedlist.py": {"sha1": "2d39c6c7d3557b3e", "mtime": 1782895405.2191627, "size": 16032}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__init__.py": {"sha1": "95394ca8da0f655a", "mtime": 1784089002.4168732, "size": 16338}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__builder.py": {"sha1": "946e087da91aaada", "mtime": 1784387312.9523027, "size": 48840}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__function.py": {"sha1": "89b3965176cd2407", "mtime": 1784456620.4280825, "size": 17010}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__module.py": {"sha1": "21a7fcfc665f75ef", "mtime": 1784216086.0677392, "size": 20058}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__types.py": {"sha1": "15f1ded02f3aa5bc", "mtime": 1784387290.644663, "size": 17996}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__values.py": {"sha1": "f9e36e2cd6fa659f", "mtime": 1784387299.9652681, "size": 6739}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\llvmlite\\__verify.py": {"sha1": "6b3bc463fd044545", "mtime": 1784387320.0367622, "size": 14751}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\platmacro.py": {"sha1": "93c1d18e35d188d6", "mtime": 1781237231.03366, "size": 1422}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\posix.py": {"sha1": "6503c97dde0c79c4", "mtime": 1783064077.6376991, "size": 10386}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdarg.py": {"sha1": "71e0a3ffcb3ebfad", "mtime": 1781258888.113146, "size": 277}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\subprocess.py": {"sha1": "2da636c61863c815", "mtime": 1783847277.4569364, "size": 7627}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\sys.py": {"sha1": "b5a965302cded36b", "mtime": 1783569641.07535, "size": 5509}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperlib.py": {"sha1": "c3b259b4059f8668", "mtime": 1784472292.0762527, "size": 56772}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\fileio.py": {"sha1": "0035c95a18d4f8e8", "mtime": 1783747022.686592, "size": 14147}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32file.py": {"sha1": "f6b51804a0ba8ff0", "mtime": 1782531158.744144, "size": 8424}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32memory.py": {"sha1": "72e2d5ccb7cedcf1", "mtime": 1781200703.5389092, "size": 3142}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32process.py": {"sha1": "067c78e9f121dce3", "mtime": 1781200703.5409546, "size": 4802}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32sync.py": {"sha1": "06f53cc594b4ac6c", "mtime": 1782297500.2581685, "size": 4726}} \ No newline at end of file diff --git a/TransPyV/temp/_sha1_map.txt b/TransPyV/temp/_sha1_map.txt index b7723ba..cf98a2c 100644 --- a/TransPyV/temp/_sha1_map.txt +++ b/TransPyV/temp/_sha1_map.txt @@ -1,13 +1,13 @@ 001c1416e7a7dc50:lib\core\Handles\HandlesMain.py 0035c95a18d4f8e8:includes/w32\fileio.py 02885f6f134079c2:lib\core\Handles\HandlesVar.py -05c11f22675c60cb:includes/llvmlite\__values.py 067c78e9f121dce3:includes/w32\win32process.py 06f53cc594b4ac6c:includes/w32\win32sync.py 07a8c82a8ca2be90:lib\core\Handles\HandlesExprOps.py 0c212981c180e7fb:includes/ast\lexer.py 0c56128647a0b845:lib\core\Handles\HandlesType.py 0df65b8ed15664b0:includes/hashlib\__sha1.py +15f1ded02f3aa5bc:includes/llvmlite\__types.py 19f8024d10c828e8:includes/hashlib\__md5.py 20cd49775c100a38:includes/json\__writer.py 21a7fcfc665f75ef:includes/llvmlite\__module.py @@ -22,9 +22,8 @@ 3d3edda4a4e6c08b:lib\core\Handles\HandlesAssign.py 4020cac9bab5e9f1:lib\core\Handles\HandlesFunctions.py 4337fb260448bbe2:includes/ast\astaux.py -455ff4e74c3dbfb0:includes/llvmlite\__types.py -46ea362b72c10a9e:includes/llvmlite\__builder.py 47767b5026a8ee15:includes/ast\exprs.py +47775d5e50909338:includes/memhub.py 48fa8cc758d3826b:lib\core\Handles\HandlesFor.py 49cf633017627a4a:lib\Projectrans\Config.py 4dd6b3f1427d1cc5:includes/ast\match.py @@ -35,45 +34,47 @@ 5dab8cb390496d22:includes/ast\base.py 6503c97dde0c79c4:includes/posix.py 657e182b27c2a022:includes/ast\stmts.py +668790e6c9efdbae:includes/_list.py 66de93aaeebc0601:lib\core\Handles\HandlesIf.py +6b3bc463fd044545:includes/llvmlite\__verify.py 6f62fe05c5ea1ceb:includes/stdio.py 6ff26590374ae6fc:includes/hashlib\__sha512.py 71e0a3ffcb3ebfad:includes/stdarg.py +72e2d5ccb7cedcf1:includes/w32\win32memory.py 78bbe886bbe5ca8f:lib\core\Handles\HandlesImports.py 7e260c14d2712119:lib\core\Phase2.py 7e529fe7a078cfef:includes/w32\win32base.py 81eb28ba912467a6:lib\core\Handles\HandlesBody.py 83ba314b4637eec9:lib\core\Handles\HandlesBase.py 888ea5bd6ab516ae:lib\Projectrans\Utils.py +89b3965176cd2407:includes/llvmlite\__function.py 8f12094c840be06a:lib\__init__.py 90c53dd6db8d41cf:includes/stdlib.py 93c1d18e35d188d6:includes/platmacro.py -950028de389b7a7b:main.py +946e087da91aaada:includes/llvmlite\__builder.py +9474791561654346:includes/string.py 95394ca8da0f655a:includes/llvmlite\__init__.py 96837bcc64032444:includes/hashlib\__init__.py -ab6e54ba9a669f76:includes/string.py +9d90ff4bae201361:lib\core\StubMerger.py +a1a7dbafa49abfd1:lib\core\IncludesScanner.py aba439b7882ad9d6:includes/argparse.py ae0cc890f657076d:lib\core\Handles\HandlesExpr.py af9484a65085bf4b:lib\core\Handles\HandlesNonlocal.py b29b80b6106e4be7:lib\core\Handles\HandlesExprCall.py b547ac4f380bddb6:includes/ast\tokens.py b5a965302cded36b:includes/sys.py -b5d05dbd7fee36ef:lib\core\StubMerger.py b8c66c8ff44eb874:includes/hashtable.py bbdf3bbd4c3bc28c:includes/w32\win32console.py -bd82e3ca81546c76:lib\core\IncludesScanner.py c3b259b4059f8668:includes/viperlib.py c4f2d483ec0f4db5:lib\core\Handles\HandlesClassDef.py +c8d5323b1a4df063:lib\core\Phase1.py c9d54a4158f7f5a8:includes/hashlib\__sha256.py c9f4be41ca1cc2b4:includes/viperio.py d1599ecbac5b6586:lib\core\BuildPipeline.py -d4117f5e00a6c3b5:includes/llvmlite\__verify.py d9322f0db660edd8:lib\core\Handles\HandlesReturn.py -db7c4a8f09d02a17:lib\core\Phase1.py -e0b84369e50c937c:includes/llvmlite\__function.py e5be27ae4fe7ce04:lib\core\Handles\HandlesEnum.py -ee084e9fc6ee413a:includes/memhub.py ee52c08239684346:includes/ast\parser.py -f2ecbf8ced20575c:includes/_list.py f5522571bcce7bcb:includes/stdint.py f6b51804a0ba8ff0:includes/w32\win32file.py +f8e903a99e1d0a57:main.py +f9e36e2cd6fa659f:includes/llvmlite\__values.py diff --git a/TransPyV/temp/_shared_sym.json b/TransPyV/temp/_shared_sym.json index 2fe9920d2fbcce2cec36a0064842a04303438a38..17449606167b6a423475e87ba1b50e1bcce085da 100644 GIT binary patch literal 1846304 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�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μ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 (fp{c}%e|?vREN+&}6pj620++-BO< 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

{Ksv|8UE7Cz*p{Jm{*P^vi4 zlWOlx4fCd^cvGvrskgkT6W&y#L7q~s^`>&Xsr$UCt=`lZ-c*Ibp1fChQ~kZE0&nVm zZ|YTV>Kkt=OwPrPDZ0{|8s<$!U2n{XjHCp+Jt-~GmT0vn+ly6_^jG_s4`aNkncmbY zZ|ZGt>Z~_af0QS0Pj4#6n|i>Tdfl7)-kYj3+LO13HX5f>P>y^O;x(VlQ+?u zvU*c4Z)%G-b;O&hJjR>Xo3eRRi@m8Ay{Rv}so)zud0Tr^1HGwRys72h)LY)vDQ~Lg zO`cM|t<5q?PKr&ir=_H)J7VoAY4*foRjrOhyw5U8^rmdy)BOYEGaRu=_9TZj&hD@kt90qFK42cYbc8*@7N3-6 zON>oQ%ScU5PAyiOiTIF+ue`CLiJn|nNy-&vOR}aVCndzj+tVHC3CU9K7$QC**G;X6 zNQraAS`#ud?6w4lEyJ2#tZtY7>SH3-dsF+oDLxD?x#Au1=}C6GEyeCgw`a&b1pS%t zPspV|6RuNRC06N_{!F+|>Cc4gl>SV(PU+8t>y-XXxK6Em-IG^;CS3Q^p9$9~{h4r` z(w_;}DgBvnozkBP*D3v(aGlbh3D+t8nQ)!bp9$9~{h4r`a>+%2QRh~B^^`i2;?pu5 zDc0DORC@+@QS_IM_cNvX%f>pTzig~i`pd>TrN3;fQ=#uknL4GvY^+oI%f>pTzig~i z`pd>TrN3;fQ%Ajd^_PuxKmBE6ozh=6)+zmEW1U*P&oegtWnmL^rmAAHC)M7Y8tP3QOVRlgQxa3s;*yf%l9Lh>5|icbRGQ@a zl>7_5sSaJFpI+DaEQzd*w)BhyAyHOldwi*4w6fMq(rBNN6Sy0(jO_&sfWG& z^hZi`KmCysozfpE(JB3r5}nc?DbXqYkrJKSUf)ylX>Uq@q(l$ZA1To({gD!#(jO_& zsl5$6d4KVy^hZkcQ2mh-ozfpE(JB3r5}nc?DbcB;4LzmkkCfjVae3 zDbfA(M@o!1Ib$=ncUpaPMP(%0lHyWh6Roi}YidS@wCkbUfIP(9)NMfOlx_o3r*s>T zI;Goy)G6Htq)zEJAazQ&0jX2E4M?5RZ9wYOC!M8uoziVU>XdE+Qm1qqkUCY^#S^F7 zfYkkT8<0As+kn)m8eKhcx(!I(PqzW7Q@RaEoziVU>XdE+Qm1qqkUEvp%~OhQ15)?X zZ9wXjZUa)MbQ_R5rQ3kiDcuI7PU$uvbxOAZsZ+WQNS)GcKXdE+Qm1qqkUFK?fYhnwJw2u9HXwCB-3BBnIbY1m<>stD zQS^OeQin4~ZvI=+9T`?F-eKBafunpvI}seB`3z(Iutm@ zXBEncr=`$+8~;mIBK`_?Y;l{xgB`90rYzR*sKW&aY>HUI9pZC3+D>oyr%rf;rb%wx7ldJ`~S-GB4qfMoH zhO3`+6&wWx@}$M6thoxtQ1y#0xzK61J7l&P!RC@Z!`1JEN80mp^5uDq#WRLBnF#|b zI9yFkHS!Ns7sy@R)6-L3S;|KKm@@NwLe)hnLBB?=mv#%Qob}mL(_%A{lTu<+lG8gB zxu0-3EOvPWRbo}vhH z@z%G_)v}yig-%o9sxmIZ`^v#;x}i@^IHum}!;s%DQCXy=0?WrW`)2o9yxmI6;dh3okJ1 zEG;jc#VUKF24v!0XPwDhGvD#ZzE5UYBXaOg^gqavoyVDV6LRp@v(6DyZpEyH^7Jf* z47|*&Gqfl-Lw5GWoGhtUbMo*avd+`Aygd4;VN2q9Nm<9YDkna_AS<^h!y*qO&Ypr(1FyMVYcNZL$$$6%;vnklBW;ya#EF z(VR8iQRJ`}Stb@)Z9L&GvKBdI3AG~|?;IJ~(&LiS(j0c1)t+QaPD)Mg;CZy}=p#GE zzK$aOyI5UGHvZL8h%uG-#%sq9{? zITp5MeJpiVvRHB*ljMQ0>@{2=g^p}l?G}%dGvmsRY)6i~lrYs%>~KX}ZPvtuG+Rol zY!&Hg>B(|1^JY_tG7eWret{gZTvg;TvEJV0$ZeG5aMc`YEhu!PcbDV0IbU#&O-9hd zG=czmR43-ZQQ2)vW%XFqr}L$%6=km^Wz;v7;XUGd<5MXi4VXxWtCrtr+|S0n(bq_z z!`0GMZlFx6rv$qy>HU%Hg*;_s_761oJW;9-nSAGu|B!NLi+`vdv#i$tV9Z3R0fEL` zGUSqDE(r~%A{)TtujmjI)~0k}K)k z)RZG&Sh%H-gN@(9Rb8dnfUBM-R*fk=vEE{gLFGe$P&J%871C!c&EAFb8l|DJ}{?!wzoYcrP8~q1g zdN%sUN63X%Zn~UE>B|&jhwln4%A4TGmD)5kO`A`+x|RCWFEzEMfOe)bE|sH3Ng0-W zIY-Ny?43<&nvB!oYHljioJGy1dNE~=%u}=x7iTK*A7-p#jM-S}JO?CqH5-`<^$k{c zQo#lR$72*{M6@@Ra>*=F#(47c3bVMnmm{~QX0A%o(_*Y^%}fQGvZ?vhv1z~&`jl>j z#hS|dXZfni{ywk3bKT>qsoHssY_!};&WsJTwfbdJ_fpT&TWf%jOKzK zs>)_ybyc)yXUQ*D?S#bC6l;7^vOM33wb@b>u?uBk@GAhlJOm6dCwtPq}8%cPp?Pk?%r*pNJD5y5TL zHu=d`U&mCo4pBSZMNg7w9UQpeNyX|7Pr-yXL7@>NM0adzPKvq$;G!^I@>1{yDD?hX{6g;YFc&ycB!1)^7xkE6FR5PV=Z^2nFS83 z+`D$<+T}*sF|t;dH&JEnV07hX<)wUUwkPZNWKGan+bC68cFk1U;c8cQeXZG(tWyf* z+{`|~l2PE0@gJv<8_b22GuN{G3OFeRxGLL{6J>hx(%HYXaRn6?yDG|dC3C+)n#}$9 zM0VmFtbfBy{T3ytcGaZw&vofamk67+BnDTi7RnQJbYKynZ(W=x)1LgAsst}z| z?t^;rxx%CXu7dT%2FmLRR+Y$G*_rF9gx_qE#bT;$NvNtq-UzB;lcP;?V(Ce3Xv*vp ztE%bTROFxL_K8(B$Q?#`PG{-y)(bdZiBq+8F3Qol^a^2hnd99Nsvhyi68XogfnF>U zts3ae6y>)Lm9_eK0##!ppZq~lfoZ)BwbEPGT=QzAhe!q$L;g^G+8}erRo7unjkP9P zQ{v?nhpz zdak+Kld*{@W1uLx+bL_VzT4?8EZUUM6QZuB+^X(kjBG}~#-=<0g6dn-lkKTV308ZC zJ=PwV$SqTMjb#tbEmNzjru?N+y1oo58K@E&Z3|QGGDAb$hi&%-azs&9jze~tmYhOa zl66ew_(iKU8JWXXt)y^0SaqTfO-*?NhK1$k6&brC_f*w0<#R`KhFoea{*jd}7P+k^kI;E0;9jH+Omz$pRI8-k zB}3In#@^DDzwB7~8#Tvd{Wogf(FfX=O2_zZOYVW{Mn+!#w&WKYmM#}J^4QTkX7jpS zI>Kjlb`Mfk##-L$>=#%+Ej=|kKG_-<8y}l0Z!!7o+BjaaTwPUjthw^U$s!kJa)N1` ztz^k>ITe=L$_CtfqAW9?orr@fG&PkRFsveFdPfy1_uS+JflHj)ru;^vd!?vsl%`L4 za~WR)Q+(-&P~$w;JA3Pza+C_FVwB)MJuYG_jZAsWF=29Q=~vf!rcCY#HJLK28b$c^ zYi!CAAgGQh$k>6VQfh>e!KY6{Q+VkR{mN;%^C!=^_BOV6@BE>!nqB_<@y4ieVfs2@ z-kn^(H?pPLljT^Ik&&3_u%*g%yCoxcVw{{PS_?Df4<9Ks+8k5r0iZG-mdT$77iNy& zai^?}#v?*?7bP?|l~7h>eN&{*k<8s5-UichRs$cSqDlv`4cG3*Lc_Hu&dxeC>o;4n_=S-kFAG%yuY5~_-+M6J^0 zQi?ICr73gSu~m$6jdwgs&58gkiLS5vg^&lSMxD|{`wnb%$%^0#xrDy4%faU9^myk{A?DzT;6tvovlu%)`A)f3dhcLVhsQ0@lm7gws7KvfG|u>iqTOirAA)@7d} z)s{=wsiaIJx~fIr&ywaF3Vr97F`mZe^~N_^z0COP`c}p+_r~018ADr}iYPZ+W|5qK zl%7RKZ2~R3l3=xi%J|Kh(gVw1TBW1qaxB}C>wBUZVC^j(;=2O7hpF9EtlSmYFOp^u zN}b^bJm{2)@ju)c1JzzeeTl=3Z>WqrS8i?kPIRDgmyYopw|k)a=+fi%3#}-trgx{I zH&{8zGp#*-L3%UI(?>&Tw8L{~Cqx}&>`hGB14UJm{e@ip`ixwcYrH&RUgqUR`z(G> znELWki{C#|*T(lf4&Nh6;M$ZGU8**OsiXg-HYJe}@(?OJZ&F@?yn!rtN*c;vA|zWK zc6&;OHAOC)k~;VdS3gj8m^_U_d5&!=%bZ31M0G03gK)q4xJ!sOmEZ|fzmTt{Pl28x zo=I{S(ZW% zO{H8SLsfSv)(qJj_*YN;DPxr9$fhFwvZ$b)Qm=aE(HJEfgWH(OC_lbxfg>kxqP*cO zZQ_)yQ0}>Ju8?1}3M*Zq0E5e|P=I*30+&ZUoQb=yGR^C>J3>`q^u8-{>8$0h!k$v9 zNhylI-;-@GB;Q(;DfcMN<8<;z3KL3d@B9;`Rku~A4% zQz3yesTj(uX3ulVGj&~*-<)Y`Dx_4TYC-<`zD1W&R6A2qWoJ^YC^a%8t3aOd6=vD8 zjX#@kub$?;iGQGKOK#u2Nuc57?o9$^s49PX5}-EbmB%kmb)Yi7yO02b%UyE<#77Mu zD1UNO&XJ^iEnTv^EMsWvOIE};T>a$GH%W{e zEp<(K^~zVQIx^nsCF3=Ed$+?FQ@+xnsxu`7o434LrmPa9y6HJpQiwU9c_r|RRy`>p z%-HvqZ0*KT-@NB@$EiN#@>$k?{mWa#eu3t_iO;r|&X0&(;7zl|7|-mQ(}NLM$B-)pvwEK=<8#)EUk|%=5I2 zz#1j}J*QE|36}X-R92)<9X!WHeRM6a4t{}kOG@@Xxah-`dBZC=yk^Nz?*YX))|k%+ z%M6Y78RCBwFb)&uUG60^)K5xIk4%RFCAG3wn24q9#W?NL{#v^OfPZ_1k%i76>5N$E+B zq}a6Bw1kAz4m3qNKG))uzh#>ybyh#?d^(%e)yy28ZIz}W<&+~oZ&JM6OOeJk$yHBU zt&^E;yl-@cIhQS)7lgQ1DQA`z<3%bpn|V~<99;5v+Oc>NX*$MUbrc z#`2Cf<(1d!{Hws+H|`<0{~oTUPw@ex)oQ7hyrO6-J3vOYmPrV(iJG6o*Y?TovsYVB z0p`uGoZvv4U+I0D|2F5@cWq!?m)OeuVk_&JX|XvoO189V@|s+ry;4c2+Q@i(r?>R5 za;LX+Fe~s-`4hGBcOC)PW&dny3-yZh6sN~iGF`?R)g;hT*Top&YAa<_^^_54OKx0d z5jtAE>Q{?Wn`GJJcW;k7$jvMno^7?2H%rtGz4r|`U;Oi`*F81T{r~xV@d;PEJo82O z{Kxa9BwD@gSBrl#Uvy^oe0i7L>|}a4)6=Jv%osI?0ReY10VBgL8QB)zgDzP!I7GTa z_3==S#{o7!PY(4#sY>_{D6bO!k(G2M^y~8O!=&*RvUz{!2~-CdHS2|Yswj}ZcGvv_ zt^|PsYf+wlX2~1TrLQxogvy)E_HW*c1j?yCr&f*pYE`;)Bj&0=8%;?K181r%dnQ@f zmOP)`(}yxf_dDAGcFW#)b%dI6EO3vc)R2IC|G=Tujgupb+`BgZ=GuGYH+CuJBYWu# z>KK)YE~$(@+bSv07~Zy=SrjlsbxUEsJS?;n<+)GaJQZ_=dwWSE7^Y%NXHzFiRj*XB z#_;m07cfI*d01+d#_{D1cu&Pt`Ag3mug;cQdZmVxxAaPdMq1>}A$ffvD_u7y;jM{r z)@I%v`-iJvsYu@A`Fn;~Z+rjt+mekjMJk@9B<ujT=9O>Xa^{t9SOkkkwrqJ0P%^%TruES$ zO4VbeoUxWHTXzA*AoH=N?AQpJ!H@?K4&SxfJbIrf)yRMJra|S5zI3djF-mqJHCR1D z^D?rnj0PU+SuJLJhjS9u|yG1oN>v}YUd3A%za(u=LS`AW*XLZVejhO8D`Rs||m zRyt|mr4@0sbm`rfbsXo-WFFh30(k;0i^?k%Ho|4m5N&Xs5_tx)R=~SSx%7ZIuVnrHtB`>XhddC{#uBmzA z?U^!2KA%Arng{h{(aS5)qGFRNR@V?uBcjB6mv5lCn_*<=LWaFMLuP;Z3s2Levtp&w z0#7$0X^WI+qtZwJL8vL5HAaW`Ae;tEWgpQ~($WZ;DOj(UI=VN}G-~Rd&W_S2P`z^| z=nQ?yK-;HMJWE~vmc&$iL5>dXM<|V>Qnp^*jngRe>LG8k*eA(cA3zQoQ7xx%d!{aY z5TUfPDs#oWRmvHhtfE7Rq5V~Kw&t zI2mZmRWiumDQ2b1pV+W;rFkJ)Me~i1=E%!{rWwS`$b_qrlt3G>G8Gjw(hKFWw|Qdn z<l}%gK5hFwl`Zu~<0>q_J9Ne*er^`4iHKjsjyJ6=-9Xdto}? zc=FM-tuX@g%qyHyC~x0M3rUJdn!c53W0MP1o2)`>QIWicn@#LGBbGHh&=xn`(r@^% z-hGQzF2V0!I=ENAVZ|z+;2$p?JaF&;`2rKcwHxRvmsgFR*GkDn1gBm)xW_;#c_P6# z`39RednT|?zdl2X)nuY)T{?RBke*WZRH9cI(Z)*Dz_dz_>er|D=zb%5_mW%Lgumq* z-pCwI@bD4cM~oa^tY(nmodGx-@)AnGKN`Xh-#>3qfsIA#Eu%#d)Oe!Qmk&1 zXjctO@7zLXfn&IwB|D1x$@iD!NGWeCCMBh&%l|TB<1!Lc=UYYHH5xAEWLjXJyM!8ebS$p#KouRnaL4S9oTg+{fp3oU5`<>U)~5aE@i} z-a4s!>pwJ?J9Xyqc}rIF8C8@qs^NMcBrj9wvjJCSImG76Uq{QIa=XI$qcr{3xeiye zGRpJGt`-~9-bel(h3{XYk4JO%*7_S*rA2w>BtR^Kx)Z-K#W6ByhuB!W4oZNMhvp8?5jZNA8;?!EkQOjLq zfI%%y`OA)#H_CMT5SOfiUz~c%w+aCUm05)Vv5}rh@SK*qXKoYIWcUZF=cq*OQqyJ> zVhp>&R6;qyk)EnuvKsz@YO`-O0u3v(8i9fvnCe{ei}LK!xT2i7rpvo03DV$aYJ95IZc9$?;LfJLr;ti=u*#L@M)i8d;Y8Y#g=Da#yozr=x z!403cj!#QJcV*4lbg25BY+>27@y$E4?)Tp-N!zItXfQj_JaPxC3py*e1Ed`SZ`KHX zR+6112l;@x-SO&ga?6dOB4)WXwI-U#EIv)|B(iDY(#W#!YngZordZc5OWg?Z-tvN*kjG|&pl@1(N&E4C76Kq;mZvU_{Q%sc9hIwqg@X3y6Y3G zQkfq$+_fGK(` zdiad2CyjT>%WAU6Dr-!h5Y?M}?scc9TnM@EO#5%a#^q?CY{asUC~Kv1=T_JH)}-Vh zD~C+-`|h;LteiWS8c0#@*)ZI5z#Sw#eGj;0%@>_P4fQEvnCIZDi_mvEf6@D=vWn0d z)NqP$ZzX!4&BCV$X$_!^^~MNO*ZYjThv(?6NA9!hE^FjEgSvqt+{=eQ9dIAXbs>N1 z%9ph~+|lYLpAx#49ME+M6=Yc1OVk~${*SmffwQwX?nT*=#3mN88xD)H*oK*rG#cRu z%xdESfdOOU#F?C#IU~)-Xhxm|L{?!V5O4%C9AWm&UxvT!hxKB2@Ral`l>vIv|Bvq&8*U{Vq6)A~AAl~-YJCf=S{xpJ^m zu1-j|IC4y$fCY8DlmdOr3X^q$eO`!N1bUdiP`f0+H08;#kUci5(E0W303`}`1lMab zlM>+B72U5(Ws5T^-tXrGXmLRE1enARawBDRfjOmu4XYU1r{$joYrDHF*QOwsluV*( z^GKM*G!7myWDG~hB^w1p9uq^u^zzFntc>gA=LGi03M+vF?tu*G8lt}-fbx18jN74u z>nG#@T37BFHN92~nde^;V0lu_1U!g#DrG#c@XPpBvi*6iL30}y(C!m7d4ElsDrN!~ zd`@B}9YY!?k_A=j=9RYeCs|Hmt)~UGj*sLiWZ>qBH%L!z=aUtOJjb{%42yM-2)ptG zoK$Eo^81Eq;mHB~pdxG)1bHdW=dch9fwbNlpDqq12G+bP2lnJ6)(wM$!@8|YArg6n z4B*l}faf10Yg^Bq2irj|Qf&9IJ}WD|rv}*QTeA-}d0EPr1m)Zym%Jj2VTrtKCK}Yg z9t*ya%CLALr-YMdMN|_jRaCdg?c*|8h1RdiJ%!c=?dnIGB6&eDo}Mj+tVzBk7$4;^ zss~H9_S9HCBc`HP1Wn#$gGhxbX-0%8nN=mP3G7kbrWtU=6Js4%qr_jGs3MBhza9&1 zuM1YYVkK|L$FJazC{yx8h8*X9OQ61-M@ha@gf}rZVyb#a@P5%Uh^s_}LHvcKF~tqJ z#EuJtx@I|6yw<-!;tPmV##gEYS@pr3I;qeNlVe_tSb3?wrl3+0N9_1KId>Jrvq z_RyIq$8;TD76UX=6VwP0w$|CZIz?j1OW#Ha|ljM#Qm&MPELyuW-yifnXrPh zzd6cHFp{HIt3H|F;#gd>GlA8-UL=m-doZTW@)j=A2Pko*Vv73_=vOk-k% zOjzRo8-aXJA+ea4BbY&2QU0yK|LH8?DZjrHc)6t>9yM${c)*jN{~$23PXl6-W9|rN z0#20Me*`2pf8%XJNm|P0g_Ap$4=h{OwQ|)UuK5@k>=?3U zQxs1;Ef6sCPnej1hT|qn@hD?5QNqJ>oe|LX-M_2dq{`U6vjy6-0EEcHKI=fetyE{9} z<<73YLAkv)G&1r|RPqa-L&SV|?>f1{2D!gG&^@EhLA2yVp;ij0#o-R~P6n8}5S1Dn_kJCalN=m=_8y zOFjFgkn;@W}$d97ue)Kn;K7idX9+0Fs9DOOj^uSuuSEz}hU=CuA*gLt(N z?G%`lOCS$4$snJ$NH1pA=A* z(xhSl`$xrJCxeD;2r0$Mkb%TYyp15GI2jhm!^&Dai7pAMH|5Ew!g>ruU=0Uj0=o!@ z*~=r)9K8ZuSw176?m#7zT8GDaqz=RTMu9zCsxS{rR1d}kRq8;r71W_n$*+Pc{qep_PrYNK@F2Qk-ltkox*{A*6Z#`VmwA z_}9(Ozrt=b<;kOlYPqkW8cA{TEkkwC0}Z8R%9EOb#W7ijYzS-0lWz;`!a=;nH9Cf| zDsqraPq}(}&~F(~@{C{|)jzr(E0JZ{xDC9e2C;guEKZ#nAiJ>1^9FrGWo-Q<_FlT^ z$qOio;k&@e%YuI>u5~cgis~f4VDQ2*C_u@p0*}3t_vm>^2O$)Tfl6Kn#-vOm`Wknm zDNo)M`iHN(cf+U#drk$R`YTxSj=_Ox95wD*^*@AGfMlm>L4QT(LJA!6ZpxD%7|LTf ziDXuFiYO~U@}7al%kv|0s|58m82a+>K=@%T3YL6q zYVlC2hv7YLNf3qg7`WuuO+6Ta9qoK-y4p_L_5GC#|n`Aqd*^FhQ9-TN?=$C zk^FZp%24h$?emZExa zxmGl|2R%i5MOL^ytzK-R6%lrBU+RJSYcyh>Zr3A(&`;=+e+eoEet`fs@4<3nP`aA$oxr6*f6B z!-mey8e3tLlQZn~<&7?O^G;BNP|Z(P zvCfSP)Wc2A&WJ)mL!wCu093OAf*xLSo)FZ2UWc5X!yl;>^fQ5z3j|+B%)qFpCe3B7 z2+4&RiNW<{mjfYzH{ax}zm-yf-Y8;nNk&S>ub7jivmJhlkhEtcWI(n=LJ^W>83`GX zEs;=!q$?vK1F|I&ijb@l631HOgco7Q%DM;MH%D9@Jv**_qAZG;{6t0%?VKaM3^Tbh zqbE8(H~uorU#Gha!*n$_mdNeXJyiOJWp+H$j#g4#Gm`PmFFH%}?R<7A~@@D>N_ z+XYNscCal&n9>%vTgA(Ezv^IHhMHnqz~ptoUL;yLy1sW(HSvs4)LD7*riYdm3 z@Q#O}dQglZny^za7DzKKPvPiDOOqcs&_z0_(8A4o4s?-DDztF2TcEKzfJ;Ek1w2l~ zik&`DK?z{;f#59^JpA80W{>M4bg!*!&6Attj(SMeV@{9KP^9Ezp>h-!XoOJTkX|_? zsZ8um5Aa;DG=e?jdsI2%lk68#$80E%RVJLy zFw!hXY`71Y{HPH%+G$-yUoFH}zJUfH=4Po(#?cdTk3>|3@hTbqY< z)GY$X-EN+ZcT2dVLM~-A8`jb2fKVPQ`ERH&`BnUpQa(9A;y(NTA-o+;3hr;83NRu- zhb5yXoFSKbGGj@AX`qsSma2{-73Zfj1NabT0q)(y@eOlyn8FGLn!+Rp|2C?!(#-u_ zD8C$>9Q)LDbUs_pdd~{j^#PM3r1F#4hFICB0}2g*!=CHcBX_@SmiCG1{#Mv?E)d2j z5=xn-CI2YBb9TU46zrq`49$e8p@bGHlKhq|7Gazoz~>=CitdIY*-J#CW*f#yjfiFt zp(5&5ghyo;$0B9H`Q?lPE*+31(w+U2W4J;L_l}ss+H1}fRWAsTYZn8ekGP7DH2bdf<<+AHhWh2b zVJ%F~735C^$Pu8^0-$iqomO!SvF+yF3#5*-0`wSEtQpvz<-WOR8=yZY7d32v3v{@- z+E#p?%0nMcJUQS?!ICy1yhxdp3utTl%NYTD0CHvk5`EiJ>t9SUKq0XCTi)eNmPyU$ z1Vjn|W3@rcNz7|4pI)_9W>Cq>hE?VPap()0ZagnEeXOi2&_>D3>wtgu2>g*=p&B+L zz)e0Yl`qleg@t3}~U$ zgWQw*B#@D$zO#6G(EJQOxn87qY}zEHqQ9OU;6=gY9CPo$=p>$g_D2WxB~*C_A?cC& zk4p)Yj{aOKX265P{rg#6ZQ!=UgE|t|fG6YJwPcL9?3hQM zAdr{^OeTf8I$-~|0xRbOEgT#}+9s?LCt63bXDFtA8AkGRQn#vK{?`Ka%Yz+0Fu8t% zne=J^pv?^f00m1nNrf5!xW9zf(5RvdayTqG?&VAemsC_;APq+r%$)BEM64Le=B!Tl zmx4N7kRxS0Yq-fk`_z@IFp*qYSy3r>uUgSj>1?wg$sgM)MRq zTm>s z#-+2au%i?pc_kC1`%5Sg(|i|XfwX227t2D~3tN=JB(G;J%Kcc-q8!wbL*uGRX>FmB zTae^!sqAROvj5ws0+~mEP?c&-!>XuM-*c;Se=DrY1wvJtL2Ou+f+X*`Rk^#mpp6(rf~R^|RySd|N8TBVC_)QnhFh8hb{L6YBdt8#xUtjYyKRk;Bi6Cg+9kKL-=-wLa8fkMlm z=Z%v;#F{;J%^Tw)uZh(3mjcV+BAwdR)xC06d!?&?Rb_CXuPj%iFz2vL&cz=sp>XcE zPX#y;pwj}NFb`pl{;fbYmFh7hVUrR6UIcYkKqCefYXTDrzh$O-L~?&CY=R4PN>DwY zJWc*Dp?j2}>-}_QfDyu+6u_AH`A>!90t23XheFH&gcZ6ujO0f`bg{t+e?KQ+qyRAF z7_+lla#zN2_Fcen1`y*Ir8cRu!{s>tdm+bpKy0@+tGt?#5BWEbF8#fzm`XhRF5o`{ zI606S57CVY=ZlO8-CxcK-~*7b&TNM9`$9Dx9Gsk(ABzWv3l*bnrx$hwJ+~#q^eYyx!;S0nFCyi?=*eH=A9mJngJ!pNwvp2tlMOeDL6MkErJxG!Zl^SI4V?u zNKVQNHT$)pP%|)58K$Tjsf+4WWGqN>R=z@msXsTY z(1DW*nUHGKLd_(dm#@(IxnYG4ob;cZXG!DUX#WXBvNYd+*{==zF9Tbsreb2)EUTQp zqOY^k+1cK|0-;G)d;hAotT?$;DqGYm=_@RHnzw|iXM_k@dD3p!GcO1B;@;o8hXyb~ z#r(gzXmF@9JkYCe%4kab?2wY&5Rl;|%Y@o7@`7LXBbI{BiXgfm$x7wIJeTKiku1mW zWjvl7G}(ttE(cul;+PnZrHRB)>%NFRnAk_yFZbxd2%!_kGeXs)Nd`+}xCg>;gzG4bY(Tks)IephjEii{{_N`F z^2i7_k@n*@IGAa9jt9A+pjO#XY$(){E2X|4Ykk#44xXuqd|wbyz&6giCO0UN-oAUa z!dh}2sNsf*j={mfzVfnV9V;r`9nq8Za)EFqnK5@|a8b$JDSQN8b05SV^dJE z#__f)=E@V5wWDZ0&Toa(%~rrKN<;p}B`8;LBsbw_?9B*}1}c4%*g$x*FdULJw{)aQ zsEknZ4+RyR8dPvkd2D281XbK7jQ!UFypXZV*ch6ed|9ymM*&t?+xR4(eEN#u{l9s< zbvITI!#h%<4QBZl@gU)eR#W=e3Ajy#Aq0z)D@t$s$R zzOYS4Mz4IBxysMVzYM*FgE)hzW)a2%|F-Ac%K!o64Qj#JhDkj7(=W9Cu(*muDV^JZ zk_Z!E&;zaAS$9H zl}|UIBDO_Lj)-l&P`cvrV)m4&^Ba)Ek%aO7F&xpXC8I*^FXlxJj}VPvYmvMw|8=3Z z@QG%;g30lGg*EdZJvbc#k;cvED)aTW*iX&^xEE zb5&n=dtX;adshY5p{#7fBbmmuW1RMmuPb-dl6$3suRWbrkff~Qjy@a;;;0BnIit82 z7NCN&eZMHQwnS+qza(W;mFBd{vMpOMe$bR!*hrT%I71kxZwRTsm?tS&Rj4KR3#sFu zjmgVxW2s>q%j3xHJs_0UJ=cuVc?~IHgWY<0*lvpud*X#CF*E4%M&#^9WT8T}U=Z(h)VklvcwE4PATi@MOe`VGS(R12~+uMMb9T-1*vp99OgmsR@P2bT}@;hH|& z;XjEGalO1FFwolvgETZYF)8QN9u-PMN-23vK9tA>A&~*x;D;#f?ujy1@nwL>gL28Y z1n1VBDlOTZgG&y?N$NX@3uI(y#C4qAwuCh5U1jV5u2e4==vc98Riz(eY(-z!itetq z+r`s~Kf4|@K3|zI-|&c1$*I4jmHZq&)_pPgdHe;JxU##iuhNZoFZwDg`peyeZ8qYP zg+LwJwd5(lPF7D@TN$a04Z+=+s1I9V0xUm(o74s ze-pH(h2ZP*F9UM;ZMYyJh3Q+@bJO_;Cs)6E&_O+iCAZ@*`5ctb1(SWr4>zS~xIX*l z4H@Zk?nlX+;7A!yOjU~)cvT&CqYOiG$n0zuC?`!eXoM8DuStICDTwZ1 zr`nuU0ai}V*Y5q*RD5AGlHWq1$JDv(rh~N|_%z*gh;7G$HKTXjE#^vtC^&)$V+;;FKK+vQ__|o z+h7UKThf*;C2i>zOS%9-C2b3HT;?Th!6<24>1-r@OJ33|d`aWeNO~c9&6w)e6wgvS zN(Zc^b~G(YGIh8$=NthA2q)%Dp9N!!EnR@Ag+JtP(H2yLc>`?reLYlJ#CIx6Dv!;5q**St)p-`-eHCyRh zGkh9hE)mPv1IM?fy6CQZ+{*65kErZxQkIOG4>U==^HSyEh`ew9+gX@;vvJ8C;N9eG zfp!c&4QFY`1h%dK;dn93?aJALYwQF*^POv|hutOHf<+pZ#7Tagr=o=m|F?q=azS!z z3CLoAFcO$ki&yzA#;4!nz~&Snu*IjP?1)c3ll)s8Hqln%HqnBxi7v=|n|Qh3M11;9 z3o{!*K8?J@isZ4)tjQR_d{iJ2 zhvz#j)iZpmXFBq+AQYjk7$6n33&|pF%q;A|Vb^Wk;Dl6uw^f(ccRo-W!Q=6znU6oL zKm1aC%g+5zd^Gd&8&l7{Rp0s1-+i#<=A|7M{@n);)zbc5?Q0P}ja0f!Xj)vTHsFvO zvZ+S$FlH6{^O4suS7t3k5)FuqlwC7*1$m+Wz^CCw-052g+O1tan7+nNT z>~p?$;4{?@nRg|b6JvByfFOYq)#=M%sEGzyBByFM+gdSrWr|`;sX}M*h<)Pb!zlseq1kIJ#FUWTK(Au=AV?r$OjH(?TSzLI!?3SpSK>@?V>5B))^*T7F z-+sG<8Fgi2Y2U6lb)=YKGJ+_+x^M5JrS?+&gH83JnH(FX;m>k$3?k2yx@tJmaE}Y@uDnMv0h_ghf0k&2Kaki8y=#<(Z&a)=2 z4a;U4mdK}dL|P&j8u8k~vw}h!F+rs)5G{p6p=kzn^wSs_W+p`^zQ*rtd>S!J!qZG^ zTh3Kmg2!kJEWu+z(5$q~HCJuvavWK@;&Y8Y1i9)01a+*oFvq17wl}u0LEL0Xo$fdI zEX!Ch+bBRd4+!ZRj)h?t6F|py{Us;ER)^sYaNr(KrG9RR7!-GcU77CA{ z4L*(V5aZgJp;mUo_!=C-vtUPn#Er9clQWh$1A9vxUR0WAOLJ9=kL7B!XG8O~1wCZx zovXvo*7j**PHiD`Zcd?NPAw2;Tn9>6I*QBIExJ%2f^9G9BDCtVd|h*Y-IE{pHX}oMiEWP2QDgDnVKYiRo-#g?ulVLyre3-?ec zoMPeA2&M77I@H``@oW_r}zV+jP&yzFqG~MtA2or)zIaJ-NHSr&iy*#Xz=UXM4GS-O>w7 z^#`_=^il*NX(?t&-;LB6&Ub#EI)fk@0a$Tikn}a_kRz_f0V8+MwowREbcnmbdWG5j zurz6wmI-ohzd&x8g~F%Na9InO{erzE!Yv<`2(nBP`rFc66_SH$#%{3GX=zajZB4SK z(mK26>A0{&u)yWAo2vq)mEy*rG?sLcd68wA(@9$!CV)=n!~#)i9H2-_qM<1cMD~lm zKH}5#aGGZfd~N{(j9zRvL!eO>ohe6KpExDEGH*fHS{Ectz_ixdU-DavPrtRnOt1g} zo=RF9&v#fHI(u7*yWnm?*hCj(zD@jPzlr$tn;1;N3J}=DhVl)1*V1CsZRP1IXcj9o zLsfuquA>eXgtD?U1*BPiwl(HA`Nj^Psj)K-F`H76`2qxq>Sk|lEDsh7WF0QvisO-CIIniTAglZ%394(umA!3Ph$okFgO;S?X~qu+T9ue3zB0=MDmGj zXZofu0(|-+2(-2UL5!Hul)#J>AjsB4n2~%EIgpt}XYSoHD7j24GYdkQIUwS-tQv6) zIi;;SkU)R#_w5ZneS4D$kNQ)9FkAhx=+qxupQ}F>gspW!@(T^ES%}SkTk+|)HJCOP zAjn$6ES4!OHhrb7P8LslZnA}Jq*Lf6&VxPPHVWq)$-(pINdNV~?D2k(BI8sKpGIV| zTOhxi#Hjt;G9U~9 z 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 diff --git a/TransPyV/temp/ab6e54ba9a669f76.pyi b/TransPyV/temp/ab6e54ba9a669f76.pyi deleted file mode 100644 index 4fc3440..0000000 --- a/TransPyV/temp/ab6e54ba9a669f76.pyi +++ /dev/null @@ -1,48 +0,0 @@ -""" -Auto-generated Python stub file from string.py -Module: string -""" - - -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 diff --git a/TransPyV/temp/b5d05dbd7fee36ef.doc.json b/TransPyV/temp/b5d05dbd7fee36ef.doc.json deleted file mode 100644 index 86441ed..0000000 --- a/TransPyV/temp/b5d05dbd7fee36ef.doc.json +++ /dev/null @@ -1 +0,0 @@ -{"_load_includes_sha1_set": "读取 _sha1_map.txt,将 includes/ 开头的 SHA1 写入 sha1_set\n sha1_set 大小为 MAX_INCLUDES_SHA1 * 17(每个 SHA1 16字符+null)\n 返回找到的 includes SHA1 数量,-1 表示错误", "_is_in_sha1_set": "检查 sha1 是否在集合中", "WriteIncludesSha1Map": "将 includes 扫描结果写入 _sha1_map.txt(供 StubMerger 使用)\n\n 若 filter_set 不为 None 且 filter_count > 0,只写入 filter_set 中的条目。\n ", "_IsFuncDeclaredOrDefined": "检查 out_buf 中是否已有函数的 declare 或 define 行", "_CommentOutDeclareInBuf": "在 out_buf 中搜索 declare 行(包含 func_sig),将其注释掉", "_CommentOutGlobalInBuf": "在 out_buf 中搜索全局变量定义行(以 global_name 开头),将行首改为 ';'", "_CommentOutOpaqueTypeInBuf": "在 out_buf 中搜索 type_name_prefix 对应的 opaque 声明行,将行首改为 ';'\n\n type_name_prefix 格式: '%\"sha1.ClassName\"'(不含 '=' 和后续内容)\n 返回 1=已注释, 0=未找到\n ", "_HasFullTypeDefinition": "检查 out_buf 中是否已有 type_name_prefix 的完整定义", "_LoadAndAppendStub": "加载依赖 stub 并追加(跳过 header,去重)", "_LoadAndAppendTextDeclares": "从依赖 text.ll 提取 declare(define 转 declare),追加到 out_buf", "_PathToModuleName": "将文件路径转换为模块名\n\n 特殊处理 __init__.py:includes/ast/__init__.py → ast(而非 ast.__init__)\n ", "_BuildIncludesSha1Map": "从 _sha1_map.txt 构建 sha1→module_name 映射,返回条目数", "_FindSha1ByModName": "从模块名查找 SHA1(精确匹配)", "_AddSha1ToSet": "将 SHA1 加入集合,返回新 count", "_BuildReachableSha1Set": "构建可达 SHA1 集合(依赖图按需翻译)", "BuildCombinedIR": "组合本地 stub + 依赖 stubs + 本地 text → out_buf(按需加载)"} \ No newline at end of file diff --git a/TransPyV/temp/b5d05dbd7fee36ef.pyi b/TransPyV/temp/b5d05dbd7fee36ef.pyi deleted file mode 100644 index 4466a75..0000000 --- a/TransPyV/temp/b5d05dbd7fee36ef.pyi +++ /dev/null @@ -1,60 +0,0 @@ -""" -Auto-generated Python stub file from lib.core.StubMerger.py -Module: lib.core.StubMerger -""" - - -import t, c -from stdint import * -import memhub -import string -import stdio -import stdlib -import llvmlite -import w32.win32file as win32file -import w32.win32base as win32base -import w32.fileio as fileio -import viperlib -import sys -import ast -import lib.core.IncludesScanner as IncludesScanner -import lib.core.Handles.HandlesStruct as HandlesStruct -import lib.core.Handles.HandlesImports as HandlesImports -import lib.core.Handles.HandlesTranslator as HandlesTranslator - -_mbuddy: t.CExtern | memhub.MemManager | t.CPtr -MAX_INCLUDES_SHA1: t.CDefine = 256 -STUB_READ_BUF_SIZE: t.CDefine = 262144 -MAX_INCLUDES: t.CDefine = 256 - -def _load_includes_sha1_set(pool: memhub.MemBuddy | t.CPtr, temp_dir: str, sha1_set: str) -> int: pass - -def _is_in_sha1_set(sha1: str, sha1_set: str, set_count: int) -> int: pass - -def WriteIncludesSha1Map(mb: memhub.MemBuddy | t.CPtr, temp_dir: str, scan_result: IncludesScanner.ScanResult | t.CPtr, filter_set: t.CChar | t.CPtr, filter_count: int) -> int: pass - -def _IsFuncDeclaredOrDefined(out_buf: bytes, func_sig: str) -> int: pass - -def _CommentOutDeclareInBuf(out_buf: bytes, func_sig: str) -> int: pass - -def _CommentOutGlobalInBuf(out_buf: bytes, global_name: str) -> int: pass - -def _CommentOutOpaqueTypeInBuf(out_buf: bytes, type_name_prefix: str) -> int: pass - -def _HasFullTypeDefinition(out_buf: bytes, type_name_prefix: str) -> int: pass - -def _LoadAndAppendStub(temp_dir: str, td_len: t.CSizeT, dep_sha1: str, dep_buf: bytes, out_buf: bytes, out_size: t.CSizeT, out_pos: t.CSizeT) -> t.CSizeT: pass - -def _LoadAndAppendTextDeclares(temp_dir: str, td_len: t.CSizeT, dep_sha1: str, dep_buf: bytes, out_buf: bytes, out_size: t.CSizeT, out_pos: t.CSizeT) -> t.CSizeT: pass - -def _PathToModuleName(path: str) -> str: pass - -def _BuildIncludesSha1Map(temp_dir: str, td_len: t.CSizeT, sha1_list: t.CChar | t.CPtr, mod_list: t.CChar | t.CPtr) -> int: pass - -def _FindSha1ByModName(sha1_arr: t.CChar | t.CPtr, mod_arr: t.CChar | t.CPtr, count: int, mod_name: str) -> str: pass - -def _AddSha1ToSet(set_buf: t.CChar | t.CPtr, count: int, sha1: str) -> int: pass - -def _BuildReachableSha1Set(mb: memhub.MemBuddy | t.CPtr, source_dir: str, temp_dir: str, reachable_set: t.CChar | t.CPtr) -> int: pass - -def BuildCombinedIR(temp_dir: str, local_sha1: str, out_buf: bytes, out_size: t.CSizeT) -> t.CSizeT: pass diff --git a/TransPyV/temp/bd82e3ca81546c76.doc.json b/TransPyV/temp/bd82e3ca81546c76.doc.json deleted file mode 100644 index 0858afd..0000000 --- a/TransPyV/temp/bd82e3ca81546c76.doc.json +++ /dev/null @@ -1 +0,0 @@ -{"FileEntry": "扫描到的文件条目", "ScanResult": "扫描结果集合", "create_scan_result": "创建扫描结果容器,预分配 MAX_FILES 个槽位", "add_file_entry": "添加文件条目到扫描结果,返回 0 成功", "compute_file_sha1": "读取文件内容并计算 SHA1 前16字符(CRLF→LF 后计算,与 Projectrans.py 一致)", "scan_directory_recursive": "递归扫描目录,收集 .py 文件", "scan_includes": "扫描 includes 目录,返回所有 .py 文件的扫描结果", "find_entry_by_module": "按模块名查找文件条目"} \ No newline at end of file diff --git a/TransPyV/temp/bd82e3ca81546c76.pyi b/TransPyV/temp/bd82e3ca81546c76.pyi deleted file mode 100644 index ba0eee6..0000000 --- a/TransPyV/temp/bd82e3ca81546c76.pyi +++ /dev/null @@ -1,45 +0,0 @@ -""" -Auto-generated Python stub file from lib.core.IncludesScanner.py -Module: lib.core.IncludesScanner -""" - - -import t, c -from stdint import * -import memhub -import string -import stdio -import stdlib -import w32.win32file as win32file -import w32.win32base as win32base -import w32.fileio as fileio -import hashlib -import viperlib - -_mbuddy: t.CExtern | memhub.MemManager | t.CPtr -MAX_PATH_LEN: t.CDefine = 512 -MAX_FILES: t.CDefine = 256 - -@t.NoVTable -class FileEntry: - Path: str - Sha1: str - RelPath: str - ModuleName: str -@t.NoVTable -class ScanResult: - Entries: FileEntry | t.CPtr - Count: t.CInt - Capacity: t.CInt - -def create_scan_result(pool: memhub.MemBuddy | t.CPtr) -> ScanResult | t.CPtr: pass - -def add_file_entry(result: ScanResult | t.CPtr, pool: memhub.MemBuddy | t.CPtr, abs_path: str, rel_path: str, sha1: str) -> int: pass - -def compute_file_sha1(pool: memhub.MemBuddy | t.CPtr, file_path: str) -> str: pass - -def scan_directory_recursive(pool: memhub.MemBuddy | t.CPtr, root_dir: str, rel_prefix: str, result: ScanResult | t.CPtr) -> int: pass - -def scan_includes(pool: memhub.MemBuddy | t.CPtr, includes_dir: str) -> ScanResult | t.CPtr: pass - -def find_entry_by_module(result: ScanResult | t.CPtr, module_name: str) -> FileEntry | t.CPtr: pass diff --git a/TransPyV/temp/d4117f5e00a6c3b5.pyi b/TransPyV/temp/d4117f5e00a6c3b5.pyi deleted file mode 100644 index ee44bdb..0000000 --- a/TransPyV/temp/d4117f5e00a6c3b5.pyi +++ /dev/null @@ -1,62 +0,0 @@ -""" -Auto-generated Python stub file from llvmlite.__verify.py -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 - -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/TransPyV/temp/db7c4a8f09d02a17.doc.json b/TransPyV/temp/db7c4a8f09d02a17.doc.json deleted file mode 100644 index 56e8c7e..0000000 --- a/TransPyV/temp/db7c4a8f09d02a17.doc.json +++ /dev/null @@ -1 +0,0 @@ -{"RunPhase1": "Phase1: 扫描 includes 目录,按需翻译并生成 stub"} \ No newline at end of file diff --git a/TransPyV/temp/db7c4a8f09d02a17.pyi b/TransPyV/temp/db7c4a8f09d02a17.pyi deleted file mode 100644 index c2761c1..0000000 --- a/TransPyV/temp/db7c4a8f09d02a17.pyi +++ /dev/null @@ -1,32 +0,0 @@ -""" -Auto-generated Python stub file from lib.core.Phase1.py -Module: lib.core.Phase1 -""" - - -import t, c -from stdint import * -import stdio -import string -import stdlib -import memhub -import viperlib -import w32.fileio as fileio -import w32.win32file -import w32.win32base -import ast -import llvmlite -import lib.core.VLogger as VLogger -import lib.core.Handles.HandlesTranslator as HandlesTranslator -import lib.core.Handles.HandlesStruct as HandlesStruct -import lib.core.Handles.HandlesType as HandlesType -import lib.core.Handles.HandlesExprCall as HandlesExprCall -import lib.core.Handles.HandlesImports as HandlesImports -import lib.core.IncludesScanner as IncludesScanner -import lib.core.StubMerger as StubMerger -import lib.Projectrans.Config as Config - -_mbuddy: t.CExtern | memhub.MemManager | t.CPtr -SRC_BUF_SIZE: t.CDefine = 1048576 - -def RunPhase1(mb: memhub.MemBuddy | t.CPtr, includes_dir: str, temp_dir: str, log: VLogger.Logger | t.CPtr) -> int: pass diff --git a/TransPyV/temp/e0b84369e50c937c.pyi b/TransPyV/temp/e0b84369e50c937c.pyi deleted file mode 100644 index c10ea89..0000000 --- a/TransPyV/temp/e0b84369e50c937c.pyi +++ /dev/null @@ -1,93 +0,0 @@ -""" -Auto-generated Python stub file from llvmlite.__function.py -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 - -class Line(GSListNode[Line]): - Buf: t.CChar | t.CPtr - Len: t.CSizeT -class BasicBlock(GSListNode[BasicBlock]): - Name: t.CChar | t.CPtr - Lines: GSList[Line] | t.CPtr - IsTerminated: t.CInt -class Param(GSListNode[Param]): - Ty: LLVMType | t.CPtr - Name: t.CChar | t.CPtr - Attrs: t.CChar | t.CPtr -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_append_text(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 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/TransPyV/temp/ee084e9fc6ee413a.pyi b/TransPyV/temp/ee084e9fc6ee413a.pyi deleted file mode 100644 index 45551ef..0000000 --- a/TransPyV/temp/ee084e9fc6ee413a.pyi +++ /dev/null @@ -1,81 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, old_size: t.CSizeT, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, old_size: t.CSizeT, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass \ No newline at end of file diff --git a/heapchk_test.c b/heapchk_test.c new file mode 100644 index 0000000..1e232e7 --- /dev/null +++ b/heapchk_test.c @@ -0,0 +1,25 @@ +#include +#include +#include + +int main() { + int r1 = _heapchk(); + printf("before any alloc: _heapchk=%d\n", r1); + fflush(stdout); + + void *p = malloc(1024); + int r2 = _heapchk(); + printf("after malloc(1024): _heapchk=%d (p=%p)\n", r2, p); + fflush(stdout); + + /* NO corruption - just test if _heapchk works */ + int r3 = _heapchk(); + printf("no corruption: _heapchk=%d\n", r3); + fflush(stdout); + + free(p); + int r4 = _heapchk(); + printf("after free: _heapchk=%d\n", r4); + fflush(stdout); + return 0; +} diff --git a/heapvalidate_test.c b/heapvalidate_test.c new file mode 100644 index 0000000..0db106f --- /dev/null +++ b/heapvalidate_test.c @@ -0,0 +1,33 @@ +#include +#include +#include + +int main() { + HANDLE h = GetProcessHeap(); + printf("process heap handle: %p\n", h); + fflush(stdout); + + /* validate before any alloc */ + BOOL v0 = HeapValidate(h, 0, NULL); + printf("before alloc: HeapValidate=%d\n", v0); + fflush(stdout); + + void *p = malloc(1024); + BOOL v1 = HeapValidate(h, 0, NULL); + printf("after malloc(1024): HeapValidate=%d (p=%p)\n", v1, p); + fflush(stdout); + + /* intentionally overflow */ + memset((char*)p + 1024, 0xCC, 64); + + BOOL v2 = HeapValidate(h, 0, NULL); + printf("after overflow: HeapValidate=%d\n", v2); + fflush(stdout); + + /* try to trigger detection via free */ + free(p); + BOOL v3 = HeapValidate(h, 0, NULL); + printf("after free: HeapValidate=%d\n", v3); + fflush(stdout); + return 0; +} diff --git a/includes/_fakeduck.py b/includes/_fakeduck.py index af9524b..602e441 100644 --- a/includes/_fakeduck.py +++ b/includes/_fakeduck.py @@ -271,20 +271,10 @@ class _str: return has_char def split(self, delimiter: str) -> list[str]: - stdio.printf("DBG split: entry\n") - stdio.fflush(None) result = list[str](self.__mbuddy__) - stdio.printf("DBG split: list created\n") - stdio.fflush(None) src: str = self.__data__ - stdio.printf("DBG split: src=%s\n", src) - stdio.fflush(None) length: t.CSizeT = len(src) - stdio.printf("DBG split: length=%lu\n", length) - stdio.fflush(None) delim_len: t.CSizeT = string.strlen(delimiter) - stdio.printf("DBG split: delim_len=%lu\n", delim_len) - stdio.fflush(None) start: t.CSizeT = 0 i: t.CSizeT = 0 cur: str = src diff --git a/includes/_list.py b/includes/_list.py index 5624727..7b84117 100644 --- a/includes/_list.py +++ b/includes/_list.py @@ -1,7 +1,6 @@ import t, c import memhub import string -import stdio from stdint import * @@ -25,11 +24,7 @@ class list[T]: __iter_index__: t.CSizeT def __new__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT = 0): - stdio.printf("DBG __new__: entry\n") - stdio.fflush(None) ret = pool.alloc(48) - stdio.printf("DBG __new__: alloc returned %p\n", ret) - stdio.fflush(None) return ret def __init__(self, pool: memhub.MemManager | t.CPtr, elem_size: t.CSizeT = 0): diff --git a/includes/llvmlite/__function.py b/includes/llvmlite/__function.py index 508d6e6..5ba9659 100644 --- a/includes/llvmlite/__function.py +++ b/includes/llvmlite/__function.py @@ -245,17 +245,18 @@ def param_set_attrs(param: Param | t.CPtr, attrs: t.CChar | t.CPtr): # ============================================================ # _ll_name_needs_quote - 检查 LLVM 标识符是否需要加引号 # -# LLVM IR 规范:标识符以数字开头或含特殊字符(如 '.')时必须 -# 用双引号包围。SHA1 命名空间的函数名格式为 "sha1hex.funcname" -# (含 '.'),以 hex 字符开头(可能以数字开头),因此需要加引号。 -# 普通函数名(如 printf/malloc/main)不含特殊字符,不加引号。 +# LLVM IR 规范:标识符合法字符集为 [-a-zA-Z$._][-a-zA-Z$._0-9]* +# 以数字开头或含非合法字符(如 '['、']'、' '、'@' 等)时必须用双引号包围。 +# '.' 是合法字符,不需要加引号(如 @.str、@llvm.memcpy 都不加引号)。 +# SHA1 命名空间的函数名(如 "4dad2ba72ed7ba09.GSListNode[Param]")含 '['、']', +# 需要加引号;但纯 hex+点 的名字(如 "abc.def")不需要。 # ============================================================ def _ll_name_needs_quote(name: str) -> t.CInt: - """检查 LLVM 标识符是否需要加引号(以数字开头或含 '.') + """检查 LLVM 标识符是否需要加引号(以数字开头或含非合法字符) - 例外: LLVM 内联函数名(如 llvm.memcpy/llvm.memset)以 'llvm.' 开头, - 虽含 '.',但不能加引号——加引号后 LLVM 解析器不识别为内联函数, - 导致 declare/call 签名不匹配(Intrinsic called with incompatible signature)。 + LLVM IR 合法字符:a-z, A-Z, 0-9, -, $, ., _ + 首字符是数字时需要加引号(LLVM 要求局部/全局标识符首字符非数字,除非加引号)。 + 含其他字符(如 '['、']'、空格)时需要加引号。 """ if name is None: return 0 @@ -263,13 +264,13 @@ def _ll_name_needs_quote(name: str) -> t.CInt: if c0 >= '0' and c0 <= '9': return 1 name_len: t.CSizeT = string.strlen(name) - # 豁免 llvm.* 前缀的内联函数名 - if name_len >= 5: - if name[0] == 'l' and name[1] == 'l' and name[2] == 'v' and name[3] == 'm' and name[4] == '.': - return 0 i: t.CSizeT = 0 while i < name_len: - if name[i] == '.': + ch: t.CChar = name[i] + # 合法字符:a-z, A-Z, 0-9, -, $, ., _ + if not ((ch >= 'a' and ch <= 'z') or (ch >= 'A' and ch <= 'Z') or + (ch >= '0' and ch <= '9') or ch == '-' or ch == '$' or + ch == '.' or ch == '_'): return 1 i += 1 return 0 @@ -329,8 +330,8 @@ def FunctionPrint(buf: t.CChar | t.CPtr, size: t.CSizeT, ty_buf[0] = '\0' TypePrint(ty_buf, 128, cur.Ty, pool) _append_cstr(buf, size, ty_buf) - # declare 声明不打印参数名 - if func.IsDeclared == 0 and cur.Name is not None: + # declare 和 define 都打印参数名(如果有) + if cur.Name is not None: _append_cstr(buf, size, " ") # LLVM IR 要求参数名以 % 开头 if cur.Name[0] != '%': diff --git a/includes/memhub.py b/includes/memhub.py index 7ac3351..a934eb3 100644 --- a/includes/memhub.py +++ b/includes/memhub.py @@ -255,6 +255,10 @@ class MemSlab(MemManager): # 线程安全 (自旋锁), 支持合并 # ============================================================ class MemBuddy(MemManager): + # 覆盖父类 __provides__:MemBuddy 同时提供 __mbuddy__ 和 __memmgr__, + # 使 with MemBuddy(...) 上下文内的 __requires__=['__mbuddy__'] 类(如 _str) + # 能通过 _find_provider 自动注入 + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] max_order: t.CInt # 最大阶数 free_lists: t.CUInt64T | t.CPtr # 空闲链头数组 (位于 arena 开头) lock_val: t.CVolatile | t.CInt # 自旋锁 @@ -414,28 +418,17 @@ class MemBuddy(MemManager): # === 虚函数覆盖 === def alloc(self, size: t.CSizeT) -> t.CVoid | t.CPtr: - stdio.printf("DBG MemBuddy.alloc: size=%lu\n", size) - stdio.fflush(None) self._lock() result: t.CVoid | t.CPtr = None if self.usable is not None: - stdio.printf("DBG MemBuddy.alloc: usable=%p\n", self.usable) - stdio.fflush(None) if size != 0: needed: t.CSizeT = size + MEMBUDDY_HEADER_SIZE order: t.CInt = self._order_for_size(needed) - stdio.printf("DBG MemBuddy.alloc: order=%d max_order=%d\n", order, self.max_order) - stdio.fflush(None) if order <= self.max_order: block: t.CVoid | t.CPtr = self._split_to_order(order) - stdio.printf("DBG MemBuddy.alloc: block=%p\n", block) - stdio.fflush(None) if block is not None: c.DerefAs(block, t.CVoid(t.CUInt64T((order << 1) | 1), t.CPtr)) result = t.CVoid(t.CUInt64T(block) + MEMBUDDY_HEADER_SIZE, t.CPtr) - else: - stdio.printf("DBG MemBuddy.alloc: usable is None!\n") - stdio.fflush(None) self._unlock() return result diff --git a/lib/core/Handles/HandlesAnnAssign.py b/lib/core/Handles/HandlesAnnAssign.py index 388b093..81eb24f 100644 --- a/lib/core/Handles/HandlesAnnAssign.py +++ b/lib/core/Handles/HandlesAnnAssign.py @@ -9,7 +9,7 @@ from lib.core.Handles.HandlesBase import BaseHandle, CTypeInfo from lib.core.VLogger import get_logger as _vlog from lib.constants.config import mode as _config_mode from lib.includes import t -from lib.core.SymbolUtils import IsListAnnotation, ParseListAnnotation, FindStructNameInAnnotation, AnnotationContainsName +from lib.core.SymbolUtils import IsListAnnotation, ParseListAnnotation, FindStructNameInAnnotation, AnnotationContainsName, IsCPtrNode class AnnAssignHandle(BaseHandle): @@ -105,6 +105,16 @@ class AnnAssignHandle(BaseHandle): ObjVal = Gen.builder.bitcast(ObjVal, ir.PointerType(Gen.structs[ClassName]), name=f"cast_{ClassName}") if isinstance(ObjVal.type, ir.PointerType) and isinstance(ObjVal.type.pointee, ir.PointerType): ObjVal = Gen._load(ObjVal, name=f"Load_{ClassName}") + # opaque 泛型结构体 → 特化版本 bitcast + # 当 ObjVal 的 pointee 是 opaque 基础泛型结构体(如 GSList,来自跨模块 stub), + # 而 ClassName 是特化版本(如 GSList[BasicBlock])时,两者是不同的 + # IdentifiedStructType,直接比较会失败。这里 bitcast 到特化版本, + # 使后续 GEP 能正确访问字段。 + if (isinstance(ObjVal.type, ir.PointerType) + and isinstance(ObjVal.type.pointee, ir.IdentifiedStructType) + and ObjVal.type.pointee is not Gen.structs[ClassName] + and '[' in ClassName): + ObjVal = Gen.builder.bitcast(ObjVal, ir.PointerType(Gen.structs[ClassName]), name=f"cast_spec_{ClassName}") if isinstance(ObjVal.type, ir.PointerType) and ObjVal.type.pointee == Gen.structs[ClassName]: if IsUnion: NestedStructName: str = f"{ClassName}_{AttrName}" @@ -139,8 +149,16 @@ class AnnAssignHandle(BaseHandle): if isinstance(TargetType, ir.IntType) and isinstance(Value.type, ir.IntType): if TargetType.width < Value.type.width: Value = Gen.builder.trunc(Value, TargetType, name="trunc") - else: - Value = Gen.builder.zext(Value, TargetType, name="zext") + elif TargetType.width > Value.type.width: + if Value.type.width == 1: + # i1 是布尔值,无符号语义,必须 zext + Value = Gen.builder.zext(Value, TargetType, name="zext") + else: + is_unsigned: bool = id(Value) in Gen._unsigned_results + if is_unsigned: + Value = Gen.builder.zext(Value, TargetType, name="zext") + else: + Value = Gen.builder.sext(Value, TargetType, name="sext") elif isinstance(TargetType, ir.PointerType) and isinstance(Value.type, ir.PointerType): Value = Gen.builder.bitcast(Value, TargetType, name="ptr_bitcast") elif isinstance(TargetType, ir.PointerType) and isinstance(Value.type, ir.IntType): @@ -468,6 +486,33 @@ class AnnAssignHandle(BaseHandle): if VarName not in Gen.var_struct_class: Gen.var_struct_class[VarName] = TypeInfo.Name Gen.global_struct_class[VarName] = TypeInfo.Name + # 检测指针到指针缓冲区变量:注解为 StructName | t.CPtr,且赋值来自 t.CPtr(...) 调用。 + # 这种变量(如 list[T].__getitem__ 中的 elem_ptr: T | t.CPtr = t.CPtr(...)) + # 实际指向存储结构体指针的缓冲区(T=AST|t.CPtr 时特化为 AST*,缓冲区存 AST* 数组)。 + # [index] 应 bitcast 为 AST** 后 GEP 指针数组再 load,而非 GEP 结构体数组。 + # 泛型特化将 T|t.CPtr 降级为 StructName|t.CPtr(丢失一层指针),故通过赋值来源区分: + # elem_ptr 的值是 t.CPtr(buf + idx*elem_size)(原始指针运算,缓冲区内容未知), + # pts 的值是 (Point|t.CPtr)(...)(类型转换,明确指向 Point 结构体)。 + _is_cptr_assign: bool = ( + isinstance(Node.value, ast.Call) + and isinstance(Node.value.func, ast.Attribute) + and isinstance(Node.value.func.value, ast.Name) + and Node.value.func.value.id == 't' + and Node.value.func.attr == 'CPtr' + ) + _is_struct_ptr_union: bool = ( + isinstance(Node.annotation, ast.BinOp) + and isinstance(Node.annotation.op, ast.BitOr) + and ((IsCPtrNode(Node.annotation.left) + and isinstance(Node.annotation.right, ast.Name) + and Node.annotation.right.id in Gen.structs) + or (IsCPtrNode(Node.annotation.right) + and isinstance(Node.annotation.left, ast.Name) + and Node.annotation.left.id in Gen.structs)) + ) + if _is_cptr_assign and _is_struct_ptr_union: + Gen.var_ptr_element[VarName] = True + Gen.global_var_ptr_element[VarName] = True if VarName in Gen._reg_values: OldVal: ir.Value = Gen._reg_values[VarName] if isinstance(OldVal.type, ir.PointerType): @@ -511,14 +556,22 @@ class AnnAssignHandle(BaseHandle): VarPtr: ir.Value = Gen.variables[VarName] if isinstance(VarPtr.type, ir.PointerType): TargetType: ir.Type = VarPtr.type.pointee - if InitValue.type != TargetType: - if isinstance(InitValue.type, ir.IntType) and isinstance(TargetType, ir.IntType): - if TargetType.width > InitValue.type.width: - InitValue = Gen.builder.zext(InitValue, TargetType, name=f"zext_{VarName}") - elif TargetType.width < InitValue.type.width: - InitValue = Gen.builder.trunc(InitValue, TargetType, name=f"trunc_{VarName}") - elif isinstance(InitValue.type, ir.PointerType) and isinstance(TargetType, ir.PointerType): - InitValue = Gen.builder.bitcast(InitValue, TargetType, name=f"cast_{VarName}") + if InitValue.type != TargetType: + if isinstance(InitValue.type, ir.IntType) and isinstance(TargetType, ir.IntType): + if TargetType.width > InitValue.type.width: + if InitValue.type.width == 1: + # i1 是布尔值,无符号语义,必须 zext + InitValue = Gen.builder.zext(InitValue, TargetType, name=f"zext_{VarName}") + else: + is_unsigned: bool = (Node.value is not None and Gen._check_node_unsigned(Node.value)) or id(InitValue) in Gen._unsigned_results + if is_unsigned: + InitValue = Gen.builder.zext(InitValue, TargetType, name=f"zext_{VarName}") + else: + InitValue = Gen.builder.sext(InitValue, TargetType, name=f"sext_{VarName}") + elif TargetType.width < InitValue.type.width: + InitValue = Gen.builder.trunc(InitValue, TargetType, name=f"trunc_{VarName}") + elif isinstance(InitValue.type, ir.PointerType) and isinstance(TargetType, ir.PointerType): + InitValue = Gen.builder.bitcast(InitValue, TargetType, name=f"cast_{VarName}") Gen._store(InitValue, VarPtr) except Exception as _e: if _config_mode == "strict": @@ -567,9 +620,25 @@ class AnnAssignHandle(BaseHandle): return for CN, ST in Gen.structs.items(): if pointee is ST or pointee == ST: - if CN != Gen.var_struct_class.get(VarName): - Gen.var_struct_class[VarName] = CN - Gen.global_struct_class[VarName] = CN + # 若注解是泛型特化(如 ndarray[t.CDouble] | t.CPtr), + # 构造正确的特化名(如 ndarray[double]),而非用 opaque 基础名 + resolved_cn: str = CN + if isinstance(Node.annotation, ast.BinOp) and isinstance(Node.annotation.op, ast.BitOr) and '[' not in CN: + for side in (Node.annotation.left, Node.annotation.right): + if isinstance(side, ast.Subscript): + bn: ast.expr = side.value + bnm: str | None = bn.id if isinstance(bn, ast.Name) else (bn.attr if isinstance(bn, ast.Attribute) else None) + if bnm and bnm == CN: + sn2: ast.AST = side.slice + if hasattr(ast, 'Index') and isinstance(sn2, ast.Index): + sn2 = sn2.value + r2: tuple[str, str] | None = self.Trans.ExprCallHandle._resolve_generic_slice_type(sn2) + if r2: + resolved_cn = f'{CN}[{r2[0]}]' + break + if resolved_cn != Gen.var_struct_class.get(VarName): + Gen.var_struct_class[VarName] = resolved_cn + Gen.global_struct_class[VarName] = resolved_cn if isinstance(VarType, ir.PointerType) and VarType.pointee is not ST and VarType.pointee != ST: var = Gen._allocaEntry(ir.PointerType(pointee), name=VarName) VarType = ir.PointerType(pointee) @@ -579,7 +648,15 @@ class AnnAssignHandle(BaseHandle): if InitValue.type != VarType: if isinstance(InitValue.type, ir.IntType) and isinstance(VarType, ir.IntType): if VarType.width > InitValue.type.width: - InitValue = Gen.builder.zext(InitValue, VarType, name=f"zext_{VarName}") + if InitValue.type.width == 1: + # i1 是布尔值,无符号语义,必须 zext + InitValue = Gen.builder.zext(InitValue, VarType, name=f"zext_{VarName}") + else: + is_unsigned: bool = (Node.value is not None and Gen._check_node_unsigned(Node.value)) or id(InitValue) in Gen._unsigned_results + if is_unsigned: + InitValue = Gen.builder.zext(InitValue, VarType, name=f"zext_{VarName}") + else: + InitValue = Gen.builder.sext(InitValue, VarType, name=f"sext_{VarName}") elif VarType.width < InitValue.type.width: InitValue = Gen.builder.trunc(InitValue, VarType, name=f"trunc_{VarName}") elif isinstance(InitValue.type, ir.PointerType) and isinstance(VarType, ir.PointerType): @@ -622,6 +699,27 @@ class AnnAssignHandle(BaseHandle): if isinstance(Node.annotation, ast.BinOp) and isinstance(Node.annotation.op, ast.BitOr): found_struct: str | None = FindStructNameInAnnotation(Node.annotation, Gen.structs) + # 若 FindStructNameInAnnotation 仅返回裸模板名(如 'ndarray'),但注解中 + # 含泛型特化(如 numpy.ndarray[t.CDouble]),用 LLVM 类型名构造特化名 + # (如 'ndarray[double]')。main.py 的 Gen.structs 可能只有 opaque 'ndarray', + # 但 numpy 模块已特化 ndarray[double],方法调用通过 sha1 前缀查找。 + if found_struct and '[' not in found_struct: + for side in (Node.annotation.left, Node.annotation.right): + if isinstance(side, ast.Subscript): + base_node: ast.expr = side.value + base_nm: str | None = None + if isinstance(base_node, ast.Name): + base_nm = base_node.id + elif isinstance(base_node, ast.Attribute): + base_nm = base_node.attr + if base_nm and base_nm == found_struct: + slice_node: ast.AST = side.slice + if hasattr(ast, 'Index') and isinstance(slice_node, ast.Index): + slice_node = slice_node.value + result: tuple[str, str] | None = self.Trans.ExprCallHandle._resolve_generic_slice_type(slice_node) + if result: + found_struct = f'{base_nm}[{result[0]}]' + break if found_struct: Gen.var_struct_class[VarName] = found_struct Gen.global_struct_class[VarName] = found_struct @@ -632,7 +730,10 @@ class AnnAssignHandle(BaseHandle): for CN, ST in Gen.structs.items(): if pointee == ST: Gen._var_to_heap_ptr[VarName] = InitValue - if CN != Gen.var_struct_class.get(VarName): + # 不覆盖已设置的特化名(含 '['):opaque 基础类型(如 ndarray) + # 会匹配到裸模板名,但注解已提供更精确的特化名(如 ndarray[double]) + existing_cn: str | None = Gen.var_struct_class.get(VarName) + if not (existing_cn and '[' in existing_cn) and CN != existing_cn: Gen.var_struct_class[VarName] = CN Gen.global_struct_class[VarName] = CN break diff --git a/lib/core/Handles/HandlesAssign.py b/lib/core/Handles/HandlesAssign.py index 3ad0f32..7c3a808 100644 --- a/lib/core/Handles/HandlesAssign.py +++ b/lib/core/Handles/HandlesAssign.py @@ -536,7 +536,15 @@ class AssignHandle(BaseHandle): if DefVal.type != expected_type: if isinstance(expected_type, ir.IntType) and isinstance(DefVal.type, ir.IntType): if DefVal.type.width < expected_type.width: - DefVal = Gen.builder.zext(DefVal, expected_type, name=f"zext_default_{arg_idx}") + if DefVal.type.width == 1: + # i1 是布尔值,无符号语义,必须 zext + DefVal = Gen.builder.zext(DefVal, expected_type, name=f"zext_default_{arg_idx}") + else: + is_unsigned: bool = Gen._check_node_unsigned(arg_def[def_idx]) or id(DefVal) in Gen._unsigned_results + if is_unsigned: + DefVal = Gen.builder.zext(DefVal, expected_type, name=f"zext_default_{arg_idx}") + else: + DefVal = Gen.builder.sext(DefVal, expected_type, name=f"sext_default_{arg_idx}") elif DefVal.type.width > expected_type.width: DefVal = Gen.builder.trunc(DefVal, expected_type, name=f"trunc_default_{arg_idx}") CallArgs.append(DefVal) @@ -802,6 +810,21 @@ class AssignHandle(BaseHandle): (isinstance(_ObjPointee, ir.IdentifiedStructType) and isinstance(_TargetStruct, ir.IdentifiedStructType) and (_ObjPointee.name == _TargetStruct.name or Gen._extract_short_name(_ObjPointee.name) == Gen._extract_short_name(_TargetStruct.name))))) + # opaque 泛型结构体 → 特化版本 bitcast + # 当 ObjVal 的 pointee 是 opaque 基础泛型结构体(如 GSList,来自跨模块 stub), + # 而 ClassName 是特化版本(如 GSList[BasicBlock])时,两者 short name 不同 + # (GSList vs GSList[BasicBlock]),_MatchesStruct 失败。 + # 验证特化 short name 以 基础名+'[' 开头,bitcast 到特化版本使后续 GEP 能正确访问字段。 + if (not _MatchesStruct + and isinstance(ObjVal.type, ir.PointerType) + and isinstance(_ObjPointee, ir.IdentifiedStructType) + and isinstance(_TargetStruct, ir.IdentifiedStructType) + and '[' in ClassName): + _BaseShort: str = Gen._extract_short_name(_ObjPointee.name) + _SpecShort: str = Gen._extract_short_name(_TargetStruct.name) + if _BaseShort and _SpecShort.startswith(_BaseShort + '['): + ObjVal = Gen.builder.bitcast(ObjVal, ir.PointerType(_TargetStruct), name=f"cast_spec_{ClassName}") + _MatchesStruct = True if isinstance(ObjVal.type, ir.PointerType) and _MatchesStruct: if IsUnion: NestedStructName: str = f"{ClassName}_{AttrName}" diff --git a/lib/core/Handles/HandlesClassDef.py b/lib/core/Handles/HandlesClassDef.py index 349a67e..9e404e9 100644 --- a/lib/core/Handles/HandlesClassDef.py +++ b/lib/core/Handles/HandlesClassDef.py @@ -220,6 +220,11 @@ class ClassHandle(BaseHandle): Gen.global_vars = saved_global_vars self.Trans.VarScopes = saved_var_scopes Gen._generic_class_specializations[spec_key] = (spec_name, declare_only) + # 缓存 type_args/type_names,供后续 declare_only=False 完整特化补发方法体使用 + # (如 _HandleMethodCallLlvm 中发现方法未定义时触发) + if not hasattr(Gen, '_generic_class_spec_type_info'): + Gen._generic_class_spec_type_info = {} + Gen._generic_class_spec_type_info[spec_key] = (list(type_args), list(type_names) if type_names else None) if not hasattr(self.Trans, '_generic_class_specializations'): self.Trans._generic_class_specializations = {} self.Trans._generic_class_specializations[spec_key] = spec_name @@ -535,33 +540,50 @@ class ClassHandle(BaseHandle): if pm_name in parent_defaults: Gen.class_member_defaults[ClassName][pm_name] = parent_defaults[pm_name] Gen.class_members[ClassName] = inherited + Gen.class_members[ClassName] - if ParentClass in Gen.class_methods: - parent_methods: list = list(Gen.class_methods[ParentClass]) - # 构建子类已有方法映射(方法短名 -> 方法全名) - child_method_map: dict[str, str] = {} - for m in Gen.class_methods[ClassName]: - method_name: str = m.split('.')[-1] if '.' in m else m - child_method_map[method_name] = m - # 父类方法在前(保证 vtable 布局一致性,子类多态分派索引正确), - # 子类新增方法在后。子类覆盖的方法放在父类方法的位置(用子类实现)。 - new_methods: list = [] - covered_names: set[str] = set() - for pm in parent_methods: - method_name: str = pm.split('.')[-1] if '.' in pm else pm - if method_name in child_method_map: - # 子类覆盖了父类方法 — 用子类的实现,放在父类的位置 - new_methods.append(child_method_map[method_name]) - covered_names.add(method_name) - else: - # 父类独有方法 — 子类未覆盖,注册子类包装器 - child_method: str = f"{ClassName}.{method_name}" - new_methods.append(child_method) - Gen.register_method(ClassName, child_method) - # 添加子类新增方法(不在父类中的) - for m in Gen.class_methods[ClassName]: - method_name: str = m.split('.')[-1] if '.' in m else m - if method_name not in covered_names: - new_methods.append(m) + if ParentClass in Gen.class_methods: + parent_methods: list = list(Gen.class_methods[ParentClass]) + # 从 Node.body 收集子类自有方法(此时 Gen.class_methods[ClassName] 可能为空, + # 因为自有方法在 L660-676 才注册。若直接用 Gen.class_methods[ClassName], + # child_method_map 会为空,所有父类方法被当作"未覆盖"添加为包装器, + # 然后 register_method 又把它们追加到 Gen.class_methods[ClassName], + # L566 循环再次添加 → 产生重复条目,vtable 布局与导入模块不一致) + child_method_map: dict[str, str] = {} + child_self_methods_snapshot: list[str] = [] + for _item in Node.body: + if isinstance(_item, ast.FunctionDef): + _mname: str = _item.name + if _mname in ('__new__', '__init__', '__before_init__'): + continue + _item_meta: FuncMeta = self.Trans.FunctionHandler._ExtractFuncMeta(_item.decorator_list) + if FuncMeta.PROPERTY_SETTER in _item_meta: + _full: str = f"{ClassName}.{_mname}$set" + elif FuncMeta.PROPERTY_DELETER in _item_meta: + _full = f"{ClassName}.{_mname}$del" + else: + _full = f"{ClassName}.{_mname}" + _short: str = _mname + child_method_map[_short] = _full + child_self_methods_snapshot.append(_full) + # 父类方法在前(保证 vtable 布局一致性,子类多态分派索引正确), + # 子类新增方法在后。子类覆盖的方法放在父类方法的位置(用子类实现)。 + new_methods: list = [] + covered_names: set[str] = set() + for pm in parent_methods: + method_name: str = pm.split('.')[-1] if '.' in pm else pm + if method_name in child_method_map: + # 子类覆盖了父类方法 — 用子类的实现,放在父类的位置 + new_methods.append(child_method_map[method_name]) + covered_names.add(method_name) + else: + # 父类独有方法 — 子类未覆盖,注册子类包装器 + child_method: str = f"{ClassName}.{method_name}" + new_methods.append(child_method) + Gen.register_method(ClassName, child_method) + # 添加子类新增方法(不在父类中的)— 使用快照避免 register_method 污染 + for m in child_self_methods_snapshot: + method_name: str = m.split('.')[-1] if '.' in m else m + if method_name not in covered_names: + new_methods.append(m) Gen.class_methods[ClassName] = new_methods # 提取首个裸字符串字面量作为结构体 __doc__ docstring if (Node.body and isinstance(Node.body[0], ast.Expr) @@ -609,6 +631,19 @@ class ClassHandle(BaseHandle): if ClassName not in Gen.class_member_element_class: Gen.class_member_element_class[ClassName] = {} Gen.class_member_element_class[ClassName][VarName] = element_class + # 泛型特化结构体指针字段(如 GSList[BasicBlock] | t.CPtr): + # 记录特化名,供后续 _try_access_opaque_generic_member 在所有候选特化版本 + # 都有目标字段(如 Head/Tail/Count)时选择正确特化版本。 + # 现有 i8* 分支不覆盖结构体指针字段,这里补充。 + elif (isinstance(MemberType, ir.PointerType) + and isinstance(MemberType.pointee, ir.IdentifiedStructType) + and isinstance(item.annotation, ast.BinOp) + and isinstance(item.annotation.op, ast.BitOr)): + spec_in_anno: str | None = FindStructNameInAnnotation(item.annotation, Gen.structs) + if spec_in_anno and '[' in spec_in_anno: + if ClassName not in Gen.class_member_element_class: + Gen.class_member_element_class[ClassName] = {} + Gen.class_member_element_class[ClassName][VarName] = spec_in_anno if hasattr(TypeInfo.BaseType, 'IsSigned'): Gen.class_member_signeds[ClassName][VarName] = TypeInfo.BaseType.IsSigned else: diff --git a/lib/core/Handles/HandlesExpr.py b/lib/core/Handles/HandlesExpr.py index 1128d5e..b897fda 100644 --- a/lib/core/Handles/HandlesExpr.py +++ b/lib/core/Handles/HandlesExpr.py @@ -377,6 +377,12 @@ class ExprHandle(BaseHandle): if VarName in Gen.global_struct_class: Gen.var_struct_class[VarName] = Gen.global_struct_class[VarName] return VarPtr + # 防御性恢复:对于 double-pointer(如 ndarray**,pointee 是 PointerType) + # 或其他非结构体类型,若 global_struct_class 已记录该变量的类名, + # 也恢复 var_struct_class。这确保方法调用能查找到正确的特化类 + # (如 ndarray[double]),而非 fallback 到 opaque 基础类型。 + if VarName in Gen.global_struct_class and VarName not in Gen.var_struct_class: + Gen.var_struct_class[VarName] = Gen.global_struct_class[VarName] loaded: ir.Value = Gen._load(VarPtr, name=VarName) # 大端局部变量:读取时 bswap 还原 loaded = Gen._apply_bswap_if_big(loaded, getattr(Gen, 'local_var_byteorders', {}).get(VarName, ""), f"bswap_load_{VarName}") diff --git a/lib/core/Handles/HandlesExprAttr.py b/lib/core/Handles/HandlesExprAttr.py index 90ab2c4..dbfc085 100644 --- a/lib/core/Handles/HandlesExprAttr.py +++ b/lib/core/Handles/HandlesExprAttr.py @@ -87,15 +87,71 @@ class ExprAttrHandle(BaseHandle): return (ST2, CN2) return None - def _try_access_opaque_generic_member(self, Gen: LlvmCodeGenerator, ObjVal: ir.Value, opaque_struct: Any, Node: ast.Attribute, orig_CN: str) -> ir.Value | None: - """通过特化版本访问 opaque 非特化泛型结构体成员。""" - spec_result: Any = self._find_specialized_struct_with_body(Gen, opaque_struct) - if spec_result is None: + def _try_access_opaque_generic_member(self, Gen: LlvmCodeGenerator, ObjVal: ir.Value, opaque_struct: Any, Node: ast.Attribute, orig_CN: str, parent_hint: str | None = None) -> ir.Value | None: + """通过特化版本访问 opaque 非特化泛型结构体成员。 + + 遍历所有候选特化版本(如 GSList[Param]/GSList[NameEntry]), + 优先选择 class_members 中包含 Node.attr 字段的版本, + 避免选到错误特化版本(如 GSList[NameEntry] 而非 GSList[Param]) + 导致 _get_member_offset 返回 None 而生成 ret null。 + + parent_hint: 父上下文提供的特化提示(如 'GSList[BasicBlock]'), + 当所有候选都有目标字段(如 Head/Tail/Count)时, + 用此提示选择正确特化版本。""" + # 收集所有候选特化版本(有 body 的) + candidates: list[tuple[ir.IdentifiedStructType, str]] = [] + if isinstance(opaque_struct, ir.IdentifiedStructType): + base_name: str = opaque_struct.name or "" + short_name: str = base_name.split('.')[-1] if '.' in base_name else base_name + if short_name and '[' not in short_name: + for CN2, ST2 in Gen.structs.items(): + if not isinstance(ST2, ir.IdentifiedStructType): + continue + if ST2 is opaque_struct: + continue + if ST2.elements is None: + continue + st2_short: str = (ST2.name or "").split('.')[-1] if '.' in (ST2.name or "") else (ST2.name or "") + if st2_short.startswith(short_name + '['): + candidates.append((ST2, CN2)) + if not candidates: return None + # 优先级 1: parent_hint 精确匹配(如 'GSList[BasicBlock]') + # 当父对象字段声明记录了特化名时,直接使用,避免 Head/Tail/Count 等公共字段歧义 + if parent_hint: + hint_short: str = parent_hint.split('.')[-1] if '.' in parent_hint else parent_hint + for spec_st, spec_CN in candidates: + spec_short: str = spec_CN.split('.')[-1] if '.' in spec_CN else spec_CN + if spec_short == hint_short: + CastedObj: Any = Gen.builder.bitcast(ObjVal, ir.PointerType(spec_st), name=f"cast_spec_{orig_CN}") + for lookup_CN in (spec_CN, orig_CN): + bitfield_offsets: Any = Gen.class_member_bitoffsets.get(lookup_CN, {}) + if Node.attr in bitfield_offsets: + return self._load_bitfield_member(CastedObj, lookup_CN, Node.attr) + offset: int | None = Gen._get_member_offset(Node.attr, lookup_CN) + if offset is not None: + return self._gep_and_Load_member(Gen, CastedObj, offset, Node.attr, lookup_CN, spec_st) + break + # 优先级 2: class_members 中包含 Node.attr 字段的特化版本 + best_candidate: tuple[ir.IdentifiedStructType, str] | None = None + for spec_st, spec_CN in candidates: + for lookup_CN in (spec_CN, orig_CN): + lookup_short: str = lookup_CN.split('.')[-1] if '.' in lookup_CN else lookup_CN + for chk_CN in (lookup_CN, lookup_short): + if chk_CN in Gen.class_members: + if any(name == Node.attr for name, _ in Gen.class_members[chk_CN]): + best_candidate = (spec_st, spec_CN) + break + if best_candidate: + break + if best_candidate: + break + if best_candidate is None: + best_candidate = candidates[0] spec_st: ir.IdentifiedStructType spec_CN: str - spec_st, spec_CN = spec_result - CastedObj: Any = Gen.builder.bitcast(ObjVal, ir.PointerType(spec_st), name=f"cast_spec_{orig_CN}") + spec_st, spec_CN = best_candidate + CastedObj = Gen.builder.bitcast(ObjVal, ir.PointerType(spec_st), name=f"cast_spec_{orig_CN}") for lookup_CN in (spec_CN, orig_CN): bitfield_offsets: Any = Gen.class_member_bitoffsets.get(lookup_CN, {}) if Node.attr in bitfield_offsets: @@ -467,14 +523,33 @@ class ExprAttrHandle(BaseHandle): ClassName = CN struct_match = self._check_struct_match(Gen, ObjVal, ClassName) # 最终回退:var_struct_class 可能被前一个函数污染(如 cur 在不同函数中 - # 分别是 Line/Param/BasicBlock),通过 ObjVal 的实际 pointee 类型恢复正确类名 + # 分别是 Line/Param/BasicBlock),通过 ObjVal 的实际 pointee 类型恢复正确类名。 + # 但若 var_struct_class 已记录特化名(如 ndarray[double]),且 ObjVal 的 + # pointee 是对应的 opaque 基础类型(如 ndarray),则 bitcast 到特化版本, + # 不覆盖为裸模板名(否则后续方法调用会查找 ndarray.xxx 而非 ndarray[double].xxx) if not struct_match and isinstance(ObjVal.type, ir.PointerType): found: Any = Gen.find_struct_by_pointee(ObjVal.type.pointee) if found: - ClassName = found[0] - struct_match = True - if VarName: - Gen.var_struct_class[VarName] = ClassName + found_name: str = found[0] + # 检查 var_struct_class 是否已记录 found_name 的特化版本 + preserved: bool = False + if VarName and VarName in Gen.var_struct_class: + cur_spec: str = Gen.var_struct_class[VarName] + if ('[' in cur_spec + and cur_spec.split('[')[0] == found_name + and cur_spec in Gen.structs): + # bitcast ObjVal (opaque base*) 到特化类型指针,保留特化名 + ObjVal = Gen.builder.bitcast( + ObjVal, ir.PointerType(Gen.structs[cur_spec]), + name=f"cast_spec_{cur_spec}") + ClassName = cur_spec + struct_match = True + preserved = True + if not preserved: + ClassName = found_name + struct_match = True + if VarName: + Gen.var_struct_class[VarName] = ClassName elif isinstance(ObjVal.type.pointee, ir.IdentifiedStructType): # sha1 冲突 fallback:find_struct_by_pointee 因 sha1 前缀不匹配失败时, # 用短名匹配,优先选字段最多的完整版本 @@ -490,7 +565,17 @@ class ExprAttrHandle(BaseHandle): best_elem_count = elem_count struct_match = True if struct_match and VarName: - Gen.var_struct_class[VarName] = ClassName + # 同样保护特化名:若已记录的特化名的短名基础部分与 ClassName 匹配,保留 + cur_spec2: str = Gen.var_struct_class.get(VarName, '') + if ('[' in cur_spec2 + and cur_spec2.split('[')[0] == ClassName + and cur_spec2 in Gen.structs): + ObjVal = Gen.builder.bitcast( + ObjVal, ir.PointerType(Gen.structs[cur_spec2]), + name=f"cast_spec_{cur_spec2}") + ClassName = cur_spec2 + else: + Gen.var_struct_class[VarName] = ClassName if not struct_match: return None @@ -611,11 +696,23 @@ class ExprAttrHandle(BaseHandle): # 已知结构体类型 → 直接成员访问 if isinstance(pointee, (ir.LiteralStructType, ir.IdentifiedStructType)): + # 提取父上下文特化提示:当 Node.value 是 Attribute(Name, attr) 时, + # 从 var_struct_class 和 class_member_element_class 获取字段声明的特化名。 + # 例如 func.Blocks.Head 中,func 是 Function,Blocks 字段声明为 GSList[BasicBlock], + # 提示为 'GSList[BasicBlock]',避免在所有 GSList[T] 都有 Head 字段时选错特化版本。 + parent_hint: str | None = None + if isinstance(Node.value, ast.Attribute) and isinstance(Node.value.value, ast.Name): + p_var: str = Node.value.value.id + p_attr: str = Node.value.attr + p_CN: str | None = Gen.var_struct_class.get(p_var) + if p_CN: + p_elem_map: Any = Gen.class_member_element_class.get(p_CN, {}) + parent_hint = p_elem_map.get(p_attr) for CN, ST in Gen.structs.items(): if pointee == ST or (isinstance(pointee, ir.IdentifiedStructType) and isinstance(ST, ir.IdentifiedStructType) and pointee.name == ST.name): st, ok = self._try_Load_struct_from_stub(Gen, CN) if not isinstance(st, ir.IdentifiedStructType) or st.elements is None: - spec_val: Any = self._try_access_opaque_generic_member(Gen, ObjVal, st if isinstance(st, ir.IdentifiedStructType) else pointee, Node, CN) + spec_val: Any = self._try_access_opaque_generic_member(Gen, ObjVal, st if isinstance(st, ir.IdentifiedStructType) else pointee, Node, CN, parent_hint) if spec_val is not None: return spec_val break @@ -824,12 +921,16 @@ class ExprAttrHandle(BaseHandle): # 但 HandleExprLlvm 已自动 load 返回 AST*(一级指针), # 需要检查 Gen.variables 中的原始 alloca 类型, # 若是二级指针且存储的是结构体指针,应 bitcast ValueVal 为 AST** 后 GEP 再 load, - # 避免 GEP AST 结构体数组返回错误的 AST*(指向存储位置而非实际对象) + # 避免 GEP AST 结构体数组返回错误的 AST*(指向存储位置而非实际对象)。 + # 仅当 var_ptr_element 标记为 True 时触发(由 AnnAssign 检测 (S|t.CPtr)|t.CPtr 注解设置), + # 防止 pts: Point | t.CPtr(简单结构体指针)错误走二级指针路径。 if (isinstance(Node.value, ast.Name) and isinstance(ValueVal.type, ir.PointerType) and isinstance(ValueVal.type.pointee, (ir.IdentifiedStructType, ir.LiteralStructType))): VarName: str = Node.value.id - if VarName in Gen.variables and Gen.variables[VarName] is not None: + _vpe_load: bool = (getattr(Gen, 'var_ptr_element', {}).get(VarName, False) + or getattr(Gen, 'global_var_ptr_element', {}).get(VarName, False)) + if _vpe_load and VarName in Gen.variables and Gen.variables[VarName] is not None: VarAlloca: ir.Value = Gen.variables[VarName] if (isinstance(VarAlloca.type, ir.PointerType) and isinstance(VarAlloca.type.pointee, ir.PointerType)): diff --git a/lib/core/Handles/HandlesExprCall.py b/lib/core/Handles/HandlesExprCall.py index f3f05ea..e577709 100644 --- a/lib/core/Handles/HandlesExprCall.py +++ b/lib/core/Handles/HandlesExprCall.py @@ -1272,7 +1272,13 @@ class ExprCallHandle(BaseHandle): if expected_type.width < val.type.width: return Gen.builder.trunc(val, expected_type) else: - return Gen.builder.zext(val, expected_type) + if val.type.width == 1: + # i1 是布尔值,无符号语义,必须 zext + return Gen.builder.zext(val, expected_type, name="zext") + is_unsigned: bool = id(val) in Gen._unsigned_results + if is_unsigned: + return Gen.builder.zext(val, expected_type, name="zext") + return Gen.builder.sext(val, expected_type, name="sext") if isinstance(val.type, ir.PointerType) and isinstance(expected_type, ir.IntType): if expected_type.width == 64: return Gen.builder.ptrtoint(val, expected_type) @@ -1625,7 +1631,14 @@ class ExprCallHandle(BaseHandle): return ArgVal if isinstance(TargetType, ir.IntType) and isinstance(ArgVal.type, ir.IntType): if ArgVal.type.width < TargetType.width: - return Gen.builder.zext(ArgVal, TargetType, name=f"zext_{TypedefName}_cast") + if ArgVal.type.width == 1: + # i1 是布尔值,无符号语义,必须 zext + return Gen.builder.zext(ArgVal, TargetType, name=f"zext_{TypedefName}_cast") + # C cast 语义:源有符号 → sext;源无符号 → zext;目标符号性仅影响解释 + is_unsigned: bool = (Node.args and Gen._check_node_unsigned(Node.args[0])) or id(ArgVal) in Gen._unsigned_results + if is_unsigned: + return Gen.builder.zext(ArgVal, TargetType, name=f"zext_{TypedefName}_cast") + return Gen.builder.sext(ArgVal, TargetType, name=f"sext_{TypedefName}_cast") elif ArgVal.type.width > TargetType.width: return Gen.builder.trunc(ArgVal, TargetType, name=f"trunc_{TypedefName}_cast") return ArgVal @@ -1754,7 +1767,15 @@ class ExprCallHandle(BaseHandle): if default_val.type != param_type: if isinstance(param_type, ir.IntType) and isinstance(default_val.type, ir.IntType): if default_val.type.width < param_type.width: - default_val = Gen.builder.zext(default_val, param_type, name=f"zext_default_{i}") + if default_val.type.width == 1: + # i1 是布尔值,无符号语义,必须 zext + default_val = Gen.builder.zext(default_val, param_type, name=f"zext_default_{i}") + else: + is_unsigned: bool = Gen._check_node_unsigned(default_node) or id(default_val) in Gen._unsigned_results + if is_unsigned: + default_val = Gen.builder.zext(default_val, param_type, name=f"zext_default_{i}") + else: + default_val = Gen.builder.sext(default_val, param_type, name=f"sext_default_{i}") elif default_val.type.width > param_type.width: default_val = Gen.builder.trunc(default_val, param_type, name=f"trunc_default_{i}") elif isinstance(param_type, ir.PointerType) and isinstance(default_val.type, ir.IntType): @@ -1823,7 +1844,16 @@ class ExprCallHandle(BaseHandle): elif isinstance(arg.type, ir.PointerType) and isinstance(param_type, ir.IntType): adjusted.append(Gen.builder.ptrtoint(arg, param_type)) elif isinstance(arg.type, ir.IntType) and arg.type.width < param_type.width: - adjusted.append(Gen.builder.zext(arg, param_type)) + if arg.type.width == 1: + # i1 是布尔值,无符号语义,必须 zext + adjusted.append(Gen.builder.zext(arg, param_type, name=f"zext_vararg_fixed_{i}")) + else: + arg_node = Node.args[i] if i < len(Node.args) else None + is_unsigned: bool = (arg_node is not None and Gen._check_node_unsigned(arg_node)) or id(arg) in Gen._unsigned_results + if is_unsigned: + adjusted.append(Gen.builder.zext(arg, param_type, name=f"zext_vararg_fixed_{i}")) + else: + adjusted.append(Gen.builder.sext(arg, param_type, name=f"sext_vararg_fixed_{i}")) elif isinstance(arg.type, ir.PointerType) and isinstance(param_type, ir.PointerType): adjusted.append(Gen.builder.bitcast(arg, param_type, name=f"cast_arg_{i}")) else: @@ -1994,6 +2024,23 @@ class ExprCallHandle(BaseHandle): else: # 跨模块基类 — 查找基类的 sha1 base_sha1 = struct_sha1_map.get(base_name) + # 回退:若 _struct_sha1_map 未命中(普通类导入时不填充), + # 扫描 temp/ 下所有 .pyi 查找包含该基类定义的文件 + if base_sha1 is None: + temp_dir = os.path.join(project_root, 'temp') + try: + pyi_files = os.listdir(temp_dir) + except OSError: + pyi_files = [] + for pyi_file in pyi_files: + if not pyi_file.endswith('.pyi'): + continue + candidate_sha1 = pyi_file[:-4] + candidate_map = load_pyi(candidate_sha1) + if candidate_map and base_name in candidate_map: + base_sha1 = candidate_sha1 + struct_sha1_map[base_name] = base_sha1 + break if base_sha1: base_methods, base_cvtable, base_novtable, _ = collect_class_methods(base_name, base_sha1, visited) if base_novtable: @@ -2049,6 +2096,63 @@ class ExprCallHandle(BaseHandle): except Exception: pass + def _try_complete_generic_specialization(self, ClassName: str, MethodName: str, Gen: LlvmGeneratorMixin) -> None: + """泛型特化类方法按需完整特化。 + + 当 ClassName 是泛型特化名(如 ndarray[double])且缓存中只有 + declare_only 版本时,补发方法体。这样方法调用能找到 define, + 避免链接时 undefined reference。 + + 触发场景:numpy 模块内部函数(如 np_sum)调用 a.sum(), + 其中 a 的类型注解 ndarray[t.CDouble] | t.CPtr 在类型解析时 + 只触发了 declare_only=True 特化(创建 struct + __before_init__), + 方法体(fill/delete/dot/sum/...)未被编译。 + """ + # 仅对特化名(含 '[' 且以 ']' 结尾)触发 + if '[' not in ClassName or not ClassName.endswith(']'): + return + # 反推模板类名(如 ndarray[double] → ndarray) + base_name: str = ClassName.split('[')[0] + # 检查是否是已注册的泛型模板 + if not (hasattr(self.Trans.ClassHandler, '_generic_class_templates') and base_name in self.Trans.ClassHandler._generic_class_templates): + return + # 构造 spec_key(与 _specialize_generic_class 一致:ClassName) + spec_key: str = base_name + '<' + ','.join(ClassName[len(base_name) + 1:-1].split('][')) + '>' + spec_cache = getattr(Gen, '_generic_class_specializations', {}) + cached = spec_cache.get(spec_key) + if not isinstance(cached, tuple) or len(cached) < 2: + return + cached_name: str = cached[0] + was_declare_only: bool = cached[1] + # 仅当缓存是 declare_only 版本时才需要补发 + if not was_declare_only: + return + # 检查方法是否已有 define(blocks 非空表示已编译方法体) + struct_sha1_map = getattr(Gen, '_struct_sha1_map', {}) + class_sha1 = struct_sha1_map.get(cached_name) + full_method_name: str = f'{class_sha1}.{cached_name}.{MethodName}' if class_sha1 else f'{cached_name}.{MethodName}' + existing_func = Gen._find_function(full_method_name) + if existing_func is not None: + existing_blocks = getattr(existing_func, 'blocks', []) + if existing_blocks: + return # 方法体已编译 + # 从缓存获取 type_args/type_names + type_info = getattr(Gen, '_generic_class_spec_type_info', {}).get(spec_key) + if type_info is None: + return + cached_type_args, cached_type_names = type_info + # 不预先标记:_specialize_generic_class 内部缓存逻辑会检测 + # cached_declare_only=True 且 declare_only=False,自动补发方法体 + # 并更新缓存为 (spec_name, False)。预注册机制(L117)防止递归。 + try: + self.Trans.ClassHandler._specialize_generic_class( + base_name, cached_type_args, Gen, + type_names=cached_type_names, declare_only=False + ) + except Exception: + # 失败时恢复 declare_only 标记,避免后续调用跳过补发 + Gen._generic_class_specializations[spec_key] = (cached_name, True) + def _HandleMethodCallLlvm(self, Node: ast.Call) -> ir.Value: Gen = self.Trans.LlvmGen MethodName = Node.func.attr @@ -2425,6 +2529,25 @@ class ExprCallHandle(BaseHandle): break if not ClassName: return ir.Constant(ir.IntType(32), 0) + # 泛型特化 fallback:当 ClassName 是 opaque 基础名(如 'ndarray',不含 '[') + # 且注解未指定类型参数时,遍历 Gen.structs 查找以 'ClassName[' 开头的特化版本 + # (如 'ndarray[double]'),优先选有对应方法的特化。这样方法调用能正确分派到 + # 特化版本的方法(如 ndarray[double].delete),而非查找 opaque stub declare。 + if '[' not in ClassName: + SpecClass: str | None = None + for CN in Gen.structs.keys(): + if not CN.startswith(f'{ClassName}['): + continue + struct_sha1_tmp = getattr(Gen, '_struct_sha1_map', {}).get(CN) + if struct_sha1_tmp: + if Gen._has_function(f'{struct_sha1_tmp}.{CN}.{MethodName}'): + SpecClass = CN + break + if Gen._has_function(f'{CN}.{MethodName}'): + SpecClass = CN + break + if SpecClass: + ClassName = SpecClass struct_sha1_map = getattr(Gen, '_struct_sha1_map', {}) class_sha1 = struct_sha1_map.get(ClassName) if class_sha1: @@ -2432,6 +2555,11 @@ class ExprCallHandle(BaseHandle): else: FullMethodName = f'{ClassName}.{MethodName}' + # 泛型特化类方法按需完整特化:当 ClassName 是特化名(如 ndarray[double]) + # 且缓存中只有 declare_only 版本时,补发方法体。否则方法调用会查找 + # stub declare(无 define),链接时报 undefined reference。 + self._try_complete_generic_specialization(ClassName, MethodName, Gen) + # 提前查找函数以获取参数信息 func_for_kw = Gen._find_function(FullMethodName) if not func_for_kw: @@ -2505,6 +2633,22 @@ class ExprCallHandle(BaseHandle): if func: break p = Gen.class_parent.get(p) + # 修复:vtable 分派需要 func 的函数类型。当 func=None 时(如 __new__ + # 编译较早,MemManager.alloc 的 declare 尚未加入 Gen.functions), + # 从 stub 获取函数类型并创建 declare,确保 vtable 分派不被跳过 + # 回退到直接调用(直接调用基类 MemManager.alloc 返回 NULL → 段错误)。 + if not func and class_sha1: + stub_func_type = self.Trans.ImportHandler._LookupStubFuncType(FullMethodName, Gen) + if stub_func_type: + func = self.GetOrCreateStubFuncDecl(FullMethodName, stub_func_type, Gen) + if not func and class_sha1: + plain_name = f'{ClassName}.{MethodName}' + stub_func_type = self.Trans.ImportHandler._LookupStubFuncType(plain_name, Gen) + if stub_func_type: + func = self.GetOrCreateStubFuncDecl(FullMethodName, stub_func_type, Gen) + if not func: + plain_name = f'{ClassName}.{MethodName}' + func = Gen._find_function(plain_name) if func: VtableSlotPtr = Gen.builder.gep(ObjVal, [ir.Constant(ir.IntType(32), 0), ir.Constant(ir.IntType(32), 0)], name=f"vtable_slot_{ClassName}") VtablePtr = Gen._load(VtableSlotPtr, name=f"vtable_ptr_{ClassName}") @@ -2790,8 +2934,18 @@ class ExprCallHandle(BaseHandle): return (ts, tn) # BinOp (如 AST | CPtr) 或 Attribute (如 t.CPtr / t.CInt) type_str: str = self._resolve_type_arg_str(sn) - # type_name 取原始名称(不带模块前缀),用于 T 替换 - raw_name: str = self._get_raw_type_name(sn) + # type_name 保留模块前缀(如 't.CUnsignedChar'),避免 T(0) 替换为 + # CUnsignedChar(0) 后因 CUnsignedChar 不在顶层作用域而报 + # "Undefined function: 'CUnsignedChar'"。 + # t.CPtr 特殊处理:保留 'CPtr' 不带前缀,因为 cptr_params 检测依赖 + # _BUILTIN_TYPE_NAMES 中的 'CPtr' 来识别指针类型参数 + if isinstance(sn, ast.Attribute) and isinstance(sn.value, ast.Name): + if sn.attr == 'CPtr': + raw_name: str = 'CPtr' + else: + raw_name: str = f'{sn.value.id}.{sn.attr}' + else: + raw_name: str = self._get_raw_type_name(sn) return (type_str, raw_name) def _ResolveGenericSlice(self, Sub: ast.Subscript) -> str | None: @@ -2823,7 +2977,13 @@ class ExprCallHandle(BaseHandle): while len(type_args) < len(type_param_names): type_args.append('int') type_names.append('CInt') - return self.Trans.ClassHandler._specialize_generic_class(ClassName, type_args, Gen, type_names=type_names) + # 类型注解解析(如 Float64Array: t.CTypedef = ndarray[t.CDouble]) + # 只需 struct 定义,不需方法体;使用 declare_only=True 避免过早触发 + # 完整特化(此时被引用的函数如 printf 可能尚未由 from X import Y 注册, + # 导致 "Undefined function" 错误)。完整特化由后续类实例化 + # (_HandleClassNewLlvm → _specialize_generic_class(declare_only=False)) + # 触发,缓存机制会补发方法体。 + return self.Trans.ClassHandler._specialize_generic_class(ClassName, type_args, Gen, type_names=type_names, declare_only=True) @staticmethod def _AnnotationContainsCPtr(Node: ast.AST) -> bool: diff --git a/lib/core/Handles/HandlesExprUtils.py b/lib/core/Handles/HandlesExprUtils.py index 29c555f..de3deb8 100644 --- a/lib/core/Handles/HandlesExprUtils.py +++ b/lib/core/Handles/HandlesExprUtils.py @@ -71,6 +71,25 @@ class ExprUtils: FullMethodName: str = f'{ClassName}.{op_name}' if not Gen._has_function(FullMethodName): FullMethodName = f'{ClassName}.{op_name}__' + if not Gen._has_function(FullMethodName): + # 泛型特化 fallback:当 ClassName 是 opaque 基础名(如 'ndarray')且 + # 无直接匹配方法时,遍历 Gen.structs 查找以 'ClassName[' 开头的特化版本 + # (如 'ndarray[double]')。注解 'numpy.ndarray | t.CPtr' 未指定类型参数时, + # var_struct_class 仅记录裸模板名,但方法只在特化版本中定义。 + # 选择策略:优先选 obj_val.type.pointee 实际匹配的特化;否则选第一个有方法的特化。 + if '[' not in ClassName: + SpecClass: str | None = None + for CN in Gen.structs.keys(): + if CN.startswith(f'{ClassName}[') and Gen._has_function(f'{CN}.{op_name}'): + SpecClass = CN + break + if CN.startswith(f'{ClassName}[') and Gen._has_function(f'{CN}.{op_name}__'): + SpecClass = CN + break + if SpecClass: + FullMethodName = f'{SpecClass}.{op_name}' + if not Gen._has_function(FullMethodName): + FullMethodName = f'{SpecClass}.{op_name}__' if Gen._has_function(FullMethodName): func: Any = Gen._get_function(FullMethodName) call_args: list[Any] = [obj_val] diff --git a/lib/core/Handles/HandlesFunctions.py b/lib/core/Handles/HandlesFunctions.py index 154e15e..e550683 100644 --- a/lib/core/Handles/HandlesFunctions.py +++ b/lib/core/Handles/HandlesFunctions.py @@ -860,7 +860,10 @@ class FunctionHandle(BaseHandle): if isinstance(node, ast.Call): if isinstance(node.func, ast.Name) and node.func.id in type_map: replacement: str = type_map[node.func.id] - node.func = ast.Name(id=replacement, ctx=ast.Load()) + # 使用 _make_replacement_node 处理含点号的类型名(如 't.CUnsignedChar'), + # 避免 T(0) 替换为 CUnsignedChar(0) 后因 CUnsignedChar 不在顶层作用域 + # 而报 "Undefined function: 'CUnsignedChar'" + node.func = self._make_replacement_node(replacement) elif isinstance(node.func, ast.Attribute): if isinstance(node.func.value, ast.Name) and node.func.value.id in type_map: replacement: str = type_map[node.func.value.id] @@ -874,7 +877,7 @@ class FunctionHandle(BaseHandle): right=ast.Attribute(value=ast.Name(id='t', ctx=ast.Load()), attr='CPtr', ctx=ast.Load()) ) else: - node.func.value = ast.Name(id=replacement, ctx=ast.Load()) + node.func.value = self._make_name_node(replacement) else: self._apply_type_map_to_expr(node.func.value, type_map, cptr_params) for arg in node.args: @@ -1630,6 +1633,14 @@ class FunctionHandle(BaseHandle): saved_var_to_heap_ptr = dict(Gen._var_to_heap_ptr) Gen._local_heap_ptrs = [] Gen._var_to_heap_ptr = {} + # 治本修复:保存 var_struct_class / global_struct_class。 + # 当方法调用(如 a.delete())触发 _try_complete_generic_specialization 时, + # 该路径走 _EmitFunctionLlvm 编译方法体,函数结尾会清空 var_struct_class。 + # 若不保存/恢复,外层函数中已设置的 var_struct_class(如 b='ndarray[double]') + # 会被清空,导致后续方法调用 fallback 匹配 opaque 基础类型(如 ndarray), + # 生成对 stub declare(无方法体)的调用 → 链接报 undefined reference。 + saved_var_struct_class = dict(Gen.var_struct_class) if Gen.var_struct_class else {} + saved_global_struct_class = dict(Gen.global_struct_class) if getattr(Gen, 'global_struct_class', None) else {} # 函数内部定义的变量会在赋值时添加到 var_type_info 中 # 这样函数内部定义的元类型变量(如 a = t.CInt32T)就能被正确处理 for stmt in Node.body: @@ -1671,6 +1682,13 @@ class FunctionHandle(BaseHandle): if arg.annotation and isinstance(arg.annotation, ast.BinOp) and isinstance(arg.annotation.op, ast.BitOr): param_name: str = ParamNames[i] if i < len(ParamNames) else arg.arg if param_name in Gen.variables: + # 若 L1650-1657 已根据 param.type.pointee 匹配到正确的特化名 + # (如 ndarray[double]),不覆盖:FindStructNameInAnnotation 对 + # 泛型注解 ndarray[t.CDouble] 会构造 ndarray[CDouble](与实际 + # ndarray[double] 不匹配),回退到裸模板类名 ndarray(opaque), + # 导致方法调用查找 ndarray.sum 而非 ndarray[double].sum。 + if param_name in Gen.var_struct_class: + continue found_struct: str | None = FindStructNameInAnnotation(arg.annotation, Gen.structs) if found_struct: Gen.var_struct_class[param_name] = found_struct @@ -1831,6 +1849,11 @@ class FunctionHandle(BaseHandle): # 恢复外层作用域的 _local_heap_ptrs / _var_to_heap_ptr Gen._local_heap_ptrs = saved_local_heap_ptrs Gen._var_to_heap_ptr = saved_var_to_heap_ptr + # 恢复外层作用域的 var_struct_class / global_struct_class + # (内层方法体编译不应污染外层函数的变量-类型映射) + Gen.var_struct_class = saved_var_struct_class + if hasattr(Gen, 'global_struct_class'): + Gen.global_struct_class = saved_global_struct_class Gen._variadic_info = None self.Trans._CurrentCpythonObjectClass = saved_cpython_class self.Trans.CurrentCReturnTypes = None diff --git a/lib/core/Handles/HandlesReturn.py b/lib/core/Handles/HandlesReturn.py index be02744..ac57dac 100644 --- a/lib/core/Handles/HandlesReturn.py +++ b/lib/core/Handles/HandlesReturn.py @@ -45,7 +45,15 @@ class ReturnHandle(BaseHandle): if Val.type != ExpectedType: if isinstance(ExpectedType, ir.IntType) and isinstance(Val.type, ir.IntType): if Val.type.width < ExpectedType.width: - Val = Gen.builder.zext(Val, ExpectedType, name=f"zext_ret_{i}") + if Val.type.width == 1: + # i1 是布尔值,无符号语义,必须 zext + Val = Gen.builder.zext(Val, ExpectedType, name=f"zext_ret_{i}") + else: + is_unsigned: bool = Gen._check_node_unsigned(val) or id(Val) in Gen._unsigned_results + if is_unsigned: + Val = Gen.builder.zext(Val, ExpectedType, name=f"zext_ret_{i}") + else: + Val = Gen.builder.sext(Val, ExpectedType, name=f"sext_ret_{i}") elif Val.type.width > ExpectedType.width: Val = Gen.builder.trunc(Val, ExpectedType, name=f"trunc_ret_{i}") elif isinstance(ExpectedType, ir.PointerType) and isinstance(Val.type, ir.PointerType): @@ -107,7 +115,15 @@ class ReturnHandle(BaseHandle): result = Gen.builder.insert_value(result, Val, j, name=f"ret_field_{j}") elif isinstance(elem_type, ir.IntType) and isinstance(Val.type, ir.IntType): if Val.type.width < elem_type.width: - Val = Gen.builder.zext(Val, elem_type, name=f"zext_ret_{j}") + if Val.type.width == 1: + # i1 是布尔值,无符号语义,必须 zext + Val = Gen.builder.zext(Val, elem_type, name=f"zext_ret_{j}") + else: + is_unsigned: bool = (Node.value is not None and Gen._check_node_unsigned(Node.value)) or id(Val) in Gen._unsigned_results + if is_unsigned: + Val = Gen.builder.zext(Val, elem_type, name=f"zext_ret_{j}") + else: + Val = Gen.builder.sext(Val, elem_type, name=f"sext_ret_{j}") elif Val.type.width > elem_type.width: Val = Gen.builder.trunc(Val, elem_type, name=f"trunc_ret_{j}") result = Gen.builder.insert_value(result, Val, j, name=f"ret_field_{j}") diff --git a/lib/core/SymbolUtils.py b/lib/core/SymbolUtils.py index 5022d04..8aadd76 100644 --- a/lib/core/SymbolUtils.py +++ b/lib/core/SymbolUtils.py @@ -204,3 +204,11 @@ def AnnotationContainsName(annotation: ast.AST, name: str) -> bool: if isinstance(annotation, ast.BinOp) and isinstance(annotation.op, ast.BitOr): return AnnotationContainsName(annotation.left, name) or AnnotationContainsName(annotation.right, name) return False + + +def IsCPtrNode(node: ast.AST) -> bool: + """检查节点是否为 t.CPtr 属性引用。""" + return (isinstance(node, ast.Attribute) + and isinstance(node.value, ast.Name) + and node.value.id == 't' + and node.attr == 'CPtr') diff --git a/regression_log.txt b/regression_log.txt new file mode 100644 index 0000000..5838da2 --- /dev/null +++ b/regression_log.txt @@ -0,0 +1 @@ +====================================================================== diff --git a/test.py b/test.py new file mode 100644 index 0000000..4889b2e --- /dev/null +++ b/test.py @@ -0,0 +1 @@ +import tkinter \ No newline at end of file diff --git a/thistest/App/benchmark_main.py b/thistest/App/main.py similarity index 91% rename from thistest/App/benchmark_main.py rename to thistest/App/main.py index 4576fa8..0bf986d 100644 --- a/thistest/App/benchmark_main.py +++ b/thistest/App/main.py @@ -9,7 +9,7 @@ import t, c pagecode: t.CDefine = 65001 -def add(x: int, y: int): return x + y +def add(x: int, y: int): return x + y def minus(x: int, y: int): return x - y @t.CExport @@ -48,6 +48,4 @@ def main() -> int: #lower_est -= 1 #print(lower_est) - pass - return 0 diff --git a/thistest/output/6166aecc7fa7ad65.deps.json b/thistest/output/6166aecc7fa7ad65.deps.json index af7e25e..4514431 100644 --- a/thistest/output/6166aecc7fa7ad65.deps.json +++ b/thistest/output/6166aecc7fa7ad65.deps.json @@ -1 +1 @@ -{"atom": "271ea3decb810db2", "viperstring": "3624cfde3c5cb6cb", "hello": "6166aecc7fa7ad65", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "benchmark_main": "8c37156d7b67c1f5", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "this": "a7bc8c01684c0001", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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 +{"atom": "271ea3decb810db2", "viperstring": "3624cfde3c5cb6cb", "memhub": "47775d5e50909338", "hello": "6166aecc7fa7ad65", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "main": "92e17df16c98b2b5", "string": "9474791561654346", "this": "a7bc8c01684c0001", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/thistest/output/8c37156d7b67c1f5.deps.json b/thistest/output/8c37156d7b67c1f5.deps.json deleted file mode 100644 index b233fb4..0000000 --- a/thistest/output/8c37156d7b67c1f5.deps.json +++ /dev/null @@ -1 +0,0 @@ -{"atom": "271ea3decb810db2", "viperstring": "3624cfde3c5cb6cb", "hello": "6166aecc7fa7ad65", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "this": "a7bc8c01684c0001", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "viperstring.string": "9474791561654346"} \ No newline at end of file diff --git a/thistest/output/92e17df16c98b2b5.deps.json b/thistest/output/92e17df16c98b2b5.deps.json new file mode 100644 index 0000000..d35aafe --- /dev/null +++ b/thistest/output/92e17df16c98b2b5.deps.json @@ -0,0 +1 @@ +{"atom": "271ea3decb810db2", "viperstring": "3624cfde3c5cb6cb", "memhub": "47775d5e50909338", "hello": "6166aecc7fa7ad65", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "this": "a7bc8c01684c0001", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "viperstring.string": "9474791561654346"} \ No newline at end of file diff --git a/thistest/output/_shared_sym_includes.pickle b/thistest/output/_shared_sym_includes.pickle index 6646a1d58b2f747a54b9af8373842d127c7378e1..1642b0a40a3f2f04ac1ccfc5c88dcbdde0eec8ff 100644 GIT binary patch literal 619292 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 literal 582206 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

gyeYt%R;L}!jvKc4d4m+Pjt7k=LgtkE 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 Zu(a~TP#7H^8(p3)&co}?Vm`Lx{{dH!PsRWM diff --git a/thistest/output/a7bc8c01684c0001.deps.json b/thistest/output/a7bc8c01684c0001.deps.json index af7e25e..4514431 100644 --- a/thistest/output/a7bc8c01684c0001.deps.json +++ b/thistest/output/a7bc8c01684c0001.deps.json @@ -1 +1 @@ -{"atom": "271ea3decb810db2", "viperstring": "3624cfde3c5cb6cb", "hello": "6166aecc7fa7ad65", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "benchmark_main": "8c37156d7b67c1f5", "stdlib": "90c53dd6db8d41cf", "string": "9474791561654346", "this": "a7bc8c01684c0001", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "memhub": "f3560b99de458aec", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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 +{"atom": "271ea3decb810db2", "viperstring": "3624cfde3c5cb6cb", "memhub": "47775d5e50909338", "hello": "6166aecc7fa7ad65", "stdio": "6f62fe05c5ea1ceb", "w32.win32base": "7e529fe7a078cfef", "win32base": "7e529fe7a078cfef", "stdlib": "90c53dd6db8d41cf", "main": "92e17df16c98b2b5", "string": "9474791561654346", "this": "a7bc8c01684c0001", "w32.win32console": "bbdf3bbd4c3bc28c", "win32console": "bbdf3bbd4c3bc28c", "viperio": "c9f4be41ca1cc2b4", "stdint": "f5522571bcce7bcb", "w32.win32file": "f6b51804a0ba8ff0", "win32file": "f6b51804a0ba8ff0", "w32.fileio": "0035c95a18d4f8e8", "fileio": "0035c95a18d4f8e8", "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/thistest/temp/47775d5e50909338.pyi b/thistest/temp/47775d5e50909338.pyi new file mode 100644 index 0000000..0c5f2cf --- /dev/null +++ b/thistest/temp/47775d5e50909338.pyi @@ -0,0 +1,88 @@ +""" +Auto-generated Python stub file from memhub.py +Module: memhub +""" + + +import t, c +from stdint import * +import string +import atom +import viperio +import stdio + +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] = ['__memmgr__'] + base: t.CVoid | t.CPtr + size: t.CSizeT + def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemManager) -> t.CInt: pass + def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass + def __exit__(self: MemManager) -> t.CInt: pass + def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass +class MemPool(MemManager): + offset: t.CSizeT + high_water: t.CSizeT + def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass + def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemSlab) -> t.CInt: pass +class MemBuddy(MemManager): + __provides__: list[str] = ['__mbuddy__', '__memmgr__'] + 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass + def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass + def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass + def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass + def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass + def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass + def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass + def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def _lock(self: MemBuddy) -> t.CInt: pass + def _unlock(self: MemBuddy) -> t.CInt: pass + def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass + def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass + def reset(self: MemBuddy) -> t.CInt: pass + def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass + @property + def mem_size(self: MemBuddy) -> t.CSizeT: pass + def stats(self: MemBuddy) -> t.CSizeT: pass + def free_count(self: MemBuddy) -> t.CSizeT: pass + def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file diff --git a/thistest/temp/8c37156d7b67c1f5.doc.json b/thistest/temp/8c37156d7b67c1f5.doc.json deleted file mode 100644 index 9e26dfe..0000000 --- a/thistest/temp/8c37156d7b67c1f5.doc.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/Test/SimdTest/temp/2fcb6780db4d937f.doc.json b/thistest/temp/92e17df16c98b2b5.doc.json similarity index 100% rename from Test/SimdTest/temp/2fcb6780db4d937f.doc.json rename to thistest/temp/92e17df16c98b2b5.doc.json diff --git a/thistest/temp/8c37156d7b67c1f5.pyi b/thistest/temp/92e17df16c98b2b5.pyi similarity index 79% rename from thistest/temp/8c37156d7b67c1f5.pyi rename to thistest/temp/92e17df16c98b2b5.pyi index 7aef927..3f5c0fd 100644 --- a/thistest/temp/8c37156d7b67c1f5.pyi +++ b/thistest/temp/92e17df16c98b2b5.pyi @@ -1,6 +1,6 @@ """ -Auto-generated Python stub file from benchmark_main.py -Module: benchmark_main +Auto-generated Python stub file from main.py +Module: main """ diff --git a/thistest/temp/_phase1_manifest.json b/thistest/temp/_phase1_manifest.json index 9594612..e82ef48 100644 --- a/thistest/temp/_phase1_manifest.json +++ b/thistest/temp/_phase1_manifest.json @@ -1 +1 @@ -{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\thistest\\App\\benchmark_main.py": {"sha1": "8c37156d7b67c1f5", "mtime": 1784430860.3193777, "size": 1144}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hello.py": {"sha1": "6166aecc7fa7ad65", "mtime": 1784387694.4150121, "size": 72}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "f3560b99de458aec", "mtime": 1784375410.1873891, "size": 19458}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1783874975.3597875, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\this.py": {"sha1": "a7bc8c01684c0001", "mtime": 1784109007.4091208, "size": 1345}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperstring.py": {"sha1": "3624cfde3c5cb6cb", "mtime": 1778930749.052393, "size": 23}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file +{"D:\\Users\\TermiNexus\\Desktop\\TransPyC\\thistest\\App\\main.py": {"sha1": "92e17df16c98b2b5", "mtime": 1784517002.6633048, "size": 1149}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\atom.py": {"sha1": "271ea3decb810db2", "mtime": 1782226548.693161, "size": 1290}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\hello.py": {"sha1": "6166aecc7fa7ad65", "mtime": 1784387694.4150121, "size": 72}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\memhub.py": {"sha1": "47775d5e50909338", "mtime": 1784464283.860502, "size": 19750}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdint.py": {"sha1": "f5522571bcce7bcb", "mtime": 1782383975.8824987, "size": 4356}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdio.py": {"sha1": "6f62fe05c5ea1ceb", "mtime": 1783239556.0959673, "size": 714}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\stdlib.py": {"sha1": "90c53dd6db8d41cf", "mtime": 1784464295.903657, "size": 375}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\string.py": {"sha1": "9474791561654346", "mtime": 1784387475.6951904, "size": 10395}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\this.py": {"sha1": "a7bc8c01684c0001", "mtime": 1784109007.4091208, "size": 1345}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperio.py": {"sha1": "c9f4be41ca1cc2b4", "mtime": 1782812279.506002, "size": 1556}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\viperstring.py": {"sha1": "3624cfde3c5cb6cb", "mtime": 1778930749.052393, "size": 23}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32base.py": {"sha1": "7e529fe7a078cfef", "mtime": 1782488356.7736557, "size": 2662}, "D:\\Users\\TermiNexus\\Desktop\\TransPyC\\includes\\w32\\win32console.py": {"sha1": "bbdf3bbd4c3bc28c", "mtime": 1781200703.5338137, "size": 5604}} \ No newline at end of file diff --git a/thistest/temp/_sha1_map.txt b/thistest/temp/_sha1_map.txt index eba7030..d95941c 100644 --- a/thistest/temp/_sha1_map.txt +++ b/thistest/temp/_sha1_map.txt @@ -1,13 +1,13 @@ 271ea3decb810db2:includes/atom.py 3624cfde3c5cb6cb:includes/viperstring.py +47775d5e50909338:includes/memhub.py 6166aecc7fa7ad65:includes/hello.py 6f62fe05c5ea1ceb:includes/stdio.py 7e529fe7a078cfef:includes/w32\win32base.py -8c37156d7b67c1f5:benchmark_main.py 90c53dd6db8d41cf:includes/stdlib.py +92e17df16c98b2b5:main.py 9474791561654346:includes/string.py a7bc8c01684c0001:includes/this.py bbdf3bbd4c3bc28c:includes/w32\win32console.py c9f4be41ca1cc2b4:includes/viperio.py -f3560b99de458aec:includes/memhub.py f5522571bcce7bcb:includes/stdint.py diff --git a/thistest/temp/f3560b99de458aec.pyi b/thistest/temp/f3560b99de458aec.pyi deleted file mode 100644 index 84f0bbf..0000000 --- a/thistest/temp/f3560b99de458aec.pyi +++ /dev/null @@ -1,86 +0,0 @@ -""" -Auto-generated Python stub file from memhub.py -Module: memhub -""" - - -import t, c -from stdint import * -import string -import atom -import viperio - -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] = ['__memmgr__'] - base: t.CVoid | t.CPtr - size: t.CSizeT - def __init__(self: MemManager, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemManager, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemManager, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemManager) -> t.CInt: pass - def calloc(self: MemManager, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def realloc(self: MemManager, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def __enter__(self: MemManager) -> 'MemManager' | t.CPtr: pass - def __exit__(self: MemManager) -> t.CInt: pass - def alloc_buf(self: MemManager, capacity: t.CSizeT) -> viperio.Buf | t.CPtr: pass -class MemPool(MemManager): - offset: t.CSizeT - high_water: t.CSizeT - def __init__(self: MemPool, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemPool, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemPool, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemPool) -> 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: MemSlab, base: t.CVoid | t.CPtr, size: t.CSizeT, block_size: t.CSizeT) -> t.CInt: pass - def alloc(self: MemSlab, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemSlab, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemSlab) -> t.CInt: pass -class MemBuddy(MemManager): - 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: MemBuddy, base: t.CVoid | t.CPtr, size: t.CSizeT) -> t.CInt: pass - def _fl_push(self: MemBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass - def _fl_pop(self: MemBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _fl_find_and_remove(self: MemBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass - def _buddy_of(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass - def _order_for_size(self: MemBuddy, size: t.CSizeT) -> t.CInt: pass - def _split_to_order(self: MemBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass - def _coalesce(self: MemBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass - def _is_valid_ptr(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def _lock(self: MemBuddy) -> t.CInt: pass - def _unlock(self: MemBuddy) -> t.CInt: pass - def alloc(self: MemBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass - def free(self: MemBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass - def reset(self: MemBuddy) -> t.CInt: pass - def realloc(self: MemBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass - @property - def mem_size(self: MemBuddy) -> t.CSizeT: pass - def stats(self: MemBuddy) -> t.CSizeT: pass - def free_count(self: MemBuddy) -> t.CSizeT: pass - def self_check(self: MemBuddy) -> t.CInt: pass \ No newline at end of file

6c(wW%#L6r<+V|ns`n!k~s{5aR!7XAC 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 literal 2245844 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