From 6029e70bff7b84b42843d2e433ec2b1b245a6ee1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ste=CC=81phane=20Goetz?= Date: Tue, 19 Apr 2016 18:13:37 +0200 Subject: [PATCH] Fix deepclone, generation and file loading bugs --- daux.phar | Bin 935035 -> 940108 bytes generate | 4 +-- libs/Compiler.php | 11 ++++---- .../ContentTypes/Markdown/TOC/Processor.php | 25 +++++++++++++----- 4 files changed, 27 insertions(+), 13 deletions(-) diff --git a/daux.phar b/daux.phar index d8992f78921adcb3e146c9b7029429ece4c60daa..457b9f7b3286736e0f75ceeb74d74f2868b3b060 100755 GIT binary patch delta 16102 zcma(&2Ut|c){C?S?pzj@UKa%c1q6&;DGGvs6boXZtgr&omS&G7G5?E+vE9VcL?fDF zOroNBmK39D_JT(y2Y{4$~vBnBdo*NSZ&SmUbl{A^Y5(t zveCt6FdH*%64|)QCY_BJY(}uLr)?4&t87!)xW{%h8}03SvN76@>s4sS^?J^37=xd% z8^lHjdp;)HbA1=s4`J|q_FRwO?73dOlmi)Dr{s7WlwAKGl=%#v=rEp*YaOPr@wUSR zHjZ&DVB70`bTkv#HC=z!+KfiM! zK;R3NJ_<#}o*R2$!B3hXcrmth0^i0qfs0j=EC!!MxH;Y=qrFF}6bf0SJf_`wKXA7d z$cE1Vsa3D)c`i|G-0H&del*P0uF(uW(v>^0(X|(wZ*t{)TU-;E zt+oaz6wls&*H_Z^2#{JloTOy6Cqpb$r?K&E^;kA`bIW7|-`gk@+wQDADb@B?OEqqM zcbnZf@*i$_3^~i46TRj>j?M48k7dM3V6&v2>;0u|?tP_Y9^3(2Jh;jJ_TWTgJ$YQb zZ?zWQKfM ztx&l1xfdzrcn3%cK}0$l=* za6=r^a07Y=adoB#arJfvaRb~jj0xR2{ORu8P^Y`|0_4_%7m~alqnHBupuiuWetASX z?H?d%x;sc;_HbugxYlDNLs$iAGWD!$vOz;ZYVNL-bisU|bAyu@Qafbp<)@u)7>vQg zQwZTIjSU&jIIaodHRIb5u8Mz8uA;7I9Aok}_~_3s{@NjJ^y8|W?diuB2HJxPFW=kT zsbfee*Kt@Vm#{dLC*H@QJlcH1cofxyWitj#x+xS_l!s1AF8#x$re31dE!>r<u$Yx9jWfcoxRppq3HhAcuBG2_N(x&s36;g~gX2lXCj@k*cHYrLhsd46!zXi#`@Hna#r^CoqEk zu!k2F$wcz+#R)!+NAPy@OK}s%jD=nHs2RLk&WIl96mE9k4Xx$Rw!CtI(`Kh z4V2We-VCWvEH4GiV>z>Hv79)yFQ32Gw}25}1~nIjYK6#AMFB~grhYa+}D6g)N7gG$2^7u#8<{O64 ze2kf5008@B_@qmkaL#wZFb}5Cnqgd#Ux#tUQsQ`#ZZeE_;x7PL^A zmRHSMYY4|s#>z2;m)5;NRUmEb!TdHf#aW^$gi%$3;Y&A@`7F}sr8-DIrns_&CJ-J` zay`DYg2;=psXVsQQaRhN>=cTkL>dchdr3!9d7k`|%8!GAqxgBZ6l8zD!}c;W()3ZT zH2-y5(M=AC7a^MDY9)_bKKrc&_7o-grtys)eM_MTZyVXlLPD43&-U|F8qd9_{1uA9 zjel-}qf#y1NQ-2P0qH~8n4iv1x^+;6D#Po3fKuxtElhWpTGM?P!rgS<0VHJbM6?EP z#OCkp&ramQ>8_GK(?Qyo!L#{v20!&Qqj^4+jpq5ZV>Bnu2PubQOa3q+j>_a6Vj}GQ z=(U(D2B+AA8cx8STk+}46z(}ep$H!OeyOxEL@h;Uxvt9M#M$5i&7Z^P8Q?vb?zvg~ zoLQg6#V_xrP;4!?8)QK8P?gqc^<`1|>e66uer$(i^M+KL&CkBqvxhKFKV|d2cOZ!0 z-_+hJSe_4{xqxWz=4^FXwH+^}AaZ|xC z#_-1iehl?2--c7Z^w_m zm#oTrNby zn98f~?WsIc(u?{0)nXno_lkKgrIm1_yi~$m+{oTUB)ZdZg+*kP51RiR%Mn>_mt+8doa-{z6!EF$P;wV$w zO9#vS*+M1gG-A=E8Yx=O7j90sl>(+K8T;_*TnGJh?y(Q1^Nd4TRpAUdqly=?=c@*=`N^tOHhNd{f?fz_xi|d89%h#48hdF?HLq38)jXPhhTN{p z{6oRH))=_faAU8i;l^&Q;h`I-mGiUOn$7gj%k}xLRJBR@Cw>Trj}H>i8DE zge^3kKRVqIcfA<159)XfIn{HdZEyx9fAiuzFpRGxHn>Vl>v`dBs^?lcb^%&3AzMo73%WdgQ65C9iQRG zkS@;P#VBqjPs`Oad9=38G+&J3^3dS9(F5Gi7=z;qol*T2_BcubOOmOL&Bt8eMJf&i|Hj8P+!Gsh-p!N~?FPd+hs&l7X4 zj%w(%3M;jJy{;j%v9glZPF1=oHFF(<^>sCR`b~k-H>6b8P*_~4t*;LYu9-SrSKJUD zp<&Cqx`x@|Lky^zNlGspMs%S_=}(7;+k4UCbygbMw9d+Zfukn4p{%?$E3%y>RD4n((KMl0J9V#*wB@A#Qsn_=-I} z?CKk|4dumjQHGC`&R zJslZsZUN~XA^#viagiW)oEvI!aCv@UwBS5|XRDTY4vpz&WQO^UeFVPrz^hLF?hG-uzmbhBfYufgce-vWaZ<(h zwOs0HstH4WyO6jJ=ui%;lKpU1=;=Zdklz(?#>0t2Gj!V0M%|Pt*_GM`UHz0Pj3nkU zGqwGSNI;kRr94~&9bH8Hj1e)opBR`QGssjxXiDRpIhDH9h6a6y3Nc0uY>=c!5V)g= zbno9`5P1wu(&_XgYV@-W%#m~h@6PbNUPQu-%0lS%^6w0|E~7I?N4%w-GebN>yH>a( z0BuM8Pd?Fd9%QE`jwwtUHAWMq3GGv&ZJgCLPdR$M{5m%HZ(6CTYAR8=b)aD*vf%Ch z2$qyLN86?lZ;yY`q$AXYhpNN)D1ByYt1ADUSNBISwyckme%M#Eckj~TJpCY}#7Abf zu$VZiyD*fTT0W1$8a>O&KJ|6Q|6(yn%STcVxOsKC zKS)ilhwm?#7UmPBtECcDPUc6Tm-Yn;$(H1@!7MZXq1K7%ax0MZ0S{Njn|`Jvu?bzd z%B)5_R1I$$F^vRynz8CEB;%%$o+TZNq56j>TPR#vB-Io*RzU|+Q)h}V^XV$jWjGI* z{nJR;0(si;LHUmU41I(HB{Umat}79%K@C{FT~N~1)g;cP zxEQnPf^Q!&NdNvK+(DYZgT6peMuV%gutyjA&jBwgSVC+aY+! z_~Xq`0j{J+cL;9sVloZbDR`J+xYS}NGG@=zlCfr3^XiEMU0OyWY4&@9J8gSMaG+Ur z#J(%E?egO0H%M3~E<8yXKHM6>O+{_%Ep`F$MibPzCbIzgOam!218H^(&eWrkWSYUB zXvBfW_I1k=R5`-}>(U-@2{4SO(R(dSUoews%>=d1w6J>iEDO*lmZ1K#EwEO+2eRLt zZ4nLtccSX|Ap_Ir;MSjQ>%<%jL;8IHZqJyDvx%WD{y^~LVP!jyc$;lx=scVh3}3$w z!Vto97~Q?k!WNpxE##iu4@tNFaSJCgxMqIW@VxzkK)25)IcE94ogfkdGwMIcO^QO;z38 zjFKnF7!!~iZTDGg)M>&{c1UxZNihm)ii1)8AC6$2&n49hC-lU>Yl0C-ZPyUggn%6b>GCz^(NDko8nPn6!zAe9zY#o*%-X*dy3@UDO|tS^p$BdI z1}M{BG-)(s_>yl;!npZmVoRf6!f^r|2hllH)?Hpa{1WjpigWp12&WF~a0&ycKU~7$ zc)bPu(0aU0hC137vUgV;s8-lG#7flmRE=kedZ!Q1egYl_x6imb!c0|Xwy&N z>84k4uWdv-_$qE}jPTyC;e){lU-lY~BnG#C-K>79>8YPVQ8?CPsqzw5&*KtAUh7++ z)bh>5o<6pjxEuF5YBR32?QalIx^FYdHX;DXk7oV?&WE~+3l4 zax2c1Yg=)6#&5&3Rok$+Z*IexSF{~>K(lUu+N<9tk*k}r!m4K6Uh0~0bGNe@Gk4yB zXO%lJ-A6lcU)J0P^|JR)GT3Os2W`+&&f7@_8bPV;P<&c7`!?W9s^#+hP)$cY*a~X7TH-6{?EYwV? z{t`62k0&V$A2&0<4_>l)NeCZ1^+RT0MxN!3?p|{Zp$M<6GbM}L@%y+Rg26DI! zeP+wM*zpWL^gU8!MWd&TrpI9)z_z9V6rdh$K_ym$U(DR?-T!e&>jbSnj7!1;ThO@rFj}Wsb^!9dg+W$F@bl4iJK{sDFi-mC z5uDI>OwiMh;x&yD9$&T}#oViup!=co7?gMn8~>$aI3j*Oh6`reaeNjv9mk6Pb{uat zfNwKbpPaJ%z4nb>)~%EPLrLRVclA}ez&wQ9jn(64@h zPgRF6u?-8p#J1n{C2kqoT%e2aJA*e6?+PHj325sXO!K$NZ1h=d_gBv1?c6$xqeygv z?3w&ImZfzg9(3mS7}Wk1-bwD)Sn?!yXmCtzYvlnKrLNzQ?gcQMoEZ*XWj zev89s^0(Mn%_eJB-{FJdf+wUw`FEIcq!;A)2@}v#FUT}glWM=mY$Ch?;iSo?omz2( zD}BI{d+uXU(K)=Q9p^AV>+@KA?s<&4`8;ktY%bun@fWZ&x0tNO z_=7E+f50lt_lLkS^-j|d*nMq3V17wIV!N;X5$kx(WEOuBYqjDc4yyAPv1bSUgx8+_ z2?zdpleMUyv1T2v{8-qcQ2ft!HhFr!qXjBLsAf^cImvM#5xq?N!egzwIO;3xA%D#$q9~KG~ zZvRy*{{B_WVe~aTd-)o6@y6?roVM3-axzfR3B z%1x~H`kPp*8zyT>Z5Z>#HXH~s5%AXJK^xxg;}KvY(;9U;0y218JI1=&j+L1a3C)x# z&4%BwW&EOmsq^ocgFXtFnx@YyzhkENe#f@R{sT9h+yB68&e0^8hW&}T>;A;z-~AJt z$MG*boBS7<;9=U#uu~^HYXWsSf}bmI##l5R39(QXs!aNj=VC2#>%lGTfpNES>d);9 zC$MQ_VRZ-V9{89=$ZorXIauAr+$Y?{F|*|^j;`BxvDHT3Be|Ww7C^`CSX%o%8R6cA zNyd($s$2NQSIT`{jW*sVV_hxD=z%ZDDC2RJ@;7$!hQINX)ck>PKB^vIM~;4gMFb6k zR`K`)y#2s`@P=z))|EHMjY*^~7f>3$;4T`kwO=R~jrR&Kyepz-4eby(drUhd0J+f_ zRw8=S_nwuAF6V`AVwWK`er&Q?NVN}zieZ{KLx;in=W8t*yJ4DVjk&*RGP`drqW7D# z;vkyzHkddl9^&y+8xdWQ0H`|+v&C3*;~~mseTgl9Djve!6ibr;SkZQvu*we0|I}pW zYcHbrgL-=r-N+oY$9wWpVlF{M)X?RYpew_PGhOH?M$#1{h@Dysug%TwUMM52cM#F_ zAOqd71jQwRVSpRDT4Sh}97Xibmw^hMMD!YvfzCOJ=+!X;*^LB)G4-AmM0Bsq77q$$ zI-#p{hESQp)rq7Jh=^X5vBd$Rg-*?)h%WsZ)`e7vrfg^I>h=tX)q-?lN8fhFZZpEy zje-YBK_$i-Q`ES4Z4_LB!sDJB)u=>Ix=bZHSfV-6-6|2?*LRRR(V;Hl5=;Evw7^B| zO}D4xYn=`vd%DYR>HPHv&QmIkuQzos&O(e9&O+;_(JK*S!qyt3gwoJI-fHy#<+PP82 zXTQ6cZX(hEpPvOM2i)MJ=reNM>|sHal?^w%xkL=0@m`__U6)PJyFNw<7_PJh;Ib|T zw3D79dd*}+v+)x3W?DV%g$tV17zm~FUSgu@k2zyptUc)vZ!uVu>-^l#Uy4wzw-{^s zJ4eY|)R{tVdy9ppkO@BGWK+maA5@m9ov#>RD@%HOPic%8MubB7*K&o0?Dul?bU&q< wz7i*TT7vhSj1yPd`bE!l^+>EgsJ7X%I{ent=QZ2k9GC+?oK~a^A3gm40i!cJzyJUM delta 11808 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, new \SplFileInfo(__DIR__ . '/../vendor/composer/autoload_files.php')); $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../vendor/composer/autoload_namespaces.php')); $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../vendor/composer/autoload_real.php')); - $staticAutoload = new \SplFileInfo(__DIR__ . '/../vendor/composer/autoload_static.php'); - if ($staticAutoload->isFile()) { - $this->addFile($phar, $staticAutoload); - } - $this->addFile($phar, new \SplFileInfo(__DIR__ . '/../vendor/composer/ClassLoader.php')); + if (file_exists(__DIR__ . '/../vendor/composer/autoload_static.php')) { + $content = file_get_contents(__DIR__ . '/../vendor/composer/autoload_static.php'); + $content = str_replace('__DIR__ . \'/../..\' . \'/daux\'', 'PHAR_DIR . \'/daux\'', $content); + $phar->addFromString('vendor/composer/autoload_static.php', $content); + } + $content = file_get_contents(__DIR__ . '/../vendor/composer/autoload_psr4.php'); $content = str_replace('$baseDir . \'/daux\'', 'PHAR_DIR . \'/daux\'', $content); $phar->addFromString('vendor/composer/autoload_psr4.php', $content); diff --git a/libs/Format/HTML/ContentTypes/Markdown/TOC/Processor.php b/libs/Format/HTML/ContentTypes/Markdown/TOC/Processor.php index 9618094..bfe6a75 100644 --- a/libs/Format/HTML/ContentTypes/Markdown/TOC/Processor.php +++ b/libs/Format/HTML/ContentTypes/Markdown/TOC/Processor.php @@ -184,21 +184,34 @@ class Processor implements DocumentProcessorInterface return $list; } + protected function setNull($object, $property) { + $prop = new \ReflectionProperty(get_class($object), $property); + $prop->setAccessible(true); + $prop->setValue($object, null); + } + /** * @param Heading $node * @return Node[] */ protected function cloneChildren(Heading $node) { - $deepCopy = new DeepCopy(); - $firstClone = clone $node; - // We have no choice but to hack into the system to reset the parent, to avoid cloning the complete tree - $method = new ReflectionMethod(get_class($firstClone), 'setParent'); - $method->setAccessible(true); - $method->invoke($firstClone, null); + // We have no choice but to hack into the + // system to reset the parent, previous and next + $this->setNull($firstClone, 'parent'); + $this->setNull($firstClone, 'previous'); + $this->setNull($firstClone, 'next'); + // Also, the child elements need to know the next parents + foreach ($firstClone->children() as $subnode) { + $method = new ReflectionMethod(get_class($subnode), 'setParent'); + $method->setAccessible(true); + $method->invoke($subnode, $firstClone); + } + + $deepCopy = new DeepCopy(); return $deepCopy->copy($firstClone)->children(); } }