Commit Graph

239 Commits

Author SHA1 Message Date
Josh Wiedemeier fb400cd0e4 bump 3.14 model versions 2026-01-16 10:24:48 -06:00
Josh Wiedemeier ad8cb2d9ca better support for inlining new generics 2026-01-08 16:52:33 -06:00
Josh Wiedemeier 985b389227 add soft per-file --timeout option to allow slow files to be skipped in batch jobs 2026-01-08 14:46:00 -06:00
Josh Wiedemeier 17908643d6 add --force option to CLI to enable overwriting output files 2026-01-08 14:31:47 -06:00
Josh Wiedemeier ee8bac2d07 support passing directories to pylingual CLI files list 2026-01-08 13:45:13 -06:00
Josh Wiedemeier 0de9958652 improve annotation inlining for typedefs 2026-01-07 17:01:11 -06:00
Josh Wiedemeier 881d7b03f7 fix slice masking 2026-01-07 15:40:05 -06:00
Josh Wiedemeier 4a4a8a081d Merge branch 'dev' into dev-python-3.14 2026-01-07 14:09:28 -06:00
jdw170000 fd5ab559d7 Merge pull request #120 from XinlongCS/misc-improvements
EarlyRet adjustments for IfElse in TryExcept statements
2026-01-07 10:24:06 -06:00
Xinlong Hu 46a7751deb Adjusted EarlyRet and created EarlyRetDuplicateBlocks
EarlyRetDuplicateBlocks matching extraneous 3.10+ duplicate blocks that sometimes generates near the end of conflow flows
Adjusted EarlyRet to capture blocks with lines
2026-01-06 17:48:43 -06:00
Xinlong Hu 4050edefaf Merge remote-tracking branch 'origin/python-3.14-cflow' into misc-improvements 2026-01-05 13:27:48 -06:00
Josh Wiedemeier 578e17bd11 ignore stderr messages from uv logging that compilation occurred 2026-01-05 12:11:03 -06:00
jdw170000 840537c07f Merge pull request #114 from syssec-utd/main
fix: emoji - windows encoding #89
2025-12-24 13:27:47 -06:00
Josh Wiedemeier 2d581d89b1 update pylingual model for 3.14 2025-12-24 13:25:08 -06:00
Josh Wiedemeier 13bc3bf297 better attempt at inlining __annotations__ in 314 2025-12-19 18:51:24 -06:00
Xinlong Hu f18449cbf9 additional EarlyRet instruction 2025-12-19 15:22:34 -06:00
Josh Wiedemeier a4bfd757db fix inlined __annotate__ jumps to return 2025-12-19 11:16:41 -06:00
Josh Wiedemeier 9300d74c21 update python 3.14 model versions 2025-12-19 10:05:15 -06:00
XinlongCS 3d4ffc3911 Merge remote-tracking branch 'upstream/dev-python-3.14' into python-3.14-cflow 2025-12-18 15:36:13 -06:00
Xinlong Hu e833907ee0 replace new 3.14 equivalent opcodes
LOAD_FAST_BORROW -> LOAD_FAST
LOAD_FAST_BORROW_LOAD_FAST_BORROW -> LOAD_FAST_LOAD_FAST

For TryExceptElse template equivalence

Co-Authored-By: jdw170000 <50096766+jdw170000@users.noreply.github.com>
2025-12-18 14:50:13 -06:00
Josh Wiedemeier 76816ffed4 3.14 assert template recognize LOAD_COMMON_CONSTANT 2025-12-17 17:43:41 -06:00
jdw170000 42267b82cb Merge pull request #111 from XinlongCS/python-3.14-cflow
Python 3.14 CFlow & Misc
2025-12-17 11:55:53 -06:00
Josh Wiedemeier 1de20f78e2 replace_firstlno patch nits 2025-12-17 10:47:43 -06:00
Josh Wiedemeier 34fe0fa356 adjust firstlno patch for 314 load small int 2025-12-17 10:34:23 -06:00
Xinlong Hu 9ccb0275a0 remove cfg.end from exiting ElseBlock checks 2025-12-16 18:33:38 -06:00
Xinlong Hu ed22e7a30c 3.14 Loop changes 2025-12-16 18:32:04 -06:00
Xinlong Hu 78fef3e7f0 3.14 Generator template 2025-12-16 18:30:36 -06:00
Xinlong Hu 0c50bf1ebd disallow BlockTemplate to match after JumpTemplate matches 2025-12-16 18:27:20 -06:00
Xinlong Hu f4cd3eadc0 editing header to adjust for <3.12 versions 2025-12-16 17:27:54 -06:00
Josh Wiedemeier 8090d4cbf0 fix instruction backpoint in inlined __annotate__ functions 2025-12-16 15:10:53 -06:00
Josh Wiedemeier 26772c99ee nits 2025-12-16 11:45:03 -06:00
Josh Wiedemeier e3af3a512d faster inlining of __annotate__ functions 2025-12-16 11:32:44 -06:00
Josh Wiedemeier a013a7d78f inline __annotations__ function code 2025-12-15 16:54:11 -06:00
Josh Wiedemeier a8e5a0aa44 compile uv fixes 2025-12-12 17:56:53 -06:00
Josh Wiedemeier e9cfc05023 blacklist NOT_TAKEN a s a low-information opcode 2025-12-12 17:20:16 -06:00
Josh Wiedemeier 05669555da draft: add model cache 2025-12-12 11:24:38 -06:00
Josh Wiedemeier af2262cab8 add 3.14 to supported version lists 2025-12-12 10:41:19 -06:00
Joel Flores a95e610388 3.14 docstring changes 2025-12-11 13:04:26 -06:00
Joel Flores 82a95a7b8e networkx dependency change 2025-12-11 13:02:29 -06:00
Joel Flores 1c3992079d bytecode patch update for 3.14 2025-12-11 12:59:53 -06:00
Josh Wiedemeier 9861ecd7a8 conditional ast unparser import 2025-12-10 10:19:32 -06:00
Josh Wiedemeier 070b5a356c masking nits 2025-12-10 10:10:04 -06:00
Josh Wiedemeier f208b407fe update number of returned items from xdis 2025-12-09 17:25:36 -06:00
Josh Wiedemeier ec86c97401 add cellvars to masking 2025-12-09 11:02:47 -06:00
Josh Wiedemeier 8e63788deb fix LOAD_SMALL_INT masking 2025-12-09 10:46:07 -06:00
Josh Wiedemeier 7168c89095 masking for LOAD_SMALL_INT 2025-12-08 16:46:54 -06:00
Xinlong Hu 8f233eb125 More multiple node matching using |
Fixes AttributeError: '_Ns' object has no attribute '_auto_exc'

Co-Authored-By: caandt <caandt@twoha.cc>
2025-11-20 18:47:55 -06:00
Xinlong Hu 704ec01017 Exception Table Fix 2025-11-20 18:47:55 -06:00
Xinlong Hu 3159022b92 Fixes list index out of range in TryFinally3_11
Fixes list index out of range and applied it to TryFinally3_9 just in case
```python
def test():
    a = False
    if a:
        try:
            b = 0
            if b:
                b = 1
        except:
            print(b)
            pass
        finally:
            pass
    return a
```
2025-10-25 19:38:55 -05:00
Xinlong Hu 4ae81ccefc TryExcept Adjustments
Fixes https://github.com/syssec-utd/pylingual/issues/102

Not sure if (tail?) -> (tail.) breaks stuff but it fixes the issue above
2025-10-25 19:34:01 -05:00