From 35fcb1edf133762dbf3d183ebe7de64cefab78e6 Mon Sep 17 00:00:00 2001 From: rocky Date: Sun, 4 Mar 2018 18:40:08 -0500 Subject: [PATCH] Picking out 3.3 function default values --- test/bytecode_3.3/03_func_params.pyc | Bin 484 -> 1565 bytes test/simple_source/bug33/03_func_params.py | 11 +++++++++++ uncompyle6/semantics/make_function.py | 12 +++++++++--- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/test/bytecode_3.3/03_func_params.pyc b/test/bytecode_3.3/03_func_params.pyc index 3dc04484019f41410d31ca6b7c07e75cc7efbd09..3fff7e4614ca6c409f8e8df2ade99a2487ac0c36 100644 GIT binary patch literal 1565 zcmcIkO>fjN5S=8uTUc6AIKYh?C*Tl4vR!&kL~fy_<7zqzxNNOXV@4JurJ9P62B17A|(*nvux*Z3L zfZk^jWh1(U-H3EZHxVr&XvdUIoOaS_M-nE9?;)yv1i`uCR)1|-SE|nP>O#p@fG!AR zJViGn2%tz}(ad8Aip9W25UMbCg3*Q0ZklOC({>+P(>6LS(KFrj6jx2&Lh%?Dd8Ha% z>Z(l(AL5SMhik0BsM1nzhwfp)gzR$&lb5SPv#D*P^zpg9n9Yt~&3I`m#jCVQOLMgP zX7^ypTl$x6_vlB4C5vFqk37A;yJ2i=5p31Wew$Ag$!32f{N$s9zN1#@2I zEpzM)C3{8}OM8HcY~*RdU(&*AcU|P5$SdtAwn8qmDpF(Mj>RrH?H~OBu0E-OW39XW z(FU8qa?n8oxMj9eXqd}7v*3?i(J+6uX|dk#$MA$v|HZ0c-vPGN@dn;QEIJ|w8*~3U1@pYF{Bv0U6x{Eu iKEKqe9gsid&2s?vf6D6{U+Qn=l^Q9ED10`4GX4V<-d4{5 delta 125 zcmbQs^Mu)V9uF^9v6pHDKO+M}G6NFe1hO4~xL6fPqyP~!24ZALVPa@uWsCwcm>GgK rST 2 and node[lambda_index] != 'LOAD_LAMBDA': + # FIXME: there is probably a better way to classify this. + if (self.version <= 3.3 and len(node) > 2 and + node[lambda_index] != 'LOAD_LAMBDA' and + (node[0].kind.startswith('kwarg') or node[2].kind != 'load_closure')): # args are after kwargs; kwargs are bundled as one node defparams = node[1:args_node.attr[0]+1] else: