From e98607f5d08bd7b0b89c18da1cd5c38093f19ffe Mon Sep 17 00:00:00 2001 From: Vadym Slizov Date: Sun, 17 May 2020 23:50:23 +0300 Subject: [PATCH] [refactoring] use position.Position to store token position --- internal/php5/parser.go | 10 +- internal/php5/php5.go | Bin 352441 -> 353481 bytes internal/php7/parser.go | 10 +- internal/positionbuilder/position_builder.go | 44 ++--- .../positionbuilder/position_builder_test.go | 156 ++++++++++-------- internal/scanner/lexer.go | 8 +- internal/scanner/token.go | 12 +- 7 files changed, 126 insertions(+), 114 deletions(-) diff --git a/internal/php5/parser.go b/internal/php5/parser.go index d4ec16d..e3b2dc9 100644 --- a/internal/php5/parser.go +++ b/internal/php5/parser.go @@ -8,7 +8,6 @@ import ( "github.com/z7zmey/php-parser/internal/scanner" "github.com/z7zmey/php-parser/pkg/ast" "github.com/z7zmey/php-parser/pkg/errors" - "github.com/z7zmey/php-parser/pkg/position" "github.com/z7zmey/php-parser/pkg/token" ) @@ -45,14 +44,9 @@ func (l *Parser) Lex(lval *yySymType) int { } func (l *Parser) Error(msg string) { - pos := &position.Position{ - StartLine: l.currentToken.StartLine, - EndLine: l.currentToken.EndLine, - StartPos: l.currentToken.StartPos, - EndPos: l.currentToken.EndPos, - } + var pos = l.currentToken.Position - l.Lexer.AddError(errors.NewError(msg, pos)) + l.Lexer.AddError(errors.NewError(msg, &pos)) } func (l *Parser) WithTokens() { diff --git a/internal/php5/php5.go b/internal/php5/php5.go index b63ef14d9ac832ea4a8f75c6ef740c1df8969913..c822f382c48cfe6e2733cae244a389469472bf4d 100644 GIT binary patch delta 7013 zcmY+Jd0bY-8pl7g923P2HxNAs1Qdld#9T1VjcZAoucnksE_f}M>QY@4abKs7?EEHjs=T(VFT&F-9M&N(yJfAD*L&-2VP&#dRXdyX_baiZa@ zU8qMh?B~aOG(#MT|1j|%lQ*(ZAyCc@Y_jVi=mT34VDYR_bikANq%hP5JDSOgB2cCW zV_TplHuzc+iv_fl3c#V3Qn7>cNs*`?_DAZd~>$a#3P)sf{c}hDp3fcmyY>(0v zWp_jim1WN^I#qN-)s&@w4-^LZj}D(>*lvl|x>!fWNGe)tcM{-qD$4R8ZK?*X(iHG7)6nx?a27jLldjA}E1?$9 z?uT;_QuN6@RAso~`H6J2vzkXMv(R109{loFqV-^zRV;coCL2A0=746bN6nRXFdvPF z7C?*Nh*A_?+>9nEO4^1}6;LKQhq{n?E$cX2mXu_p*4^)Z^~H#(DjxI z!G69arzt1}x6x+1Qv%w!-7wkOO7yWE7lvf$JrwTc&9d*yxnfH!;eiHKI&As_^>ZVz z1`p9N4?cLPDSv1RPp(3>yc~G;U#K0-CrIKZ!IM7j=~+3*5qlNsm{SS|*jM}NmYKRW}c$b@(BagW%5R5|z{{ho@~LK;BZ(;O;X zD3Y2mUAAlkZ!!Zv0z;tovv74t5op*Pyu~9HF<+(y($)D+T0kup;0!wm7qnS5o0^X0 zeg;W&Sd6u+M9oYb;aRf&OYnNHTmDP2+;+h&cNq?cB!I4eh|kLjvQZ@e)kpZSBA$&q z$O&R={yBJn($ey9u}h`U(nhh0qBdc;nDl^Pn?zZhBrLvgE3WAg`((Q;naIK7V|L&` z_ZSM{t9RprZbvLOnad)9;j=|fk$|S`!Pi|wlc(*&;-52;Y|Q~RcC6b$xmN8Cv)cz% zW!Tn3c&qEfQx4-)6|dIkI7Ly;QS7gxpZr3_;ERg2!t+xlxRWw$UaDH==Sp#f zjb;7pWs1*Y!;@GD49qN`ykBvGtC_r3B|f6)<^$Z`wKRFR$GF7Pc83u;dCLmt(L$QuVV+%u58sw|6|kmXPr`>xL?SVV3VK(V2u0%{Kw z7e@Y6G$ew+2E~OY@62G7-by}(_XwUBMV=^^BTqXTr15oILR1=$Vg$HlDuBKbZvWI zNnBWlLc-v3x4)iLfR9kGGX?F%Ez#@Qz`;&MpayRzlD|~G8Lv4725rMIosNvq>C#A@ z9*ou-4;-sC&f~@rd8dGwPrXTYs`kpq>y$fDr{uTvn9JTF+B?~2$xhbrW>@wekvDFj zH&cjwPXJmlg~)RYXxmg>J2g$$ew*Rc1uSdNCTpN(HnEbqa-M@Uc^=7!`3e-bh>YSFi88TCOWt}6zDt>7>30LFk|22_U8)&=y64|9J3%)14RTRIg?1B$;#=DWjX@{0Rf$9cd*Qlx2B zx@E>=-E#L6&2mKsg#!iZ)deZwzaTos8)G){DJ8Ms>J&~FaH^zfPw}T&O(5`4VA*H8dCWZ z1|fy#2iW8cP;Imo`)`^E!_teeazjU3uakuR6-RuRMV z)nsPpHQ@6$&=#<{!xz-!n>AwoJERwUGTpDkq@7CPO$%v*>d+PY(`x@cN@7p;$h{CE zoZKt-F=#1upR*2uat}~>?*@A9FkL5$Zh!G@c$6l{BHH0+9HVgihltO8;k9M4TVFT@ zEv9miOPozcm|FagI@rVp-H_b|xPL?T z1YpCD3iyx;`ZA;eA&&h-8FUh8>P<;p(A!?FeC@AP9};ZyF6E1{|EwHloHZi2;e7xirPjl)D38JfKg4+nTAHJqR=2iept6H*@a+Zi^z)$cmP?z zQ)U|QtqB@>#WF6d1bv}~94^o*!i*@j!eSzgj*9*jZA|kDz(d*^_3R{gOgqD0-Y(jS zpDu=XG@Og7O>H_G>!2xNWbt3(jDJD^pqX6_=O-Lni|lR;QQF#`#vmZ^lZD0W#OpM> zk0D>mgcid4y=chI6D)%h44?AL=%*|#KICP?IkZGf7U7c>0k^9@BOKBcWU`1s23({7 b$~EBgUoq~v;Z6QgqE1_e>U3~~@d*D9=q|R^ delta 5065 zcmXw-dtA?F8^>Sw;hQ3{o^ojY3Q44uQ#Oo+L`2SVXlXIy$@yFnL$g|wLvAy28aXem zx@EI44~orr^e|6oPjeWLIfg>k@4l|%)S$T~j~#vQ-9Vwqh9un)xA|_hYL~Tyksn zfiQHfE$ai+Gl&HNt?IyHO)lLan56*~zRNxbYiu_nrw>>ium<&HEupkoz1S9$xLt4d zHW;V$Ve?IBK{zW1>CFK4zBF!Q22(|U;|Au`%oX5U{J)Bs89h|Wc8|R$>jZ^0dk`u9&K}pz3 zm7a`J_a$sS?DO%bi~+f>VAYn{aoaSO<6x+IHG2eA)KzS&-Rh-FHnAFeJzo0GR@MSE z|6OddJ&TwAZa13;6uyte1C<_N3xTHPuqi++IcP7{{{h=)yxkwNhV}&B zDy))a*+E;+n2)^(Zx#OBoS(Or4T=tU$(&7b`BA)s z{h++`UdiKOTb&&_w&|G@FN5trcIIEe_Oo30HQ2=0Z}D^!+Rv4j7^CXo#>d$ube zezcU=h3%#-;|E~zQ7O1o5uIAykfpMmD)?BNGYLz4F5K?T$v6J)!7 zfY*o0>*nAFf5_n;Fu5uV_;FL4Dm{!9Wfs!5t{&mHq44q_xPTnI2s@r#gl91N7zC=O z$Ds&)^Egj{xWzy5`9N;}qAEg8gMYypTBlDj?*iF3pT!Cz&+$qqKkhtdu-#=BxdXWE zzJx^#EJgn}rTir<)bt9K+U+VD?_cG|j8UB{!@!xf54CBS&vmT6;yPCU?G3sb@xK$b zsUW)b2homOMC0!e+3xbAP;AwGm^3!s|1lp3T0te9rmEt>aGLjC;~DCUOu)@mjfL1| zin}a?d1h3S6sBAqXpz%w2XyLKN8}i9?ubr#j^Zn5UVJ@~4lQfqf?l^>z)OAA0AWBw zT;*XyOtAeeaS#$rcN5c~_*acZHFVhBLyQJ%x~EtN+X!hc_Jg&akGKou<}2O+b?_7T zKn-d`G^H(4cFH?&xAe{+G9GU)BrNeqM}by{&ZM<@kF)_@Nt^b*_zM>&;S^$j6y zcrVhLg;GTCFk!(OllqaC+Ml$85kwaUk+pI#X-$U_bsr({!ytMTZZ|t|G?u(^tf+xf zbTrYW7@|k9L@pC(iS{2;;t`*S9Efc>MH~Wp`cI;hQ;F71r&v8xz*k)Mwb@v}tGQwU z>~ZY^!GZD;gcDF%5^1j&ljggW4z2exf#bGj1>TFC6tN4=dv2PDgCx(>#YjUcJ_Fsn zR*M#3j9DvirtQcix~)V@u=;N#ZQ3T`16ocNS)XhbM?pKkL*$tTsO>xP&JN#&;E;`r z9?ljAp-U_F&|Mt7Pkag5>;0mmdBf<)Tw%U@Z2Elu@b1=J?i0{`$UHy5WRXt6!KKS4AkDw1it#p zo{JP{&(bQaSRZ&P3bBo^$?E@xtRtBOs|pkn2532gUL$23yu{t=qU}^&38N{qo`l~k zeVnCb(yPh!tvJg@@caal;GP+5;H1&H(yfj@xF!WvsuC5OCLMg7d z#Je~#Ou}@{Ue*t1<@Wv($4yZLQQ07(s=-8!hDjVKw}ulHjFgz=w$7aZ7$RBY&+G&-Km=@Ne;_sx*q;dpke zk%18Ku=Yh~4t9Gc!tnK&!a+&%p>ETcHptU(HI8hgqg%2GuB-OlEIS&bnx7>jO|F|+ z(u@ZkyG3q<6+O1gRzNY|NPnQ+yJP`GF4~QY2i1N;o2TdZJ<<rgI4>`o|Lawei*q&Phkeu;mvdb?R4iTX2Eyb;2bim2?@i23|oZCs^|v#)V$R z^s45+DCLw*!{`b)R)jc@`s*k@