From 2b969e2fdc5cb5c7b2f8622d0d8ba2efcb2b2825 Mon Sep 17 00:00:00 2001 From: rusefi Date: Wed, 15 Mar 2023 23:56:23 -0400 Subject: [PATCH] more better progress only:alphax-4chan --- .../pinout/PinoutLogicIntegratedTest.java | 13 ++++++++++- java_tools/enum2string.jar | Bin 93586 -> 94333 bytes .../java/com/rusefi/enum_reader/Value.java | 21 +++++++++++++----- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/java_tools/configuration_definition/src/test/java/com/rusefi/pinout/PinoutLogicIntegratedTest.java b/java_tools/configuration_definition/src/test/java/com/rusefi/pinout/PinoutLogicIntegratedTest.java index 970286a94e..d4bdde22c9 100644 --- a/java_tools/configuration_definition/src/test/java/com/rusefi/pinout/PinoutLogicIntegratedTest.java +++ b/java_tools/configuration_definition/src/test/java/com/rusefi/pinout/PinoutLogicIntegratedTest.java @@ -4,6 +4,7 @@ import com.rusefi.EnumsReader; import com.rusefi.ReaderState; import com.rusefi.ReaderStateImpl; import com.rusefi.VariableRegistry; +import com.rusefi.enum_reader.Value; import com.rusefi.newparse.ParseState; import org.junit.Test; @@ -101,7 +102,7 @@ public class PinoutLogicIntegratedTest { state.getEnumsReader().read(new StringReader("enum class Gpio : uint16_t {\n" + "Unassigned = 0,\n" + "Invalid = 0x01,\n" + - "E11 = 2,\n" + + "E11 = 0x0B,\n" + "};")); ParseState definitionState = new ParseState(state.getEnumsReader()); @@ -112,4 +113,14 @@ public class PinoutLogicIntegratedTest { assertEquals(expected, testWriter.getBuffer().toString()); } + + @Test + public void parseInt() { + assertEquals(1, Value.parseInt("1")); + assertEquals(10, Value.parseInt("0x0a")); + assertEquals(10, Value.parseInt("0xa")); + assertEquals(10, Value.parseInt("0Xa")); + assertEquals(11, Value.parseInt("0x0B")); + } + } diff --git a/java_tools/enum2string.jar b/java_tools/enum2string.jar index f70c09f09c29b3135c531588f36b9fa09ea2cd46..bc91d299563b57ee560e5fffc0101ed82fe26e59 100644 GIT binary patch delta 12076 zcmZX41yCJJ(>4e9;I6?vXdvjp-QC@t;Bp8WJm?AT?!gHff(IwKJHahD{19^Mz4!mN zYB^7J_tV|eJ3BSQcHBJ7{R#}Kq6`!?A_N3HJj7j_gL*6~74)CqxAstq)_$=? z;vt$pztvZ*kbgi;6BIw{3%WtyLjHr|H%QpgpRK=Ppy-T3LqMoM`F$OKLP7xcHUJ=j zg4OIa2-VR1xDaeH>d{_1XlG?%31g%r<<$i(Y4f6dOXdw6vZ z<+mD`VFD#Fa&k4hym7*Pc}Rsq9u?ZQDkjvpj&f1ovRdmLk02LNCn6X5tdr1ZC_w1R{U+ayw3b8ndcY`tb zxfBQsR+lv1V00rCj!3fBs4mncXPCHI$M*sOb$G)$W)@m=9zgYnnVskW1}lvb0j-~}sFG4F z4paJyDY&#*O3CPKy~657o%;FO(U&mzNq^OMNtR^Q$T#bX<(pLZIn!s*!YlnS{l>)z z6Ik7Y?`RTy9#FB_Nw-shXrv}M461V7(hR0Rv{-?h;W61`bl|S=-8YJzGgONtnGjV{ za>vcEn9a7)q*j$!s?_%+y6VMoKai#x&vtv#77MSstV%`A3^+VKbP4+fiYSq()e}y!^@DKWfn8{b z1h6Mq)TB_roYl+SQLNBOePl{68}>r*B*}ys223dsJ2K zA}UZ*MCguviiZmjTQnvY}1A!F8Zn}$Z=}cXVph3(1 zW2u6%tWM{0>^=ONZP!pT5qY|G$+F=Y<;7xK5Jl;GJq=>MBU;j4{8E_2k#l$;c>8^hm{dhkL~|)+5S;0sX4C5Wkv`9EN1) zP;<`*?e(SR9*%@@4_yMdrW1T&8qVKPYQKS2q-&Y4tQ=zNV}1kIC|crZbE!%Yl(jMC z%yh#l2C9r~4wXfk?=>>9lqgvk! zP^8;F0W0R2fv&B4q_|yu z%#rzHOHO{|q4v0gS}d17xi8|x_(aCOPL$*xk5&|o{K-<-D5~Ppk#vT3@UUK-EXJW~ zzEkS%5y_#!zz(MQnn)~D0b|i;s;H*$k=}6&_iuwMzpTd@Jdf0slX^8a-9k$EWb#u= zQ^1GeHTJuVqH||H`mbwLlN9nx=f5y!d#tgXCyp8D#5-aOk|X@;3edzoNuD9SgZtkS z`m|)$_)rYMysV7UbU_Hut7y#_n>!4~^U6r080wgg2LaK|2?0S40gf^RP=Ly{5qwmC z{uJCci}Orw`Sb>jj8bTZ@`o(^Ek=D18f6@`EF}DECrSOd*nZj1FrC`vQ}y-g^VT*1 zojQiPe5RtHELSU=pY_@Y#x^!}sd}~t`g^da_anXz^>4y_{FaYs91dHLmRyGUw?Xx| z?Uz%&uQ0}h%R9y1o;uT1_7#HE^><%KX>6+SR8BQbb-T8RQ(wHROk9SgsdP~Suz>ro zPc>O$#BoV*8y)=u`BFB<_BU{Fqc)>X?c?KF-j8|MCrYG7tSvCd49PF$oT=mMQ(Dyb zn|vi|)D-7^-zG}UtGCbz9_Xt)WA>b&i)W@ul|OWg1%vk%DB4?3;Tu7HCe^L7_B9J) zC@o+80~a(p$WaG#m;1eSYlA3GKMqh(^R2PXF@!RM*Kgl1u|QXT>V-{T-dtn2UWD<% zHaOV0?2ES9a4H`@a>YD>+gu6Va1sH4KHsMK-hTM_9J&;ZWCyxP^1()hjdB zE)89up!Slp>5a?1FK0!=y&J~vgX<(?3$5=+r#*$X&rIEfw}I&j@2&-!es0RQ8EiZB zMZj%z1ill@JL`G}QrULcy|Yv5dP+uOTf)^(cDvX0p~CSxBLdVuqR>}OV|D|@bDO}I zF?Ag({}9`9UHxW;Dd$0yL~&*4ogl?Lh`tg;{aSEPRkxwZ*F-{OaBC~NerRusQ~&#h zee;j@X#?W(P_L4C<5;003mz3CUv8|ZYmsWE2g8NQ>uuTLo+Kt$xhNag<|sNEyhEcB z%U{TsYVOJ2L%yJUb4r}@9_v@|s&BR0$v8?(me!&#P;jYcu}z16O;6VqnBxaTX*V<# z7q162Gr39|Qfr)T75t9=9Ysi>{kc&9?r_s+Kxe+HqB?@#%nL2m#Kv22w&mi<;p5TTIZVU4_*w})ipY1brIT`on++Yy zXNloqi~)EtR%4GLs&nPxrksJwONjWD-+~z|96s3Zb?Ftrlfox6owVth=PkA~SRy8T zOMh6w0a22HT)fB7_fY(MD1#Fv`4GST3}Y%cS0E#Z*oV`w;H#w}iC*pSOtcu}qEXcSsT;V(E89Lw5At69WN-&tL&V9?Fq)SMp(879K z0>VkM!hwu<){p)na>rsM#Q-h%23C#?4 zT;hS+h3W+srnepT?OBJIG2hV(60X{;eK3Tq)qbzRR$@LIaK>*gTk&=5+hen19zQB$ zUH6*ahc^=?tM3yw2WGp1lHXCFvLbVK$Z~}rC{;pOxj_up_(S&rhc8Y9Kt)VMVaa+2 zV<@04KbT4`@2>L!as;wcZbn*rcsfI{Daq&Tq-qP<%401;gv&}41N$=*?O40ZCKIC| zQw}!WugT0sJ{F-h)`nPySPPks^eY2ay`%-iS~;6l2s{U3?tGJUJH`4IufDhp&)Oa0 zy5Rsc`JCk0<|HQ#>)UMWfHi_sv!xv>g5#iTmmgE|4^$I%j|TMI5(Qe=`4Xzf*rEMN zF*Sv?r?qChS(Fngw4h4T4d+{`+N?yNR&?YPw!NIQwwHa{7o1m%A0#=F%Fx&y>6mTZ zLPUS;g@ zs$CwatQ1k&HvoYjKxPV|Is^iFi;J$vE!~_J9wkB4M_f-8oPcP*+gebMRC@*%1}+| zKK1Qv1JHktoeuo!>{b`N9xFdlvM3!g)$S4$2ZVYLY0k~yNqEQC?%#075O|ow(iMa3G5<>B4+*6 z!=Hp}M`xe?%Ka{r-u2I)sQ=?eemfIp)U;Rmr!Sr+t&0Xk5<-3i=BgLD9DKZR>*05aG!Io{y6{s9LT3*ATER9`GH2;9` z>7XuF%Z24-+a9kjy|ElVJJo9Spv*O6yV~rgI@S;_bq3a2r#X*8E0aC26NGf?1!5|f^!m5%iW~c(W|J0OzmPVf? zSQpvWnjPhU&n^j=SumeYu>U4?S(qjwsT>kby%i1m4Mz-F%r3CXJuJNimcNp*hlPTM z@>|`$SV!rxgwuB#A$QGe)duva29xn0lO(8cZ$*;v4Tn-*lN~L9d_&Z`%^+I1;DSZ{ z1Os%kYF^XVxmv&!-3BTuAu~GDtFQIPO)8f6nVqpzzfsMFfL7gfgC{u2$tC1$;bb0> z9%m!nk^6C@{Y5!=H2y;;yJv_>D$?@k7XF-%Q{XP2obINXCs}ypT(!yakEXNBSwVcs zYU8ijOrtmi``BoaAi!1b$*{hp0}KM0P!8sC4ZM9N(^L{!g4@-4b(L>6YuKB~Mpik` zLo9njBN`ARkyPX3Y(8F0eF*kT1eAn4_QYQBDrXdZmH%R6w!ZH*17amuPTXPZQRCu5)rh

{iXM)oaTtk}~g1 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 { } public int getIntValue() { - if (value.toLowerCase().startsWith("0x")) - return Integer.parseInt(value.substring(2), 16); - return Integer.parseInt(value); + return parseInt(value); + } + + public static int parseInt(String value) { + String trimmed = value.trim(); + if (trimmed.toLowerCase().startsWith("0x")) + return Integer.parseInt(trimmed.substring(2), 16); + return Integer.parseInt(trimmed); } @Override @@ -51,9 +56,13 @@ public class Value implements Comparable { try { return getIntValue(); } catch (NumberFormatException e) { - String resolvedValue = registry.get(value); - Objects.requireNonNull(resolvedValue, value); - return Integer.parseInt(resolvedValue); + return handleNotInteger(registry); } } + + private int handleNotInteger(VariableRegistry registry) { + String resolvedValue = registry.get(value); + Objects.requireNonNull(resolvedValue, value); + return Integer.parseInt(resolvedValue); + } }