python (3.12.0)

(root)/
lib/
python3.12/
lib2to3/
fixes/
__pycache__/
fix_except.cpython-312.opt-1.pyc

̑e
|dZddlmZddlmZddlmZddlmZmZm	Z	m
Z
mZmZdZ
GddejZy	)
aFixer for except statements with named exceptions.

The following cases will be converted:

- "except E, T:" where T is a name:

    except E as T:

- "except E, T:" where T is not a name, tuple or list:

        except E as t:
            T = t

    This is done because the target of an "except" clause must be a
    name.

- "except E, T:" where T is a tuple or list literal:

        except E as t:
            T = t.args
)pytree)token)
fixer_base)AssignAttrNameis_tupleis_listsymsc#Kt|D]L\}}|jtjk(s$|jdj
dk(sA|||dzfNyw)Nexceptr)	enumeratetyper
except_clausechildrenvalue)nodesins   L/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/lib2to3/fixes/fix_except.pyfind_exceptsrsX% &166T'''zz!}""h.%!*o%&s/AAAceZdZdZdZdZy)	FixExceptTa1
    try_stmt< 'try' ':' (simple_stmt | suite)
                  cleanup=(except_clause ':' (simple_stmt | suite))+
                  tail=(['except' ':' (simple_stmt | suite)]
                        ['else' ':' (simple_stmt | suite)]
                        ['finally' ':' (simple_stmt | suite)]) >
    c
|j}|dDcgc]}|j}}|dDcgc]}|j}}t|D]\}}	t|jdk(s |jdd\}
}}|jt
dd|jtjk7r	t
|jd}
|j}d|_|j|
|
j}
|	j}t|D]!\}}t|tjs!nt!|st#|r t%|t'|
t
d	}nt%||
}t)|dD]}|	j+d
||	j+||v|jdk(sd|_|jddDcgc]}|jc}|z|z}tj|j|Scc}wcc}wcc}w)Ntailcleanupas )prefixargsr
)rclonerlenrreplacerrrNAMEnew_namer"r
isinstancerNoder	r
rrreversedinsert_child)selfnoderesultsrrrchtry_cleanupre_suiteEcommaNnew_Ntargetsuite_stmtsrstmtassignchildcrs                      r	transformzFixExcept.transform/syy#*6?3a	33,3I,>?brxxz??&2;&?$	#"M7=))*a/ - 6 6q ;
E1

d44566UZZ' =EWWYF$&FMIIe$!KKME#*"2"2K#,[#9"4%dFKK8!" {gaj!'UDL0I!J!'!6"*+bq/!:7,,Q67((F3XX^ #AHI$	#N(,}}Ra'89!AGGI9KG$N{{499h//W4?P:sH:H?:IN)__name__
__module____qualname__
BM_compatiblePATTERNr?rrr$sMG.0rFrN)__doc__r#rpgen2rr
fixer_utilrrrr	r
rrBaseFixrrErFr<module>rKs20DD&90
""90rF