python (3.12.0)

(root)/
lib/
python3.12/
lib2to3/
__pycache__/
refactor.cpython-312.opt-2.pyc

̑esk	dZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZmZm
Z
ddlmZddlmZmZddlmZdd	ZGd
deZdZd
ZdZdZdZGddeZGddeZGddeZ GddeZ!y)z#Guido van Rossum <guido@python.org>N)chain)drivertokenizetoken)	find_root)pytreepygram)btm_matcherc	t|ggdg}g}tj|jD]0\}}}|j	ds|r|dd}|j|2|S)N*fix_)
__import__pkgutiliter_modules__path__
startswithappend)	fixer_pkg
remove_prefixpkg	fix_namesfindernameispkgs       D/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/lib2to3/refactor.pyget_all_fix_namesrsqO
YB
.CI&33CLLA#e??6"ABxT"	#
ceZdZy)
_EveryNodeN__name__
__module____qualname__rrr!r!+rr!c	t|tjtjfr|jt
|jhSt|tjr'|jrt|jSt
t|tjr>t}|jD]#}|D]}|jt|%|Std|z)Nz$Oh no! I don't understand pattern %s)
isinstancer	NodePatternLeafPatterntyper!NegatedPatterncontent_get_head_typesWildcardPatternsetupdate	Exception)patrpxs    rr/r//s9#**F,>,>?@88z#v,,-;;"3;;//#v--.E	-A
-+,
-	-
:SA
BBrcZ	tjt}g}|D]|}|jr2	t	|j}|D]}||j|A|j||jj|l|j|~ttjjjtjjD]}||j|t|S#t$r|j|Y
wxYwN)collectionsdefaultdictlistpatternr/rr!_accept_typerr
python_grammar
symbol2numbervaluestokensextenddict)
fixer_list
head_nodeseveryfixerheads	node_types      r_get_headnode_dictrKKs/((.JE
$==
8'

6"'8Iy)0078!!-5--.55e<U#
$600>>EEG!00779,	9$$U+,

$U#
$sDD*)D*cN	t|dDcgc]
}|dz|zc}Scc}w)NF.)r)pkg_namefix_names  rget_fixers_from_packagerPds=.h>@
sNX%@@@s"c|Sr9r&)objs r	_identityrSksJrc|d}tjtj|jfd}ttjtjtjh}t}		|\}}||vr|tjk(r|rnd}n|tjk(r|dk(r|\}}|tjk7s|dk7rn|\}}|tjk7s|dk7rn|\}}|tjk(r|dk(r
|\}}|tjk(rT|j||\}}|tjk7s|dk7rn |\}}|tjk(rRnnt|S#t$r
Yt|SwxYw)	NFc.t}|d|dfS)Nrr)next)tokgens radvancez(_detect_future_features.<locals>.advancers3i1vs1v~rTfrom
__future__import(,)rgenerate_tokensioStringIOreadline	frozensetrNEWLINENLCOMMENTr1STRINGNAMEOPadd
StopIteration)sourcehave_docstringrYignorefeaturestpvaluerXs       @r_detect_future_featuresrrosN

"
"2;;v#6#?#?
@C

x{{EMMB
CFuH
	IBV|u||#!!%uzz!evo#I	E#u'<#I	E#u'8#I	E>esl '	IBEJJ&LL' '	IBUXX~# '	IBEJJ&38X
X
s>DF%F%%	F;:F;ceZdZy)
FixerErrorNr"r&rrrtrts&rrtceZdZddddZdZdZddZdZdZd	Z	d
Z
dZddZdd
Z
dZddZdZd dZdZdZ		d!dZd"dZdZdZdZdZdZdZdZdZy)#RefactoringToolF)print_function
exec_functionwrite_unchanged_filesFixrNc	||_|xsg|_|jj|_||jj|tjj|_|jdr|jjd=n&|jdr|jjd=|jjd|_g|_tjd|_g|_d|_t%j&|jt(j*|j|_|j-\|_|_g|_t5j6|_g|_g|_t?|j0|j.D]~}|j@r|j8jC|+||j.vr|j:jE|U||j0vsd|j<jE|tG|j:|_$tG|j<|_%y)	NrwprintrxexecryrvF)convertlogger)&fixersexplicit_default_optionscopyoptionsr2r
r?grammarkeywordsgetryerrorslogging	getLoggerr	fixer_logwroterDriverr	r~
get_fixers	pre_order
post_orderfilesbm
BottomMatcherBM
bmi_pre_orderbmi_post_orderr
BM_compatible	add_fixerrrKbmi_pre_order_headsbmi_post_order_heads)selffixer_namesrrrHs     r__init__zRefactoringTool.__init__s	" B
,,113LL(,,113<<()%%g.
\\/
*%%f-
&*\\%5%56M%N"''(9:
mmDLL,2NN+/;;8+///*;'
""$ 4??DNN;	2E""!!%($..(""))%0$//)##**51	2$6d6H6H#I $6t7J7J$K!rc		g}g}|jD]w}t|iidg}|jddd}|j|jr|t|jd}|j
d}|jdj|Dcgc]}|jc}z}	t||}	|	|j|j}
|
jr0|jdur"||jvr|j!d	||j#d
||
j$dk(r|j'|
@|
j$dk(r|j'|
btd
|
j$zt)j*d}|j-||j-|||fScc}w#t$rtd|d|dwxYw)Nr
rMr_zCan't find TzSkipping optional fixer: %szAdding transformation: %sprepostzIllegal fixer order: %r	run_orderkey)rrrsplitrFILE_PREFIXlensplitCLASS_PREFIXjointitlegetattrAttributeErrorrtrrrlog_message	log_debugorderroperator
attrgettersort)rpre_order_fixerspost_order_fixersfix_mod_pathmodrOpartsr6
class_name	fix_classrHkey_funcs            rrzRefactoringTool.get_fixerss	 KK	JL\2rC59C#**3226H""4#3#34#C(8(8$9$:;NN3'E**RWW5OAaggi5O-PPJ
X#C4	dllDNN;E~~$--t"; 

5  !>INN6A{{e# ''.&!((/ !:U[[!HII/	J2&&{3(+8, "344-6P"
X x!LMSWW
XsG
9GG+c	r9r&)rmsgargskwdss    r	log_errorzRefactoringTool.log_errors*
rcJ	|r||z}|jj|yr9)rinforrrs   rrzRefactoringTool.log_messages#$*CrcH|r||z}|jj|yr9)rdebugrs   rrzRefactoringTool.log_debug
s *C#rc	yr9r&)rold_textnew_textfilenameequals     rprint_outputzRefactoringTool.print_outputs
	rc	|D]H}tjj|r|j|||6|j	|||Jyr9)ospathisdirrefactor_dir
refactor_file)ritemswrite
doctests_onlydir_or_files     rrefactorzRefactoringTool.refactorsJ7 	FKww}}[)!!+umD"";}E		Frc	tjdz}tj|D]\}}}|jd||j	|j	|D]m}|jdrtjj|d|k(s;tjj||}	|j|	||o|D
cgc]}
|
jdr|
c}
|ddycc}
w)NpyzDescending into %srMr)
rextsepwalkrrrrsplitextrr)rdir_namerrpy_extdirpathdirnames	filenamesrfullnamedns           rrzRefactoringTool.refactor_dir s	T!,.GGH,=
	L(GXyNN/9MMONN!
G,GG$$T*1-7!ww||GT:H&&x
F	
G)1K"

c8J2KHQK
	LLsC=0C=c		t|d}	tj|j
d}|j
tj|d|d5}|j|fcdddS#t$r}|jd||Yd}~yd}~wwxYw#|j
wxYw#1swYyxYw)NrbzCan't open %s: %sNNrr5rencodingnewline)	openOSErrorrrdetect_encodingrbcloser`read)rrferrrs     r_read_python_sourcez#RefactoringTool._read_python_source4s		Xt$A	//

;A>H
GGI
WWXsXr
B	&a668X%	&	&	NN.#>	
GGI	&	&s.A7"B B57	BBB B25B>c	|j|\}}|y|dz
}|r^|jd||j||}|js||k7r|j	|||||y|jd|y|j||}|js|r.|jr"|j	t|dd|||y|jd|y)N
zRefactoring doctests in %szNo doctest changes in %sr)rrzNo changes in %s)rrrefactor_docstringryprocessed_filerefactor_stringwas_changedstr)rrrrinputroutputtrees        rrzRefactoringTool.refactor_fileDs228<x=

NN7B,,UH=F))Vu_##FHeUHM98D''x8D))dt7G7G##CIcrNH*/($D18<rc	t|}d|vrtj|j_	|jj|}	|j|j_||_
|jd||j|||S#t$rM}|jd||jj|Yd}~|j|j_yd}~wwxYw#|j|j_wxYw)NrwzCan't parse %s: %s: %szRefactoring %s)
rrr
!python_grammar_no_print_statementrrparse_stringr3r	__class__r#future_featuresr
refactor_tree)rdatarrorrs      rrzRefactoringTool.refactor_string[s		+40x'"("J"JDKK	/;;++D1D#',,DKK''.4&	NN3!7!7
>"&,,DKK	
#',,DKKs)B	C+(C&C.&C++C..Dctjj}|rZ|jd|j	|d}|j
s||k7r|j
|d|y|jdy|j|d}|j
s|r)|jr|j
t|d|y|jdy)NzRefactoring doctests in stdinz<stdin>zNo doctest changes in stdinzNo changes in stdin)
sysstdinrrrryrrrr)rrrrrs     rrefactor_stdinzRefactoringTool.refactor_stdinvs		 NN:;,,UI>F))Vu_##FIu=<=''y9D))dt7G7G##CIy%@45rc	t|j|jD]}|j|||j	|j
|j|j	|j|j|jj|j}t|jr|jjD]}||vs	||s||jtjj d|j"r-||jtjj$t'||D]}|||vr||j)|	t+||j.r||j.vrF|j1|}|sZ|j3||}|o|j5||jD]0}|j.sg|_|j.j7|2|jj|j}|D]"}	|	|vrg||	<||	j9||	$t|jrt|j|jD]}|j;|||j<S#t,$rYwxYw)NT)rreverser)rrr
start_treetraverse_byrrrrunleavesanyrArrr	Basedepthkeep_line_order
get_linenor<remover
ValueErrorfixers_appliedmatch	transformreplacerrCfinish_treer)
rrrrH	match_setnoderesultsnewnew_matchesfxrs
          rrzRefactoringTool.refactor_trees
	4>>4??;	)ET4(	)	
114>>3CD22DOO4EFGGKK
.	)""$%.
LI%)E*:e$))fkk.?.?)N,,"%(--&++2H2H-I $Yu%5 6$L9U#33%e,33D9%%dO ..5D<O<O3O$"'++d"3""'//$"@C" $S 1,/NN,<!FD,0+>+>>@(;$($7$7$>$>u$E!F/3ggkk#**,.G+6!LC+.)+;79	#$-cN$9$9+c:J$K	!LA$L.
L)""$%b4>>4??;	*EdD)	*E *%%%s
K!!	K.-K.c	|sy|D]R}||jD]>}|j|}|s|j||}|,|j||}@Tyr9)r,rrr)rr	traversalrrHrrs       rrzRefactoringTool.traverse_bysm
		#D		*
#++d+//$8CS)"

#	#rc4	|jj|||j|d}|y||k(}|j|||||r|j	d||j
sy|r|j
||||y|j	d|y)NrzNo changes to %szNot writing changes to %s)rrrrrry
write_file)rrrrrrrs       rrzRefactoringTool.processed_files		

(#//9!<HH$(Hh>NN-x8--OOHh(CNN6Arcb		tj|d|d}|5	|j	|ddd|jd|d|_y#t$r}|jd||Yd}~yd}~wwxYw#t$r}|jd||Yd}~ld}~wwxYw#1swYuxYw)NwrrzCan't create %s: %szCan't write %s: %szWrote changes to %sT)r`rrrrrr)rrrrrfprs       rr#zRefactoringTool.write_files		32FB
	D
D"	D
	
,h7
	NN0(C@	
D3XsCC
D	D	DsEAB%A<	A9A44A9<	B"BB%B""B%%B.z>>> z... c		g}d}d}d}d}|jdD]}|dz
}|jj|jrK|#|j	|j|||||}|g}|j
|j}	|d|	}}|S|j||jzs#|||jjzdzk(r|j||#|j	|j||||d}d}|j||#|j	|j||||dj|S)NrTkeependsrrr)
splitlineslstriprPS1rCrefactor_doctestfindPS2rstriprr)
rrrresultblockblock_linenoindentlinenolineis
          rrz"RefactoringTool.refactor_docstringsq
	$$d$3	$DaKF{{}''1$MM$"7"7|8>#JK%IIdhh'bq$??6DHH#456DHHOO$55<<T"$MM$"7"7|8>#JK

d#)	$*MM$//|06B
Cwwvrc		|j|||}|j||rt|jd}|d|dz
||dz
d}}	|djds
|dxxdz
cc<||jz|j!dzg}|r#||Dcgc]}||j"z|zc}z
}|S#t$r}|jjtj
r(|D]#}|j
d|jd%|jd|||jj||cYd}~Sd}~wwxYwcc}w)	Nz
Source: %srz+Can't parse docstring in %s line %s: %s: %sTr(rrr)parse_blockr3risEnabledForrDEBUGrr0rrr#rrr*endswithr,popr/)
rr2r5r4rrrr6rclippeds
          rr-z RefactoringTool.refactor_doctestDsK		##E66:DdH-d)&&&5Cyq>3vaxy>SGr7##D)B4dhh&34EsCt&488+d2CC#	{{''

6!DDNN<T1BCDNNH#VS]]-C-CS
JL
	 Ds$B=E=	EA;EEEcX|jrd}nd}|js|jd|n4|jd||jD]}|j||jr3|jd|jD]}|j||jr{t|jdk(r|jdn%|jdt|j|jD]\}}}|j|g|i|yy)	Nwerez
need to bezNo files %s modified.zFiles that %s modified:z$Warnings/messages while refactoring:rzThere was 1 error:zThere were %d errors:)rrrrrr)rr@filemessagerrrs       r	summarizezRefactoringTool.summarizeas
::DDzz4d;6=


'  &
'>>CD>>
*  )
*;;4;;1$  !56  !8#dkk:JK#';;
5T4   4t4t4
5rc~	|jj|j|||}t|_|Sr9)rparse_tokens	wrap_toksrcr)rr2r5r4rs     rr9zRefactoringTool.parse_blockxs9	
{{''uff(MN({rc#K	tj|j||j}|D]+\}}\}}\}	}
}||dz
z
}|	|dz
z
}	||||f|	|
f|f-yw)Nr)rr_	gen_lines__next__)rr2r5r4rBr,rqline0col0line1col1	line_texts            rrFzRefactoringTool.wrap_tokssI))$..*G*P*PQDJ	G@D%%
yVaZEVaZEt}udmYFF	GsA"A$c#K	||jz}||jz}|}|D]R}|j|r|t|dn,||j	dzk(rdntd|d||}T	dw)Nrzline=z	, prefix=r)r,r/rrr0AssertionError)rr2r4prefix1prefix2prefixr6s       rrHzRefactoringTool.gen_liness	488#488#	Dv&3v;<((4//
$T6%JKKF	HsA?Br)FF)F)NFNr9)r#r$r%rrrrrrrrrrrrrrrrrrr#r,r/rr-rCr9rFrHr&rrrvrvs+0).279LK3Ln&5P

FL(& =.66 M ^#.GL $B**C
C)V:5.GrrvceZdZy)MultiprocessingUnsupportedNr"r&rrrUrUr'rrUcBeZdZfdZ		dfd	ZfdZfdZxZS)MultiprocessRefactoringToolcHtt|
|i|d|_d|_yr9)superrWrqueueoutput_lockrrkwargsrs   rrz$MultiprocessRefactoringTool.__init__s'
)494J6J
rc|dk(rtt||||S	ddl}|jtd|j|_|j|_
t|Dcgc]}|j|j }}	|D]}|jtt|||||jjt|D]}|jj!d|D]#}|j#s|j%d|_y#t$rt
wxYwcc}w#|jjt|D]}|jj!d|D]#}|j#s|j%d|_wxYw)Nrrz already doing multiple processes)target)rYrWrmultiprocessingImportErrorrUrZRuntimeError
JoinableQueueLockr[rangeProcess_childstartrputis_alive)
rrrr
num_processesr`r7	processesr6rs
         rrz$MultiprocessRefactoringTool.refactorsA4dDum-
-	-"::!ABB$224
*//1#M24%,,DKK,@4	4	
	
-t=eU>K
M
JJOO=)
%

t$
%
::<FFH
DJ)	-,,	-4
JJOO=)
%

t$
%
::<FFH
DJs$D6/#E	,E6EAG*Gc|jj}|Q|\}}	tt||i||jj|jj}|Pyy#|jjwxYwr9)rZrrYrWr	task_done)rtaskrr]rs    rrgz"MultiprocessRefactoringTool._childszz~~LD&
'14F%#%

$$&::>>#D

$$&sA00Bc~|j|jj||fytt||i|Sr9)rZrirYrWrr\s   rrz)MultiprocessRefactoringTool.refactor_filesA::!JJNND&>*4dI!!
!r)FFr)r#r$r%rrrgr
__classcell__)rs@rrWrWs$ 
:? :	$!!rrW)T)"
__author__r`rrrrrr:	itertoolsrpgen2rrr
fixer_utilrrr	r
rrrr3r!r/rKrPrSrrrtobjectrvrUrWr&rr<module>rws3

	
+*!			C82@%P''FfFR		4!/4!r