Commit Graph

  • 0c9fbd9caf Issue-165 Added support for f-strings (literal string interpolation https://www.python.org/dev/peps/pep-0498/) Aralox 2020-10-17 20:52:57 +11:00
  • 9407b29451 Merge pull request #175 from dotjrich/issue-136 Michael Hansen 2020-10-15 19:19:55 -07:00
  • ed11ba3fe4 Refactors how we handle NaN and infinity John Richards 2020-10-15 21:35:19 -04:00
  • 870ecdc430 Handle NaN and infinity values John Richards 2020-10-15 20:57:56 -04:00
  • 36d93bd1a5 Add support for Python 3.9 in pymultic. Michael Hansen 2020-10-12 16:52:38 -07:00
  • 8460d119fd Add bytecode support for Python 3.9 rc2 Michael Hansen 2020-09-29 09:28:15 -07:00
  • 045b624f55 Merge pull request #171 from Almamu/fix-empty-stack-history Michael Hansen 2020-02-10 07:53:56 -08:00
  • e20e3b2f9f Merge pull request #170 from Almamu/fix-stringrefs-length0 Michael Hansen 2020-02-10 07:51:02 -08:00
  • eae19d7a81 Fixed crash on stack_history being empty Alexis Maiquez Murcia 2020-02-10 11:02:26 +01:00
  • 5437c3294f Fixed a crash when a Stringref was an empty string (length 0) Alexis Maiquez Murcia 2020-02-10 10:40:17 +01:00
  • 3d3719f844 GH Actions apparently use PowerShell by default now -- fix syntax error. Michael Hansen 2020-01-03 14:38:36 -08:00
  • 937520abcc Update pymultic python versions Michael Hansen 2020-01-03 12:16:39 -08:00
  • 428d11c4b5 Add bytecode and disassembly support for Python 3.8. Michael Hansen 2019-02-08 16:06:55 -08:00
  • de78e1b882 Unmangle private names ('__' prefix) in class declarations. Michael Hansen 2019-10-10 14:47:48 -07:00
  • 375b8b0c68 Fix non-inplace matrix multiplication operator. Michael Hansen 2019-10-10 11:47:48 -07:00
  • de3f7982c3 Support 'yield from' (Python 3.3) and await (Python 3.5) expressions. Michael Hansen 2019-10-10 10:59:10 -07:00
  • 881a200ab0 Change handling of POP_TOP to explicitly mark already-processed nodes. Michael Hansen 2019-10-10 10:55:28 -07:00
  • 13397c940e Don't emit statements for null values on the stack. Michael Hansen 2019-10-10 10:26:19 -07:00
  • c71d41efb6 Add MSVC-based CI build Michael Hansen 2019-10-09 16:54:42 -07:00
  • 96b5dd1d02 Modernize and simplify FastStack with a vector. Michael Hansen 2019-10-09 15:39:37 -07:00
  • 15da179173 Merge print nodes in the AST rather than attempting to manage it during print statement output. Fixes numerous bugs with mangled print statements. Michael Hansen 2019-10-09 14:20:46 -07:00
  • cbbffd28e6 Modernize ASTNode.h Michael Hansen 2019-10-08 13:34:15 -07:00
  • 8713b3b05f Merge 'pass' node into existing ASTKeyword node type Michael Hansen 2019-10-08 13:12:31 -07:00
  • c928df906b Fix applyEquiv test by writing the correct name from the call object. Michael Hansen 2019-10-08 11:44:52 -07:00
  • 9309effba9 Support Python 3.x kw-only arguments. Michael Hansen 2019-10-08 11:36:12 -07:00
  • 3e379c114e Don't emit a 'pass' statement on an empty top-level module code object Michael Hansen 2019-10-08 09:04:41 -07:00
  • 3009ea38d2 Handle Python 3.3's automatic __qualname__ assignment. Michael Hansen 2019-10-08 08:53:53 -07:00
  • 66d6c190ac Make PycRef<T> movable Michael Hansen 2019-10-08 08:42:33 -07:00
  • 44af6a2c04 Finish removing old tests and old "test" framework. Michael Hansen 2019-10-07 20:57:43 -07:00
  • 391ba6502d Migrate additional tests which previously didn't have reference source to the new test system, including new reference source. Michael Hansen 2019-10-07 14:10:19 -07:00
  • 9524099488 Migrate test_tuple_params to new test framework. Michael Hansen 2019-10-07 13:54:46 -07:00
  • 86b88091df Unify test_prettyprint variations and add to passing tests. Michael Hansen 2019-10-07 13:42:39 -07:00
  • ab58fba23b Move more tests into the new framework, including current xfails. Michael Hansen 2019-10-07 12:00:30 -07:00
  • 0dc49b5872 Add support for expected test failures Michael Hansen 2019-10-07 11:36:09 -07:00
  • 8014ac2b14 Print unicode as default in Python 2.x when CO_FUTURE_UNICODE_LITERALS is set. Michael Hansen 2019-10-06 14:34:24 -07:00
  • 892616b560 Add tests for unicode/bytes string literals Michael Hansen 2019-10-06 13:50:53 -07:00
  • b5696c8398 Port Python 2.7 list comprehension fixes by @ReDucTor from #78 Michael Hansen 2019-10-04 16:35:58 -07:00
  • 314f4a1a0d Fix several cases of name shadowing, and greatly simplify some unnecessary stack operations with tuple appending. Michael Hansen 2019-10-04 16:16:10 -07:00
  • 5c896fa743 Clean up some loops with range-based for. Michael Hansen 2019-10-04 15:56:24 -07:00
  • 727da48ba5 Display the diff when a test doesn't match the expected output. Michael Hansen 2019-10-04 14:57:59 -07:00
  • 646213ef4f Add a test for unpack assignment Michael Hansen 2019-10-04 14:33:38 -07:00
  • 2e93d29233 Don't write parens around for loop value tuples Michael Hansen 2019-10-04 14:08:47 -07:00
  • fc1cb06926 Add Github Actions CI build Michael Hansen 2019-10-04 11:12:28 -07:00
  • 154b80b2fe Migrate several more passing tests to new test framework Michael Hansen 2019-10-04 09:04:04 -07:00
  • 7cd576280e Move equivalent reference sources to the input directory Michael Hansen 2019-10-03 22:08:44 -07:00
  • 7a7b4623b6 Migrate a couple more passing tests, and handle end-of-line comments in token_dump. Michael Hansen 2019-10-03 20:56:52 -07:00
  • 1cf1977a40 Move test_class.pyc to the new test framwork, and fix tokenization of multi-line strings. Michael Hansen 2019-10-03 17:12:52 -07:00
  • 697aa5d2c3 Simplify the output of decompyle_test.sh, and actually fail the check target when a test fails. Michael Hansen 2019-10-03 16:05:30 -07:00
  • 0c0a0231a9 Fix dict literals in Python 3.5+ to make the new test case pass. Michael Hansen 2019-10-03 15:48:44 -07:00
  • 31d907118a Add a new unit test framework that actually checks the output of decompiled sources against an expected result. Michael Hansen 2019-10-03 15:33:52 -07:00
  • 18f94c4094 Use pymultic for executing the rt_test Michael Hansen 2019-10-02 16:46:19 -07:00
  • 619f584bd2 Simplify CMakeLists slightly, and correctly handle AppleClang Michael Hansen 2019-10-02 16:27:27 -07:00
  • f88869fb17 Use std::string instead of manual character buffers where applicable. Michael Hansen 2019-10-02 16:01:54 -07:00
  • 8d3752b4f0 Start requring C++11 with explicit virtual overrides. Michael Hansen 2019-10-02 14:40:25 -07:00
  • f02a339072 Move fetch and build of Python versions into pymultic, and remove acquire_pythons script. Michael Hansen 2019-09-30 16:38:16 -07:00
  • f77f287b1d Backport Python 2.7.15 fix for GCC 8 optimizations to other Pythons it applies to. Michael Hansen 2019-09-30 16:24:52 -07:00
  • 104c3c0b42 Update magic for 3.7.0 release Michael Hansen 2018-07-02 13:13:50 -07:00
  • 1c01ca7ee6 Better name for this script, since it doesn't do anything in parallel. Michael Hansen 2018-04-28 12:22:14 -07:00
  • 56e442605a Remove unnecessary complexity and just use the base sequence type common to both 1.0 and later versions in PyCodeObject. Michael Hansen 2018-04-28 11:37:13 -07:00
  • 1b01af45fd Add some scripts for fetching/building many Python versions and compiling python sources to bytecode in each of them. Michael Hansen 2018-04-27 16:27:12 -07:00
  • 7f63529d49 Fix PycCode incompatibility with Python 1.0 Michael Hansen 2018-04-26 15:13:52 -07:00
  • 0c3955883f Fix bytecode compatibility with Python 3.7 beta3 Michael Hansen 2018-04-26 14:31:21 -07:00
  • bf60a5831b Fix several undefined behavior issues identified by @nrathaus. Fixes #147. Michael Hansen 2018-01-28 14:33:26 -08:00
  • a9a362254e Use fputs instead of fprintf when no formatting is required Michael Hansen 2018-01-28 10:32:44 -08:00
  • 98ad031109 Add initial 3.7 alpha support, and fix 3.6 opcode map Michael Hansen 2017-12-20 13:15:03 -08:00
  • b9dd99d518 Don't create special objects for NULL, just use NULL directly. Also move null check into PycRef for nullable references. Michael Hansen 2017-07-05 16:36:04 -07:00
  • 1329626215 Add missing break Michael Hansen 2017-07-05 16:10:59 -07:00
  • 96122d23b8 Minor typing/aliasing cleanup Michael Hansen 2017-07-05 15:53:35 -07:00
  • 7c328f0ee8 Merge pull request #113 from kholia/add-3.5.2-magic Michael Hansen 2017-04-11 08:42:31 -07:00
  • da6571587b Add MAGIC_NUMBER for Python 3.5.3 Dhiru Kholia 2017-04-09 18:06:52 +05:30
  • a690d22822 Update Python 3.6 magic from RC build Michael Hansen 2016-12-14 14:39:22 -08:00
  • 6a9d6a6132 Update bytecode for Python 3.6 beta3, and use a common file for opcode names Michael Hansen 2016-11-08 16:00:44 -08:00
  • ed2c21cd66 Handle NOP instruction in decompyle (fixes #96) Michael Hansen 2016-10-24 09:44:06 -07:00
  • dfdb00d2dc Add python 2.5 reference sources Michael Hansen 2016-09-08 09:59:10 -07:00
  • 5ee15c890c Fix display of cell vars Michael Hansen 2016-09-07 18:22:49 -07:00
  • 35e74d0e6e Show jump target on FOR_ITER instructions Michael Hansen 2016-09-07 18:22:22 -07:00
  • 05a32e7bf5 Add more reference source for Python 2.2 tests, and fix some inconsistent names Michael Hansen 2016-09-07 18:21:51 -07:00
  • 7efcf04bcd Display KW only arg count in pycdas output Michael Hansen 2016-09-03 11:05:03 -07:00
  • 5a4c332a0e Add some reference hand-decompyled source for better examining pycdc output Michael Hansen 2016-09-02 21:19:15 -07:00
  • 5c60db15f2 Use .src.py extension instead of .src for pycdc test output Michael Hansen 2016-08-31 16:13:18 -07:00
  • a02478cc56 Fix formatting of char literals \x00-\x0F. Michael Hansen 2016-08-31 08:28:46 -07:00
  • def5d90a9d Add more advanced round-trip test target that runs decompiled output back through the originating Python compiler (Linux only for now) Michael Hansen 2016-08-30 20:18:29 -07:00
  • 4b55e0bcea Fix '...' missing in output Michael Hansen 2016-08-30 13:32:53 -07:00
  • c6d92bab3f Silence CMake warning Michael Hansen 2016-08-30 11:42:02 -07:00
  • 2178b103fc Change message if all tests "passed" Michael Hansen 2016-08-30 11:23:10 -07:00
  • 830bb0d31e Some fixes/cleanup for the test script Michael Hansen 2016-08-30 11:19:10 -07:00
  • 71b670de0f Merge pull request #84 from Dirk007/fix_conversion Michael Hansen 2016-07-28 16:35:21 -07:00
  • 159c0c91f6 fix: conversion Dirk Faust 2016-07-28 09:48:17 +02:00
  • d074b5593c Merge pull request #83 from ShadowHunterRUS/patch-1 Michael Hansen 2016-07-27 09:07:14 -07:00
  • 221ccdb67a size_t instead of ssize_t Maxim 2016-07-27 15:15:19 +03:00
  • ed96c41005 Fix build with msvc Maxim 2016-07-27 14:00:17 +03:00
  • 7701ed420e Make the comparison ops a bit more visually distinct Michael Hansen 2016-07-15 13:37:50 -07:00
  • ec313ad48f Merge pull request #81 from Saruta/master Michael Hansen 2016-07-13 20:52:25 -07:00
  • 5936171e7a Add comparison argument to disassembly output Fabien Siron 2016-07-10 17:40:14 +00:00
  • cffb4c5f5f squish tab Michael Hansen 2016-07-10 09:46:39 -07:00
  • d032494ede Merge pull request #80 from Saruta/master Michael Hansen 2016-07-09 10:03:38 -07:00
  • f378a777a2 Fix lambda call Fabien Siron 2016-07-09 15:20:39 +00:00
  • 605d064fe7 Initial support for Python 3.6 disassembly Michael Hansen 2016-06-22 22:06:09 -07:00
  • 9f2930ccaa Add async keyword to native coroutines (Python 3.5) Michael Hansen 2015-11-13 15:22:19 -08:00
  • 23254897da Merge pull request #66 from arthurzam/master Michael Hansen 2015-10-26 20:10:51 -07:00