From 7cd6059adaffe93398686ce791c4c8da48d2fa88 Mon Sep 17 00:00:00 2001 From: Danielku15 Date: Tue, 27 Aug 2019 17:34:17 +0200 Subject: [PATCH 1/7] Updated compiler to respect new camelCase naming conventions --- Phase/Compiler/Phase.Translator.dll | Bin 200704 -> 201728 bytes Phase/Compiler/Phase.Translator.pdb | Bin 667136 -> 667136 bytes Phase/Mscorlib/system/Boolean.hx | 4 +- Phase/Mscorlib/system/Byte.hx | 42 +- Phase/Mscorlib/system/ByteArray.hx | 14 +- Phase/Mscorlib/system/ByteArrayEnumerable.hx | 2 +- Phase/Mscorlib/system/ByteArrayEnumerator.hx | 8 +- Phase/Mscorlib/system/Char.hx | 64 +-- Phase/Mscorlib/system/CharArray.hx | 14 +- Phase/Mscorlib/system/CharArrayEnumerable.hx | 2 +- Phase/Mscorlib/system/CharArrayEnumerator.hx | 8 +- Phase/Mscorlib/system/Convert.hx | 510 +++++++++--------- Phase/Mscorlib/system/CsMath.hx | 60 +-- Phase/Mscorlib/system/CsString.hx | 143 ++--- Phase/Mscorlib/system/CsType.hx | 4 +- Phase/Mscorlib/system/Double.hx | 56 +- Phase/Mscorlib/system/DoubleArray.hx | 14 +- .../Mscorlib/system/DoubleArrayEnumerable.hx | 2 +- .../Mscorlib/system/DoubleArrayEnumerator.hx | 8 +- Phase/Mscorlib/system/EventAction.hx | 10 +- Phase/Mscorlib/system/EventAction1.hx | 10 +- Phase/Mscorlib/system/EventAction2.hx | 10 +- Phase/Mscorlib/system/Exception.hx | 4 +- Phase/Mscorlib/system/FixedArray.hx | 14 +- Phase/Mscorlib/system/HaxeExtensions.hx | 50 +- Phase/Mscorlib/system/Int16.hx | 44 +- Phase/Mscorlib/system/Int16Array.hx | 14 +- Phase/Mscorlib/system/Int16ArrayEnumerable.hx | 2 +- Phase/Mscorlib/system/Int16ArrayEnumerator.hx | 8 +- Phase/Mscorlib/system/Int32.hx | 50 +- Phase/Mscorlib/system/Int32Array.hx | 14 +- Phase/Mscorlib/system/Int32ArrayEnumerable.hx | 2 +- Phase/Mscorlib/system/Int32ArrayEnumerator.hx | 8 +- Phase/Mscorlib/system/Int64.hx | 46 +- Phase/Mscorlib/system/Int64Array.hx | 14 +- Phase/Mscorlib/system/Int64ArrayEnumerable.hx | 2 +- Phase/Mscorlib/system/Int64ArrayEnumerator.hx | 8 +- Phase/Mscorlib/system/Nullable.hx | 4 +- Phase/Mscorlib/system/ObjectExtensions.hx | 12 +- Phase/Mscorlib/system/SByte.hx | 42 +- Phase/Mscorlib/system/SByteArray.hx | 14 +- Phase/Mscorlib/system/SByteArrayEnumerable.hx | 2 +- Phase/Mscorlib/system/SByteArrayEnumerator.hx | 8 +- Phase/Mscorlib/system/Single.hx | 60 +-- Phase/Mscorlib/system/SingleArray.hx | 14 +- .../Mscorlib/system/SingleArrayEnumerable.hx | 2 +- .../Mscorlib/system/SingleArrayEnumerator.hx | 8 +- Phase/Mscorlib/system/UInt16.hx | 42 +- Phase/Mscorlib/system/UInt16Array.hx | 14 +- .../Mscorlib/system/UInt16ArrayEnumerable.hx | 2 +- .../Mscorlib/system/UInt16ArrayEnumerator.hx | 8 +- Phase/Mscorlib/system/UInt32.hx | 42 +- Phase/Mscorlib/system/UInt32Array.hx | 14 +- .../Mscorlib/system/UInt32ArrayEnumerable.hx | 2 +- .../Mscorlib/system/UInt32ArrayEnumerator.hx | 8 +- Phase/Mscorlib/system/UInt64.hx | 38 +- Phase/Mscorlib/system/UInt64Array.hx | 14 +- .../Mscorlib/system/UInt64ArrayEnumerable.hx | 2 +- .../Mscorlib/system/UInt64ArrayEnumerator.hx | 8 +- .../system/collections/generic/IEnumerable.hx | 2 +- .../system/collections/generic/IEnumerator.hx | 6 +- .../collections/generic/IterableEnumerable.hx | 2 +- .../collections/generic/IteratorEnumerator.hx | 8 +- 63 files changed, 822 insertions(+), 821 deletions(-) diff --git a/Phase/Compiler/Phase.Translator.dll b/Phase/Compiler/Phase.Translator.dll index ecb8834265ac6ac863ab55980e5d9245ef787084..7cfbec80e8a3926b0e658979e6e4f364bc80f69a 100644 GIT binary patch delta 67794 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 G8vZ}5v-7?H delta 66974 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

wKtg=#`Y`s`T@hpbieUnVzMoM<7=+A*>3Pn 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%0DKD=Yct`5n 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 PvHP7nXg~9+p634r&pfDG diff --git a/Phase/Compiler/Phase.Translator.pdb b/Phase/Compiler/Phase.Translator.pdb index dc748c28b85f50025d7179a428708898b16c260a..b04538f36b8db87be793f91f829813c1a3dd7fe0 100644 GIT binary patch delta 78550 zcmbT937k&V8~E?J_s%uL7&B%VvzWy)##mVQ#8b1=_~b#T2R=rUk)+5m-y%I-Mf!@I`{vxgdh0)eK+5noMh$OJjd>#=Gqh0 zO^$}Cmv@;Fo1Eq~Q-*#&V)y*JKTSB^;-P_;Ds6gb(ubGr^{)*YIjrx`uMRyqsKUma zg=$lFb0_7M@5+92_Qet9t}kdEH6^y+{G8JnvyOFo>U8M2kmB*zo6XmTTRMd{cap#T z;Gw^_4-8*1Eoa=phc}h0UgMeP8kf77Q?S586SH4DSkIrj++3vQhBi;BaJPQR>&1s{ z-krVsm;S@Py`1~@^&;)E^CH`?ZJg67;_1Gw%buali>3Tj2OtDOdVj`=d#zig#Dles5ZxiMv9YZ7g@S@|=km zf6Y99zSW;cBemgzX`wAPx0rTUrR<$tq~XB!-#qk1=bvl6TO)b?;|p*8JfyP!jf7PL z<2Ln;ZsTTPF=a}Lc)jl7i+7DS?ap*A)%c%w6ZN0pB?6rjj^TKD9edIGY0}Ckp zn#s9~Pj}c=wMyi$n`akZ+Wy1mF&$;sj-h`Q`{wWMljr%Pnp%t0merxn&6JHH&z>&v z$j`ms`m^=TEeoPY$F^SZ#^G_Bc8)2~aA1b>$sp}>Zgz|0sPjcSuRk#{>#x+?$=y%o zJ^J{DcZW_rviYB7AFgZp)6*ZiW}(gBY`)w{seAeGN5z-SoH2S&-=0OxcfK*6`7yM0 z-@k7xscN)t)?{D2o6UEscC=rfy71uUns;qwuW$5vgZHx4S!MV8q|I~wQl`pM_VOEV zekffmm2Q6>VNI0DmU_oNGO_df{;Iahw(OPZLr3_Z&8NC6JMDv(E9I+DEN{oZvPJAL z)yW>%bYiA-4^uun*WctLIjfI~k1Kx1-!H$~rktNm!zp}QmV~PW$q83g!oEhpKclJS z&Qb}^1&)(keN*Qbj!WN`i{Yw`bCKinx21kT)ztZw<0`jhT0zy&xx{hp+mcj8)h--# z^*h%>DZZqW6rnOq{2h%@@zO6sMVdHt19>`tM>nud2XILs!>oPVe=9s=n9eo|)Z&t) zl~740tl!p3l6SJ~Rg*YrA-Z0KcW-I zSEKJ;cA0&gBC@`QO3n8$ikqC1Z>Zqq!k zMO_dj#z;ghRU#@e#&fMt4rL?zIki-R`c8V(QpsRkEs9!S_SaH1oUX(h;l?W}#cHeY zs1bq4B?6Jp%5J~)5azkHRU@Yx=Bx~^z{Jis zV<@Y~%FueM1O8EFhWA3$H`Xhur1qyt7pku+cv{zQqSG6b`LQyhzUwlzA-VmkKHmBu zKM^ax*LSP*em>eYK-m{%R52OU;C`fITHX(NRx!EQ;C>|Xml)n3d5>a&eAFA@B+Ed048IJn(an)<;`=DKaPA=G3k@z%Bjt0Ikwmem0eo-1WJD~`6kD$EFxt( z0}-7oCY>9)_V@GsZbR$`p^S}_qYdxZpIfW#c$$)9AkPokl9r8H{{1ks7Hs z-uaA{tj5TPAfFs39U2EyN{|hW@iP?pmN+@o*v%9<&I})h=s&uZiJ2PIR)uWar6}OjCg5C2T#JeO)(vTsC&F@X?j1+m}Z!cL_RfMDmGIY z@l)fyg!HA}oW`BUH=QQFEM6A3qUW5^OmR`j_I9LmwiyK(MdVZQVm5cvzh7njn&bIt zlo1IszWM!AeNM|qBhOBdJI&pksC}6LvYIsq@XdX*7QB`S)lD`dA z^=>N_V`d~u?KUb+uC`L4>PPvz6@BBgfrz^M2qnUgQlYhKOJd_%a}AFtiPMR4sI^Kf zd-{PS&f>mbF~cZN3~o{G-JvKREW+m`u8m5L`aK{{LTtO@7HwR|i`u9<&IBA+C@$Z$ zajPk{E!E^h)VH{FZmZHvIKHhaYCd1wJJTE5x@Y>Awsc~-*lj5;Y3*nsTZ#wMwxY7* z4Py#l-9nBA;!SQBY#}wAiNp&_l3VTWpN3BDISrGLH%OA9?cLKrqs??CBN~?^KecyF z-FCzU6e`&rR805_DAy+i8^;hQL7wjr?1~a(A12O=m>f-#GacO0ab`K=9g)9;{92N9 z>v;ddbg$Z7S~&$}QnGyGDZOUW3Hemy4<$>tPHz6lOoD9H@@dG&CCg`>f{i^vsy>W- zI`Z|&(&pj&iEq&I8ORSL%b|ze#5cCYPgZB-Gm(FlEG;{8Gx;jnE0;cLRHJcT#&z~? zADvYdXBL)mDej1<@PCeoxJkBrL}gefxS_ctqr68{r1ecOw2hF--SMcl`6VdL?!ri^ zSQkc0SEId=5|YR;Zi=)hWu(Zp8&88?6Zd&f}XkIslN1coKH+54LP1(?wQ+uJ8ijjZ1 ztA1f&?rlaH6-137;@BR@s{gy}A7rYp|?}K=R;XKC=`YM)7ueCsI!t)4(b59|gG z69~(8`&eZpd)aR_5SiES-jf~Hvhn|6HwZ^`vP=4f#LMA9s;Wu%>UvFl66@as)>PU^ zPT;Fgs;XgLf2xc^p6n7bvrwYH#9*~Vg?T-jGTKSbGYlP14N=ETI;V9*)p*?#QIazz zJx;`MNDp#lIC9-%Jf)_YbQ7dJ-dvv~V@5zOdpBD#BT0d4z2!)RT-Jv)xr|$mf?T$T zptU|(Nue2Lob-E|*2%>=>uJ?6%)1Dck>l0MrKeRtD=sB4b{{-iZOx}Xl+xo>viadC zX_;jw$?%pTjU{h3O=`moRaL?#sC0E$s!d=3cvv2upq^2;<;Vn8!*oWA<5PQd#5=Et zWJ~^B6`>CM<8oEL5T_CY^{2K-+KY_AVbF8B_{M}xk(ifMqV?1kL)H&v-qY$O^_B8T z=_x8X#5a<8fGpdgrpw7Gq&!D%Pf-t7TX)$@O_u>}!?%N%NIc)=V29X**Psl{UbTwzWfgi0@TOR(>a$ zt|1Taq`GRz(>v8>^^KI>r8=s5GH#cuq0Y#A8a3qdF0Q}FBz3o{qvlDE-Kv2)Ag}4r z4f%Sv`cWr9ncJuu{(^f|bePkfO!*JUohhnzTsMw`dCVe@{sVgYq>ONh(j8P}aWm5Y z>R~lmIofjM0ZBVb{fyLBx^k(XqtuTZCKgvTy^}xkQ$2giBtiww+%Y0l*b<14ApMT1 zx@M~_Qjy+6rdUpCDgM1GB%#MuiiMdZ51@t`A6KWG;?!R^reB|N@9kE}-{v!As<3YE zj7k|*<@nDkR)(KY8yvkp(fO97oun)7e9Ol@CNF-oR=LlcCnzfohfGT4r)BJ_{` zR;@O}&ybO~|M8NPYtJwcZFELOMFmAV7i7XXCiU)y#LCz+44}T2RcBN}m}jDlI$jGq zdq!m|rwi^*?31*!)ZmGI_pAJ@I%%HR=kNTzI%GOKxc{|Dm$Y+gma~)Nyma~C9QU)l zbmiYU)*5I^yPp|_?n1R9T}J$@nike(xW2b=K$Js26JT}Fc*#b|%w2Y@%($eQ zn{7XnFD|JUQTuydR(mQswTP3+)t6`{g=9W(^(C64EW*N2l5Ei$m82{PvCZ2zBrOTs z+c)l4OOiP%%nftOGuH=v^2B2bB<#>Q~K!R^Bjj~%91oQ$qdi*??^LQ zjQI&+sZ6<2#!QMTm8q-GYn-}ST$AGIW+Qc8dZ(M2&d*prmMII;&H9KwPd7`-*|Mf> z4$PE0>1Io0Ey|iDonJ5;nJFX6x}xof!Y?8k7w|2|Uv!E|dIhsQ5h`V%{T1y?L2cAa zOe3DmG%KK8hE_I|BZ)bgawx;~SEL+CTqedVnNq);*#@(jT66``icHy3&b3nI@%tO1 z^+CUC3T?kYMc41sXq~HQ-={Lln@#a?UW=|F+M6j660y1q(hQj)AJO7dr>w8?a1E<)zq!0c|O z?D0eev&i;ML}6LpiICK3WILg(o9$e*&fjRGvt)Ia>-U-#-9l76OX4fJZu?gvso|AL zs!W#5@?>8l3;zeRN&3wm~PA@;Fy#r#s;?yNc^+yEZZCB)bMpqGpiJuk~DQrK+T((Du!eZdKh=w+d0X ziD*bL!kig;v7in!h4WIn8WAkC&tyrPYF?!w3bzsE1|z6ZOf3Q_L{&!{f_8dPyL%+s zN2|N(Pem(BYnZk*KTFA)r7Bh0)o`03xBQY$KH|NeB^fo`lQ<5MEUifmtjdy=p6qXA z;bE9<4!Z9#%PAvmYr5{o)g(qmB;0#Eb{ zqVR%VjTqQZ`iQ?*;B?}itR4w4c=sa-bz){ln^L(i?tiD+xO7}<) z_WQRb=eWr%aD!>f;rb>`gDX@o4ZD(?NW#M1D_R-Fyjf3512a3!>$mj1N)^&`kp^ZL z>#d)*uQo8#t%1SN*pX(qWM`X+CVf=TY_p+7$K)Aq%f^t7$PF#XAuuPXYD~za z#~GSKgcU*QVQoVX<3*2bNa+1ws1qTR&SZQ;VjKxdj~xvOmkSNeMC;3-D5Vk6z7K}_ z5i;pFW;G((pF!y*ZF4sm%4$rA9>PoZR0IX`HKssx3riXkt$0xNk2Wk53}rVVLw93~eY#v|}xZ_HCA2X+bou8ZWh0EiwEp7|PQjE)Y-mRgwyqvn`3nMRBJk z(F#@ysJcIdAs2yXxKxKygQ0VTOxk-yD`L>dT^s-4R%ZDa)kYTeG8=%edzp3AH7U~D ztfDUZTl6-cQEIU4?qiNnhE(lq*0ap11!PoTv!uW|U^|plcHy>9!Wk`Rs44B`aBp#CE{moa@1*V(k^Gt7sJZ>gS=;NlI z%5t0uUVGe(Rj7vZEO)b%&WLOqhBMV;C}B zmJK8SOXdAx=4^FR3roq6;bt<&Gl!G2pZvRrn~e&`^C-bM`mjz-8Ey2F7(Pw-Hn;pq zlg!0x!jDw$mEZ38eum04d>5bz^+OU1-hd(SCZvDz892!Y!(k{a2*Y4em>-sa1zYV1h=A4LVP*IlLeh=!wek*ptzjX#J=r{xTF%X85zcuWYjc|3aaqEp^s#*O zf>}v7ky|gA@m&k!mfRW9P(Q5E#R-Ekg!989kd|YRMIS4WMm%(vA+f7WIDv2#m}nXk zTft=5AC{CMFPgCvm@4_k5!7yT1DpaYBcBH;q3<9jCS-DJ%tb#?oOk!ewD| z$X&*jR|~K{>?o~YGGhmJM%{(rBd|AQBI6qZyTW1cQTQxmCh8jlAA`BD7n})u!?~~@ zd>IaaYoN}?diXfu4e$v$LUI#E5j+u4e;MEz_zd!k@LBi=d=B1)V;~LD7z=4o#yF@O zn-6k^ja2N;e*jNCUK!I<<#qeFI6aEmsLU>bK?MHLD~4oA2Q9%XVO6zoM9%E{RA;**EkG$+F%@kVMczVpi$A# z)X&LJVz5)%V?N28Di^i_mk!%RrM`szUH z)u)$vPQz|c$L|GM6!7(i-@zI1dpO&m)o6n`2!22?7ybwrK`qx;yACgh=in}Q9`1(P z!AAjp3$^`s@Mq)~1K}(10^#4_FVLji+D>2OI$ThdG>nTJ#3T3>vOH;AhGn!N)K~j& zGIOT+I`_B=v&@9BKae6cu1ot_W^4w{##fCX&Bj*)-i3{zVHrN%{hN@MY1o#`on=-I ztJ=f6MKpAmzM~4D*51Nl4lF3w@XB2?Y&Pd6GN9$zjV}UiVORvlK%S)D9?sOWkqn z2m>KkiEkK8fx}@c90^OnQ31XHwf#$ha317pa?gD!xQsAYmGA9<-8-ajaC!OGA}9mb z!?JJ#)Q;bW<=`Gz9`1(~pdPen>V~cpydDVOhFqS$JCMuM7ed8reHhf?NSFnA!eLZ` zC3V+dnFHPRSCF-N^s!Y5wj@{swuU->2UwGEM_3DX3&?v0!u?@weAZP@C2pIeX8xz(eizZNyD4Ie&qF{@SJEEWi zayxyUkVO}#!-Zf=mGjX}WI}d=_qiW8il9ynp`7W;0U{q0h`W<0p(qPSY_aK)rd$2Ma>j)&^bQCH!5J7l z31>pxo#+Igg*^21JqKsQ@o+AD@YeA%;U&oD!EJCp+yfUt-AiachoBJt1TKVM>uzTe z2l`&J80rzCHe`v_c!lsy_$tg#6}<*^ccJyMa0y`^`x&o8eJkNC_)5ZMurhoDX2UmO zBe()KhAUwo$l3A@;NiT%>GC}eIbCkQu^J8}JYD9985{Nv!Knn-%0@AN)zg?I3(fej z6Nr%-CuR3SI;$@U>gxImJ`aC@?j08DYB~>fXZjQL!wc{z`~`jve}#ISdf~OZx}RQao+A&OucKH(*!UKVWVPAUS%cze8M&yBIa|&bWu*EV zv%a&IBb8R};%SioqINr$dzsksXj-}mN60p)` z$2(?I$5_jffnx+h3o}@uat+!2Dodop)|#o#d&G`Qmj!EyoxP3-sp;~?TC=kF zbRa!lBGwVur2|>%(sZ3!JN$j3)ChVy{u-WMUx%j;5I0Dd1K2wsa@;gs?yO@;pNdFY zZ)R9K%P7e#5mH>9SZ{_~9})6)8mu=XP3pm2Ps>}+3fnI9Cbe-?$2yJO`mR=SDYgMA zb+N9#nG{jZ$aF`krF7d1#C6x=hHEQoX8Z=?{)@P?OOoQpNG*$pHg1YnH;^Lr;-*Nz zmXwXeDx5AAH<}qHwc%<;ZRC+iYB17LLb^I!6#-k0=}6Sc86BxcKvQZHks1UewIgIw z4{js^wx9dWQkAa&)zgOugJo8l_1Htv|6Nu_3dr~Gn$Z?w|BZLevdUpVSrqz6aAwaI@tK9k@7`xdien8TdIDSArMc2VcBO;5XZFb|xPX}irn z=7Q65Ww%+~EPO`N_Ly&A>>T3MA!a3>DSgb-n@U@`)B;Z|KQ_N|>Y{smtMoi* z)-SB>_~+KV?p%qp?w~o|e0;0F;vw^Q(=(w`U)?*GN`-XQ3GH{PRJy|CQvOkD1+X#-MvBBZTODZi|lWtWv>?ag-g z(~QmcZ)tkolo8`S$Ezr}rGxBu$mif9IrG zBA>H>`ndkFq@6O8tm_{evNO$GA$iACXnx(d>j8A3gL3DTS=oHjxd`Zl9i{; zie}qG@`dIjhr~H!ZZfZb?Em15IUvMoiOUY#c)p3t4%>J{{+VhmzAbhaxpdA9HAifd zzs?bF3?}D^*I}FgoAYMV@(yD<=i(AcD{LiM7nc}*9<7g4vM<_7bV{N6*An?D+DbB^ z6Jw1q%fBgOVyxQc;5TJUj8)m3xm+&BSk=v)E2Kmb!Y{3q&P534t@O_-Vs%qy*SF+i zQ6f})Thd~!+665ZX7t(8yOf$rrC6&>{;xu~LnAu1N|wZ0ZOkpJZ zk#5CsvFaUJpu?ZOBS$rJ*NPK|%UZi5td}iuR!>#ZUnJgo zONFyc;XKN%P3J^jTg!8ea|u>?RZ^l7tvcapXhSvzwBN6#VUA3+qRfzu@?xUZ8LQKY zR+Vr@!OoPRRq8sPLsTtpMVeFYS-n;qt8}aiYzp}5y^ht$KZ;vX@j;PplGh8c#uCo5 z6q#wXNs^K%`(vA=Lz2$0Y)rBm6fBFE2>~xW`(KZnm}D!)oUlnUlC3eAtw^>W3eUi- zg2!hfiqRaucw|DF0)yfSZXmiTNdBh1T3@QU;I%C>eX zr!(pA;BkLLD=B2hJ~A5UuNqpT!rU-twTMKWV(UO&C%dR*G_wA3lDHfzhe%pu5~MqA zY&}*{i*hM~9?|GyJ(8(SgV4vFVX&B?99ItU|K8ZDXgLRv*7{3!d}b%PUCCJ;iEpjH z0vSn=;mxh?tWqCoZarxsmI(vc7*Mmc8RLJVg|#)_Vd2DC@VBJ(BmWEj4n*syw*ZxQ z`v5uC&kBtat--P0djX8Y(*8{bKmYWz!lRZ1bov_7HixB>kJHyqu}h?NxE&=U`dif< z7G#_zx4gbvr^!F}w8ao*!QcKn{dG-a;BL^EV)BS0`*G{Agx9n~t6k7;1D| zjnQ~mlOY2~-Rnv9>ZG=H^|CRFeP_dW**uYZ!s=dR1&T_6h`Jcs=euq(77V0>dPTEl zKpl_Tl(>ObnSyx%Q3*tjv>s?>%JSt_s`NNx7HMl6wquy(b&QKFs zN-8yRy~)2xEe-R99CPgbGq{vVnO6ek=2l17%Np}|c3_q4s;4N0n8lQVdZ4b|M-r|8 zse5;2TFdo{NMXV{YBa0|x#PG~7*<`}DNHPU6nQZ?KuTY-GbgMem`spctLt7*G_*TC zf-ZslR3Lm7mL&W=UJw&cs zP%Fi0M|)edQ__ZVM_RL!JJ}N<@5w(y>0j>bWIrFBqq9r;472K+op;F_!>o#C&t3AF zmM`BWY-4X|*4!;Ehg*BhH9P$gPg#ZYIi(p3Bvg^KXRQ)e0=qET@KeE*XUAB+v>jaS z`jtiU>UO}|v@^%St3{7=5~}!8aLB>Y((WM(Ci-oMydlmKrA&r&}Xb6InJL(*Y7U!&ypW}cPEagjM>kd2I6=2&T(XXaQ%%|br;YYq+{ zmZ@_o@WZlwE@$Bd`FyVR3XkNTdYL*oDa&5AVof_&K6u$$9NID0%bQf%#x{@V=UF}C zizSjMpJ!~3`u}x`8{^_OZTaSN=>38Ug!D8n>+lIKx(Yr6Ml z?Lou+3?DIUxIWMgOxH$a91jix@s>UikCOjC<2^w(OsaLmWH&wSFeNHcdMvPF<2K;4 zA9~$wyzlAV{e8t{<^n4rBuTrMYm=?m;%Bk!g(cNsWWEqQPbpEUu1TfGc$T?Rmc3|I ziPIN@%Kbu3Dy^o4sXSWuLn?2&%G)lj#fqI^PQI#MXkxxF#e8wTdhw$9QU!BLZF9=+ zhBiFD{KEnpL={=;sAs>m=I(}Yp&s66%_+i@NGFY+d`{i#7Sh0k?95c(J#q@h1U4^e!7PEboJo=zY#y%@w3Q^Pg{t63N~85 z{iR^7Sy9K3CnBe3HBP)FLl;@2Z7{IoL8)9XEUM_Q)J9y zt7p^56wkKf15w^ZUwz60W$!!Ra9k2QnNqU8gcZ%e` ziu?D7K6Q$$euZ(RAy2)AXbYm(0-|RA0k&%wY-n|N{eF6B2(qo602u?C+>jy^I$UD zF)uq+M!atIiBHrwZ9ca=xc~1!UvH{hdEF`z(S`WO_-Z|}q@~t)bxK}aYQ<*Mn0CJg zJ3TkNzt@7i+DpOh489wQR%4o+(b2X_k7eZS!ZaDZ%t}f-i+V5*QFdW+A>c|^d?K+;sV1nKeG8xgJvRY3srLe>b^&d%BkewkR{Y9`=USwPAN|?fUazf%jl~BVcN@ z7}=r!fX=-~4D8)!aDOkit#E&nua0wLy5xV;`b^D}({ED90y6@I{2$SJkyLp`5HwVy zzzj)RP6w7KsVg}n`$#c;hE!Z(4V9FYyd|(8wl$#i&HthQ1bu~>_v)zAFv(eA zHIsg;teBi_jGFYPg$MWl!`MF*w5MEc>BDt-{=s)Y?6qxBpCrZSSg~?!l{MIG#fH$; zR?)C|!ML*X6W$>mv6{K@S8`-E4Qta(`DwK^BEDUgmtLULa|54}?6H|LVhxu>sY;%H zhzIxoW9Toft?EA6lsvUm8lLjL$Hx$}-SCVn^rO8p5`oqPNlzIM-&xofSS zowId!$mhYdPN4rS;8%C$ZF-LyI6Ba@N8#@#Uu_?>(P_Vp>^fha_U&1$NRoC;Rqfd; zxOe0}z;+&)EfwFV9F0l)Fkf9UkIcSbjl>qKPR*MX3M(u zR$5vy^zZQ14);CausgE1`D%xs1swL>fWwdV)Pc`~rT+qlmGWfP26A|lNP2pq^_BAO z=P(P|SiZWn4f1pj$E3{D(+@rYxW`}OYf&Jc6x>grGGU_?5^FY^ZQoIh-1ilAxlTLVVV0%*`6L*;Sa455i^iAMpgmqHS=Zeht?8` zP-z=QI6GfjZsX4SF6yitu6#u{=gXLF*5de^g!QL@2lxMTB-Ko$;&!WL%BY5(BK86O zdGsA5&?35i%*fln-KrOV{ePJ9{Ms2P60yS?5dTD@|8~W5ZO11vYlqb><<$SsvqIrW zFsamoG`{4WRz0&zW9hk*hPE!K>T!@Lw^bVA3;~ChxFBeE3;}-slS^HnsVr~$->F=|OX@;7 zx|=o06j`>1`}c2%YA%%edl*sWX;G}%cAlw13)0owQg#y2s}wsd|{XD^vZ$R->@P&*~ED)yiD`7TJcwR=WB9 zvl21GZZT=5$h9E&*?9IYAs+gpL@)jz${)Jx4vV-{rz#gOdsoc;kR50n9-8` znKgyk`@zqw55r20^Hizc7WAbjtS-#t|2|=jWF|l4q;-NRe9q_AbX*)@p<30QK zQt3Du@_k{=3-e~~%4qG$vc5#-P1BXp$&;PcviBxIqL7`KF4-vQ>h-=EEnfqf-y1%* zI2y&^Ru~Tt!UV`-vm1fketP$=yNj|o{E=`H{0XMOpJ6IwJDgDh{tHqFcb^OoWqfg# z=O+cG5#}+P!GjiGDL6srIE@3IsrYypYVcIVR|WFe!`Bw_V8h3*9ycTG+A(;P;clR; z00$DT2nWL~$R--267)eHHMtvT*w5tdpV0|UL9V$3>U7zeF~Qwf%+?HdWASpRt442> zsR8!|3_pf72_J;D;CHY#JPUb*>iZtngKVa7HyX3&!QE*5FPM$|4%7)6wztn%!A8g< z?MJycbHKYRMiUqdb6{ntBUFd917CaC96lD1_l2|zUq48@@C|_v!J)7f90glTh3~9M z6ABv*-L9^n5y660Q@*9#a1`s_MOcj1^p4xQ)OP=WaTsUt@zUw)5=z4uP?1|_}*dNkay8EJa z$1;%cV)!In1&6?`a2VVHpOR|dTXn*kxT`zLc-Gy2()($&I)TwJ3_b&+p*{yiA=j8s z-;th!36RZd?nYRxXV&Cyqpl3cBX11#W%UG{2uH(7a`}6!Qf$_}LUNY~tS~8~tJk~o zI(~SC2NRu2WSuA%wEG-mI@Gsmy_NbAI9qamu!=`kx#yIDsKN5nx*x3gjJX);61@!b zL!S6hGQA@>{om|ao2q}#ijP_tuwMiVW4~Cw|B+?ctRF2q%v+yQY;o7`IM<>haa}Kg z#W2;CpeyBd!ijJxd&Tu#oQ}q)@43sNo<6ORsXtofOqQ$M6jveEIb02OifeR=u_jAb zu6lhyy&<69DA&%RW*JMXGu{iRw*=Je@(Yx2^uLvlH7?iPhXMO-0sHN;R=Z<~%T@0V zsP_cad%e_H;c`>^D4_m0pgst_+U)jksj>3q+8+(re;Tkq_J6TwY0ORjWWb&-*R6{$ zWczt?$I6(iJ{3@(4yezF`pJq7t2foVvEGv7wXNt0^viCAo`ZVSuFp#pJRgWfe?8Mr z_&Q;IN&E#52kbtDHwYhtH{oXi`RDL&!e2o8ci&}r8~zRrc6QwW3Q`%e`6sJMn70zA zjE!=<9(l6S>607+>{A<2DIHUScvd&7zt0;35pgfVax)Z3`n!B|TU{LE;OrNN39 ztoRA>$aMh{U?|iH>FY^TU*YMkHN+Vcv41GTM53${V27+03?#TwPxcrN=Kc zAXX5^=VRoV_X`han_v@xt|`zcEtj zl6sjD-ql~N(6A>_>Fa#3A_@X@gE04)ec=?%%ROfaY)cKk2<@TDV)q6~}HZP!^MOU^Bui<SCh8^Q-(G!?Nw_%mt9I$#9>b$VKFi_-n_lls;;w5?Ns+EwlHDJz;Lbt84h0s?B z^@lJPvi11hGx-d{I|!G9J0WWy#vVCxl~%J)dSBsWb(Q1SaQYEST@Z$0u2Y6#uG2$M zJ3S0pGIyJRc6x-cc6td67WV@zDq5*m~d^lRB!*#j+P^+gJ1=$3)jQ? za5HQm+yAg0Gg(Say3QS@5n`R+#)14cCH!E1n-SLeZ4Pzoeh9XOIvJhMR)jmj*03vV z2L}iA`p(4M!S@vG0QFe(VVE1xzrdZs=#1b+1dl*{Yw8BK!$;xXfZ<25JK>LE4|oDH z8S#Aud+GAjlj?t3mBYOCVBUuHda}Nl=(6>Lx(xkcHq?37xA_5t^?3Pl*c=XodgwSv zw*SeQ^_Gj3G0vR^bY+&~dSjO3)9qv!e6Xg56V|Cb1!aB7{P`An#p!WKrT>gu^dn?h(XzqEN zidK7@2DP{8@Ih}g2y1UMVH(VXP2n6Fa)Umdwdch*tP)Z45bJAtK4k7_ERZ8NtOUIl zeGzrsqJVla?1uUk*ayBUrEglv6JD6-m2e6o{m~hzsdL5Wbxif)QfR?tFa*8<3qf6( zderbH;b^!V#ssJ@Bdyofpym4FTmh@Wl~7kY`kw9(PaEnX$|@APzE(qh-Ms^KdtMH^ z!?mynTo3y~9q)0tf$$S>BlN*{A??_BPg4K3hUum9h#h8p)KZ0lt^;l>p;i7OC)aPt3S85%&pKuP;c1_>`!up(j z1RsJ2VQ+W{>Yn2h+ob@cTU>o|Dux>-Apl(B_VFmb|RQMM~|AC+$ZRqTdg+CHzG0`{&bK!Y72mS;X z!V7RC`~_}>zrr0*$KL}l5!U^~WvKgyEAUJB8$1KAL5KYQ4)Zg6G_G?Hi9kEhI~M;W z%&!6(f5A9-1D1t1q2B3s3wDM7f_i=L4(tu@LcP(=2$7=ySW8SENi2EFj+bNquyWf$ zmfdBf`j0*y=pCou=Gf;Qchbk=9sBh0I`8-$eZ1d0{z@O8a*w0*V7IRElDo^Y6iNQ! ziVN#eZY5*vJ#qep5^>v#FRaJ6Rg6jZQmFuBmGh@a*`8-b^r^kL(c+3>EU&D#j%|BM62Ih;F zt10z?ziQbbgZ~Jii^|u&CgS`a#n2+x(!`57K6~ zN)umCJ6sZb3lKtlA@C1?+NB>wnOWSv+N@mhEbr6tGLG_a*hD zogkA7*pXPy*OpCwyl+{+wLD(H&WySe5EsQkL023VZqE)I<@!~|r*dte746>^Zug6I z+K|VtJNRKPJ1L|qm!rE?If;MA=wcx?((aBft}@Nvl81+zml|?*nawzziCZ7zcRDFkq))&b`_&o*QY7)*^7fWu4x-S|FIW(tI3;^ z*rL~OU%W5byZNnA+xql=F8`x!{DqiO7ObnpJ-5NC>_hzJ{?j@3>uN%_!4Q;! zHH0j@8jau-s5|}{0kSY@G)B(Cq`}Q|(r(z2>H9B`;eqcWWSHywH9%I5-1w{nx$+p; z4t){W9+nR1%j!k_4hS+3bcC$97@c5y*co<(jO*Q}2wmWFgc&QjZ__gF@bP}9(GxPO zHXeg-!(MPV)CJfNdlNnY`#@%yMql_j><53bCNR*YL?P7DKm-LL69``fd=eIdx?~A( z2&@7b9{3p88^d8o_!N8;j(~mPDEK6N8Zw+UMni_L#xrmXd=`2u5heINfnOTi`&AWL z)5I3gps8Kfb`8B151709dp|jOtc{(n4$0qb$mBWc(bj(43>o0Q@F3Y4 zA(6yVmkBL9MeN(cX@aV?OFS)%Qv5G$UYEPUf_?XFEKoa^B)ML-i{#Z!tOz)|`F? z#tn0|{o5-r9qqpyo(Vbiwt2s2+L&Yh-79;&ZQcdyMe_6BOrCOhs^z@mmpiROYO89} zyR)5azT)>!>})SlPE<K9saBc5Qy3xOW%we&9p@_%8Mv%36?glZAEQ>|M0EIw{}3T-4bMxW#c81 z{HLEC6E)~w9PcHS3;dM=yAj^|_qUV73|Fg+TJrtd#8}$j9&6Sr$`q1mV|b0IOd&7F zl><3DCGU^1>qKo1h=cWTN*wvZMY3?vg7L8~s?nkU;Qnm0 zKW}F`m9Ur)DMiO}DVCS6V@Z|uWoLS%OdLzqm6wBBM2F|R5-GoXR@KHKs)}fJr1Tu; zTCLEcYKY#8l%wP9Zl3!DX*`}W5DU=GH<*rh)8KMXFbfuv9pmjbW|>0%hza%}(`*qb zV{+|j)&z#q$@cvYsVq+T|5A`DEOsM_jLA{7MhlhUdDyHrm_aIrzv(-Zv5)v#|MVI6 zJ)JfWyh=N~oz+3i*>*<$T^PNIvro@Rb;8A)6W+$R84jL5>s{@7+@eyhXpb7#RBT3_J%pNr8^|i=aL}_V-oY; z`PRb)a>hlX++1Q}RO73M7y6^C$bpQb+~2Vv1MWG;7d^hGuLbEae6?X=*ohmqUI=iP zOc+wRD=S5Lgs?LZVJ~D2!KeE<8kD>Gl?3&8S0{K0CKJ94Q=m;vq(WxBMoCxza+mTI zhuS_BmL^;RGEw(UsKo&-)7|Zo4s!_8LfzN6bc8{KX{o*^AuC(HaZt;11Jr}<%C6Y)o=9sUekA-@1y!{1;VsP};AG0s1*9psszJ18@0Sb9)KMY%WMg1nzm(2&)0 z?Cfe3fRFcMbPZXXD&-y*3B0Z0$@QuBKB-0)bzH{(uQ~P*wcs$nO&LCq?yD62!@^KW zo9A`j^X%7)YLPy}!7ig8d080hkDqTlmc#Qp=Yt4ITgco3KJbT*7TS4E1+NW(>T zTG;0iUe{bgHjc5QW%43Bn~rn;B5o%ixGH5NxIY!TV6mMYuvSJ*z5EyB@3Gk4tMajF z!P$GjkTPjzHRmw`hYm=eSMBOfFOEMuAWL2)7oQ#Q?|9Yb2a|gv{PBQXc?}_qSYmfz zFJ12?^vHV;@P>t*VI9KR>+y8J{M9B~UhQp#6Wx3J^Xd}2s`VrK^~KR=ziywEyrs;G z&fJ!?rFLb9Gvl1UEj{%yXUDmGTNW%OD|a})ep^1%$9FmY=e9&FBL}eJGJAoJ@BV$W zv&-o6&)*KDPson8z4@0G4%4hn~-*v@CS<%5-WhyVKPZe%9uEjz;`akq^9-r`0^f^HyB2S^Hwc-f`{ zxIe1RamOEpi}%O8jnEu2Skk8Ov*kkuQ)E5-?_c(gJ;922llC^ObYKWjSFQ~(i^x0YoG@v%!7k4&@VO0k$%y3`js6d# zog3_G(MwQJI(Gy}cVpnm{XvE3aP9+bnQQ1_u2vA+Rj3NmdZT^9;VHax^R6t}WT!~e zO?E}v($kyllKDcBr%{O4H`%R`UDmQNWSu-&vQ*z}SB$eCNVYECZ{GFJbwzK&owwOe zx3rfJH`_TDQT=x}+o`6LO;+FLH!8L;Rd{=Apsx5;{VjGcv%vfE!xp=?dFXvf^21^u zNH@Q|Ak4L+=V!BJ<&bE9_*VO-CH5{m(OHPMM?aCYT{KmA@k&TDKfeJ{Mwu5rkuAGf z56OR+AIq@2nSGB)%RTVO5m~th`O8P;%pSX?`P)%;(UR8CPyGY-+KzJA3gf(WOh)Wu z$pbFfXHQcLC3U}D!&!`~&~fRxpYhZ}S+U=)ZXr(MZEb{qG2l`O?~*s&(s>O1Tb6PQ!GQy<+s>uHDX zow=8J_n`pwUAsN-6#tnm-Vc3dr-rk# zEcHT$a;hY`}Wmp}~xr;v4^#Ev~B$ZSSZ@|tuVJCpKCs^RyE5}dJ!uGP3 z$|6wsNv0ix11|LlKZF$bN~M!5&V2ckmjS(I!$1S^xU2k@f$t=fqx7FWosPnw1Kl!~ z4e`4DB&$6y1hgg4#=F|vT736`NXf2v&S3J;?sFW5UbvrFimQ9-bMjCoAlB)WaK)=W zchlLgwfzHHoeo11a&h}}(y921=S$D(^iX-P)ce9N8TEERtjm+-CGmw_BPyPTpzB#% zGYrAn{egqSU)bSM$pM{?QpMF#Yq1Nyv_mPXoB2fV*!|sutT@Y-R$mft-2?ITfNigT z;FnC~!av|lh0);L^LqMcHidusm0f`)y4zoI$u&ABNndjgImO-$vftPA%^lA9M}KX9 zlRwOhsElm);hcZ)Is09eZz0#zxKj82{$KB(=W1!r%G4U^gtRhZtn`UhjJ)(m&>cy;3=yke=snEL^0|g8#M# zT2*#kWSw;N9yxT;u5WJMBl&-|7h~pM`Kvv~c6e~$luD7btBiA))LymUDyl`#QXRpx zYI0mE#b4r@eaCTLM)^Vs@5eH*ziB^KP>TjoqcmCLWjTJ63GNFe{6F1f`tMZ3$u?Fa zZqYe!+d?e|)^Tpxlg%W*IR9c{dD|BM0vK*q;f@y?QX-@Zm!^`Zj+r&&Y`Ur`+d@Oq z&31#m)tgdbA(0jq-d>}2VIftmc7c$8X;{eQ{N~O@aOjMdk5sDL&JiiWxw%zGAE1TC33Oc zDjL$%EVfu0#)i}nO%9s$zDh=4i47@jmRT%&P?;4Mi&+el>i?&`caN*GO8>w2z1jEL z8wBDg2L%BEK>+~)fjod`O$kgLFi)IJ43DX4W1)_k=b%w8L@_W;Ej2N9tD!-oriP9- zR%T+-XoHUV)kYgNu-|9hYwf*_-}m|Rc|Fe`@bc|-t@FCq=|1jjS)#b!XC5@p8@co@ zrzHq-7$}2qOn<-6{ODiaNI$%soPE?`rcu^(zaZ<^d=T_o#+Y)sD7aZQ7ebo@t0*hD7e^`eiZGiNVzsEKi(fjz5Less``HN)|-7EQXCJvom zFsC59u;7jS+5KnCosNf*f5>CFOl;Cpi~oF(#|ldxuRWWG*B>*9k`<|^i@vIRs4vnL zThc}4&Y3Y=JoiaQ8O107rzu@=Ik$xsYwp!S^-z4VnUwa&Z#6A{9gs_7IZb%c(8rbM zh<~^*62Cy-Oc{@{TVF@`-9r?Z!Rp#Nioro-6ky2@(hu>UmQ(Ue`aWr`E zIm|e|i}CeNu*h{7A$FJWQcb&|fR_uOR9blS>sXCl0+15Z%Rc}q|Gkm!cEV0qQ{ZX$ zizQKU01`csiSRboK(#!PQcmZ2BKvaM5`aYBfk@<1E=x)YL?X;4t)xQk=u}Q`1tLD? zk>+_X5Y;=)6Gd4P!OO)C^9pv8^nMf&gi7KtcEh)s*5c(gw46< zy5JVw(%cyOq8+(4I?o8)tMZUyjyAaY=Z^f*<4_C%?KuU`x!Pq~7f3#m!yx(9KsaO| zWLL-tNSuVVXH?J^4S+im5;xeoDDn$dd+0Ifw{%C3&L5yUs(1#1&7ykS0k<2 z3O0iSpdQ=+&A?+*Norc@HU5q^46AgPe7Q>3J-|7?e;8K2sC=3lruM_!*b}Dq)c4M( z30*PF4B@E6K=KP$pNBDzEG|aThH!O;zD&Ms(B3F?5pNXuS90NKPD>9)X>SxD%7fOad|GJ%A`r~zKS(F;a>XG;c5+^IA zhYU{S6s@{5{LqI59l(oc)n5;3xkwryE-|i0tHCS^QF}f}AuPS$B4-p_Ck}I_rBJFb|7WkL#V9Q3;m{%s`MruD#TM zA4*V%=>0R{=Elj(KrOfo?g7&lJQUngom#Gx2Joj)$*KqY0hd+{*cdBW4b?Y9nbVTh z z+e9z~6w<80>N_RrnWcl&0HZTX`#^#5$w8`Sd~%Tbvf@m2gH(5Wc;gD0|B$Bfj@r3& zuv(}tMf%M={l|E}hyBDJG~=zG8q4rVkNwt66S#f@x*Z+}aUDM&U=DcFF$5iexOazO zwfwDFE^l!|v0fvlwoXri!_L9-+y^cL6%SRt{STnT3!n)YD$!aX5u}5{%97ON(qR}X zTT#wCUun;w`I}PRB=p)_P~d0j^lkbt|3U3vP``1+vuEb?ty~E*p70;;4p&`$EnZsh zTG2z9UQLqXWNjv;#=_+Y%3*=z{>T`SLU%J)IqAf$U@N-Yd@-> znvv=WeZ{xtB`>MdmG(D zJUiDtvErEyzcE58d`0wimfG3XgkL%0D7E_~)D+&@W_$r-)lo=G^Tw)Qv1k-A97XIe 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 delta 77309 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

BC5iB11ie&;creU`97ZbhZjji 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 D;=UuD diff --git a/Phase/Mscorlib/system/Boolean.hx b/Phase/Mscorlib/system/Boolean.hx index 515d3e9a3..76fd6fc39 100644 --- a/Phase/Mscorlib/system/Boolean.hx +++ b/Phase/Mscorlib/system/Boolean.hx @@ -4,8 +4,8 @@ abstract Boolean(Bool) from Bool to Bool { public inline function new(v:Bool) this = v; - public inline function ToHaxeBool() : Bool return this; - public inline function ToString() : system.CsString return Std.string(this); + public inline function toHaxeBool() : Bool return this; + public inline function toString() : system.CsString return Std.string(this); @:op(!A) public inline function not() : system.Boolean return !this; diff --git a/Phase/Mscorlib/system/Byte.hx b/Phase/Mscorlib/system/Byte.hx index 76a0c07d8..088660c6c 100644 --- a/Phase/Mscorlib/system/Byte.hx +++ b/Phase/Mscorlib/system/Byte.hx @@ -3,25 +3,25 @@ package system; abstract Byte(Int) from Int { - public inline function new(i:Int) this = system.Convert.ToUInt8(i); + public inline function new(i:Int) this = system.Convert.toUInt8(i); - public inline function ToHaxeInt(): Int return this; - public inline function ToString() : system.CsString return Std.string(this); + public inline function toHaxeInt(): Int return this; + public inline function toString() : system.CsString return Std.string(this); - public inline function ToBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.ToBoolean_Byte(this); - public inline function ToChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.ToChar_Byte(this); - public inline function ToSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.ToSByte_Byte(this); - public inline function ToByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.ToByte_Byte(this); - public inline function ToInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.ToInt16_Byte(this); - public inline function ToUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.ToUInt16_Byte(this); - public inline function ToInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.ToInt32_Byte(this); - public inline function ToUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.ToUInt32_Byte(this); - public inline function ToInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.ToInt64_Byte(this); - public inline function ToUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.ToUInt64_Byte(this); - public inline function ToSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.ToSingle_Byte(this); - public inline function ToDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.ToDouble_Byte(this); + public inline function toBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.toBoolean_Byte(this); + public inline function toChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.toChar_Byte(this); + public inline function toSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.toSByte_Byte(this); + public inline function toByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.toByte_Byte(this); + public inline function toInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.toInt16_Byte(this); + public inline function toUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.toUInt16_Byte(this); + public inline function toInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.toInt32_Byte(this); + public inline function toUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.toUInt32_Byte(this); + public inline function toInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.toInt64_Byte(this); + public inline function toUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.toUInt64_Byte(this); + public inline function toSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.toSingle_Byte(this); + public inline function toDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.toDouble_Byte(this); - public inline function GetHashCode() : system.Int32 return this; + public inline function getHashCode() : system.Int32 return this; @:op(-A) public inline function neg() : system.Int32 return -this; @@ -51,9 +51,9 @@ abstract Byte(Int) from Int @:op(A * B) public static function mul15(lhs : system.Byte, rhs : system.Double) : system.Double; - @:op(A / B) public static inline function div0(lhs : system.Byte, rhs : system.Byte) : system.Int32 return Std.int(lhs.ToHaxeInt() / rhs.ToHaxeInt()); - @:op(A / B) public static inline function div1(lhs : system.Byte, rhs : Int) : system.Int32 return Std.int(lhs.ToHaxeInt() / rhs); - @:op(A / B) public static inline function div2(lhs : Int, rhs : system.Byte) : system.Int32 return Std.int(lhs / rhs.ToHaxeInt()); + @:op(A / B) public static inline function div0(lhs : system.Byte, rhs : system.Byte) : system.Int32 return Std.int(lhs.toHaxeInt() / rhs.toHaxeInt()); + @:op(A / B) public static inline function div1(lhs : system.Byte, rhs : Int) : system.Int32 return Std.int(lhs.toHaxeInt() / rhs); + @:op(A / B) public static inline function div2(lhs : Int, rhs : system.Byte) : system.Int32 return Std.int(lhs / rhs.toHaxeInt()); @:op(A / B) public static function div3(lhs : system.Byte, rhs : Float) : system.Double; @:op(A / B) public static function div4(lhs : Float, rhs : system.Byte) : system.Double; @@ -106,8 +106,8 @@ abstract Byte(Int) from Int @:op(A + B) public static function add13(lhs : system.Byte, rhs : system.UInt64) : system.UInt64; @:op(A + B) public static function add14(lhs : system.Byte, rhs : system.Single) : system.Single; @:op(A + B) public static function add15(lhs : system.Byte, rhs : system.Double) : system.Double; - @:op(A + B) public static inline function add16(lhs : system.Byte, rhs : system.CsString) : system.CsString return lhs.ToString() + rhs; - @:op(A + B) public static inline function add17(lhs : system.Byte, rhs : String) : system.CsString return lhs.ToString() + rhs; + @:op(A + B) public static inline function add16(lhs : system.Byte, rhs : system.CsString) : system.CsString return lhs.toString() + rhs; + @:op(A + B) public static inline function add17(lhs : system.Byte, rhs : String) : system.CsString return lhs.toString() + rhs; @:op(A - B) public static function sub0(lhs : system.Byte, rhs : system.Byte) : system.Int32; diff --git a/Phase/Mscorlib/system/ByteArray.hx b/Phase/Mscorlib/system/ByteArray.hx index 9cdb174a0..79c2b1de2 100644 --- a/Phase/Mscorlib/system/ByteArray.hx +++ b/Phase/Mscorlib/system/ByteArray.hx @@ -2,23 +2,23 @@ package system; abstract ByteArray(js.html.Uint8Array) { - public inline function new(length:Int32) this = new js.html.Uint8Array(length.ToHaxeInt()); + public inline function new(length:Int32) this = new js.html.Uint8Array(length.toHaxeInt()); @:from public static inline function fromArray(a:Array):ByteArray return cast new js.html.Uint8Array(untyped a); - @:from public static inline function fromFixedArray(a:FixedArray):ByteArray return cast new js.html.Uint8Array(untyped a.ToHaxeArray()); + @:from public static inline function fromFixedArray(a:FixedArray):ByteArray return cast new js.html.Uint8Array(untyped a.toHaxeArray()); @:from public static inline function fromArrayBuffer(a:js.html.ArrayBuffer):ByteArray return cast new js.html.Uint8Array(a); public inline function toUint8Array():js.html.Uint8Array return this; - public var Length(get, never):Int32; - public inline function get_Length() : Int32 return this.length; + public var length(get, never):Int32; + public inline function get_length() : Int32 return this.length; - @:op([]) public inline function get(index:Int32):Byte return this[index.ToHaxeInt()]; - @:op([]) public inline function set(index:Int32, val:Byte):Byte return this[index.ToHaxeInt()] = val.ToHaxeInt(); + @:op([]) public inline function get(index:Int32):Byte return this[index.toHaxeInt()]; + @:op([]) public inline function set(index:Int32, val:Byte):Byte return this[index.toHaxeInt()] = val.toHaxeInt(); public inline function iterator() : Iterator return new ByteArrayIterator(this); - public inline function ToEnumerable() : system.collections.generic.IEnumerable return new ByteArrayEnumerable(this); + public inline function toEnumerable() : system.collections.generic.IEnumerable return new ByteArrayEnumerable(this); public static inline function empty(size:Int32) return new ByteArray(size); } \ No newline at end of file diff --git a/Phase/Mscorlib/system/ByteArrayEnumerable.hx b/Phase/Mscorlib/system/ByteArrayEnumerable.hx index c1fe87ce8..bff315453 100644 --- a/Phase/Mscorlib/system/ByteArrayEnumerable.hx +++ b/Phase/Mscorlib/system/ByteArrayEnumerable.hx @@ -11,7 +11,7 @@ class ByteArrayEnumerable implements IEnumerable _array= array; } - public function GetEnumerator() : IEnumerator + public function getEnumerator() : IEnumerator { return new ByteArrayEnumerator(_array); } diff --git a/Phase/Mscorlib/system/ByteArrayEnumerator.hx b/Phase/Mscorlib/system/ByteArrayEnumerator.hx index ce3026f0b..8a4fea724 100644 --- a/Phase/Mscorlib/system/ByteArrayEnumerator.hx +++ b/Phase/Mscorlib/system/ByteArrayEnumerator.hx @@ -13,16 +13,16 @@ class ByteArrayEnumerator implements IEnumerator _i = -1; } - public var Current(get, never):Byte; - public function get_Current() : Byte return _array[_i]; - public function MoveNext() : Bool + public var current(get, never):Byte; + public function get_current() : Byte return _array[_i]; + public function moveNext() : Bool { if(_i >= _array.length - 1) return false; _i++; return true; } - public function Reset():Void + public function reset():Void { _i = -1; } diff --git a/Phase/Mscorlib/system/Char.hx b/Phase/Mscorlib/system/Char.hx index eb930b188..b14f4974a 100644 --- a/Phase/Mscorlib/system/Char.hx +++ b/Phase/Mscorlib/system/Char.hx @@ -2,28 +2,28 @@ package system; abstract Char(Int) from Int { - public inline function new(v:Int) this = system.Convert.ToUInt16(v); + public inline function new(v:Int) this = system.Convert.toUInt16(v); @:from public static inline function fromCode(i:Int) : Char return new Char(i); public static inline function fromString(i:String) : Char return new Char(i.charCodeAt(0)); - public inline function ToHaxeInt(): Int return this; - public inline function ToString() : system.CsString return String.fromCharCode(this); + public inline function toHaxeInt(): Int return this; + public inline function toString() : system.CsString return String.fromCharCode(this); - public inline function ToBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.ToBoolean_Char(this); - public inline function ToChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.ToChar_Char(this); - public inline function ToSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.ToSByte_Char(this); - public inline function ToByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.ToByte_Char(this); - public inline function ToInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.ToInt16_Char(this); - public inline function ToUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.ToUInt16_Char(this); - public inline function ToInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.ToInt32_Char(this); - public inline function ToUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.ToUInt32_Char(this); - public inline function ToInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.ToInt64_Char(this); - public inline function ToUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.ToUInt64_Char(this); - public inline function ToSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.ToSingle_Char(this); - public inline function ToDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.ToDouble_Char(this); + public inline function toBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.toBoolean_Char(this); + public inline function toChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.toChar_Char(this); + public inline function toSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.toSByte_Char(this); + public inline function toByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.toByte_Char(this); + public inline function toInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.toInt16_Char(this); + public inline function toUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.toUInt16_Char(this); + public inline function toInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.toInt32_Char(this); + public inline function toUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.toUInt32_Char(this); + public inline function toInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.toInt64_Char(this); + public inline function toUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.toUInt64_Char(this); + public inline function toSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.toSingle_Char(this); + public inline function toDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.toDouble_Char(this); - public inline function GetHashCode() : system.Int32 return this | (this << 16); + public inline function getHashCode() : system.Int32 return this | (this << 16); @:op(-A) public inline function neg() : system.Int32 return -this; @@ -53,8 +53,8 @@ abstract Char(Int) from Int @:op(A * B) public static function mul15(lhs : system.Char, rhs : system.Double) : system.Double; - @:op(A / B) public static inline function div1(lhs : system.Char, rhs : Int) : system.Int32 return Std.int(lhs.ToHaxeInt() / rhs); - @:op(A / B) public static inline function div2(lhs : Int, rhs : system.Char) : system.Int32 return Std.int(lhs / rhs.ToHaxeInt()); + @:op(A / B) public static inline function div1(lhs : system.Char, rhs : Int) : system.Int32 return Std.int(lhs.toHaxeInt() / rhs); + @:op(A / B) public static inline function div2(lhs : Int, rhs : system.Char) : system.Int32 return Std.int(lhs / rhs.toHaxeInt()); @:op(A / B) public static function div3(lhs : system.Char, rhs : Float) : system.Double; @:op(A / B) public static function div4(lhs : Float, rhs : system.Char) : system.Double; @@ -105,8 +105,8 @@ abstract Char(Int) from Int @:op(A + B) public static function add13(lhs : system.Char, rhs : system.UInt64) : system.UInt64; @:op(A + B) public static function add14(lhs : system.Char, rhs : system.Single) : system.Single; @:op(A + B) public static function add15(lhs : system.Char, rhs : system.Double) : system.Double; - @:op(A + B) public static inline function add16(lhs : system.Char, rhs : system.CsString) : system.CsString return lhs.ToString() + rhs; - @:op(A + B) public static inline function add17(lhs : system.Char, rhs : String) : system.CsString return lhs.ToString() + rhs; + @:op(A + B) public static inline function add16(lhs : system.Char, rhs : system.CsString) : system.CsString return lhs.toString() + rhs; + @:op(A + B) public static inline function add17(lhs : system.Char, rhs : String) : system.CsString return lhs.toString() + rhs; @:op(A - B) public static function sub1(lhs : system.Char, rhs : Int) : system.Int32; @@ -172,8 +172,8 @@ abstract Char(Int) from Int @:op(A > B) public static function gt14(lhs : system.Char, rhs : system.Single) : system.Boolean; @:op(A > B) public static function gt15(lhs : system.Char, rhs : system.Double) : system.Boolean; - @:op(A > B) public static inline function gt16(lhs : system.Char, rhs : String) : system.Boolean return lhs.ToHaxeInt() > rhs.charCodeAt(0); - @:op(A > B) public static inline function gt17(lhs : system.Char, rhs : system.CsString) : system.Boolean return lhs.ToHaxeInt() > rhs.get_Chars(0); + @:op(A > B) public static inline function gt16(lhs : system.Char, rhs : String) : system.Boolean return lhs.toHaxeInt() > rhs.charCodeAt(0); + @:op(A > B) public static inline function gt17(lhs : system.Char, rhs : system.CsString) : system.Boolean return lhs.toHaxeInt() > rhs.get_chars(0); @@ -194,8 +194,8 @@ abstract Char(Int) from Int @:op(A < B) public static function lt14(lhs : system.Char, rhs : system.Single) : system.Boolean; @:op(A < B) public static function lt15(lhs : system.Char, rhs : system.Double) : system.Boolean; - @:op(A < B) public static inline function lt16(lhs : system.Char, rhs : String) : system.Boolean return lhs.ToHaxeInt() < rhs.charCodeAt(0); - @:op(A < B) public static inline function lt17(lhs : system.Char, rhs : system.CsString) : system.Boolean return lhs.ToHaxeInt() < rhs.get_Chars(0); + @:op(A < B) public static inline function lt16(lhs : system.Char, rhs : String) : system.Boolean return lhs.toHaxeInt() < rhs.charCodeAt(0); + @:op(A < B) public static inline function lt17(lhs : system.Char, rhs : system.CsString) : system.Boolean return lhs.toHaxeInt() < rhs.get_chars(0); @:op(A >= B) public static function gte1(lhs : system.Char, rhs : Int) : system.Boolean; @:op(A >= B) public static function gte2(lhs : Int, rhs : system.Char) : system.Boolean; @@ -214,8 +214,8 @@ abstract Char(Int) from Int @:op(A >= B) public static function gte14(lhs : system.Char, rhs : system.Single) : system.Boolean; @:op(A >= B) public static function gte15(lhs : system.Char, rhs : system.Double) : system.Boolean; - @:op(A >= B) public static inline function gte16(lhs : system.Char, rhs : String) : system.Boolean return lhs.ToHaxeInt() >= rhs.charCodeAt(0); - @:op(A >= B) public static inline function gte17(lhs : system.Char, rhs : system.CsString) : system.Boolean return lhs.ToHaxeInt() >= rhs.get_Chars(0); + @:op(A >= B) public static inline function gte16(lhs : system.Char, rhs : String) : system.Boolean return lhs.toHaxeInt() >= rhs.charCodeAt(0); + @:op(A >= B) public static inline function gte17(lhs : system.Char, rhs : system.CsString) : system.Boolean return lhs.toHaxeInt() >= rhs.get_chars(0); @@ -236,8 +236,8 @@ abstract Char(Int) from Int @:op(A <= B) public static function lte14(lhs : system.Char, rhs : system.Single) : system.Boolean; @:op(A <= B) public static function lte15(lhs : system.Char, rhs : system.Double) : system.Boolean; - @:op(A <= B) public static inline function lte16(lhs : system.Char, rhs : String) : system.Boolean return lhs.ToHaxeInt() <= rhs.charCodeAt(0); - @:op(A <= B) public static inline function lte17(lhs : system.Char, rhs : system.CsString) : system.Boolean return lhs.ToHaxeInt() <= rhs.get_Chars(0); + @:op(A <= B) public static inline function lte16(lhs : system.Char, rhs : String) : system.Boolean return lhs.toHaxeInt() <= rhs.charCodeAt(0); + @:op(A <= B) public static inline function lte17(lhs : system.Char, rhs : system.CsString) : system.Boolean return lhs.toHaxeInt() <= rhs.get_chars(0); @:op(A == B) public static function eq1(lhs : system.Char, rhs : Int) : system.Boolean; @@ -257,8 +257,8 @@ abstract Char(Int) from Int @:op(A == B) public static function eq14(lhs : system.Char, rhs : system.Single) : system.Boolean; @:op(A == B) public static function eq15(lhs : system.Char, rhs : system.Double) : system.Boolean; - @:op(A == B) public static inline function eq16(lhs : system.Char, rhs : String) : system.Boolean return lhs.ToHaxeInt() == rhs.charCodeAt(0); - @:op(A == B) public static inline function eq17(lhs : system.Char, rhs : system.CsString) : system.Boolean return lhs.ToHaxeInt() == rhs.get_Chars(0); + @:op(A == B) public static inline function eq16(lhs : system.Char, rhs : String) : system.Boolean return lhs.toHaxeInt() == rhs.charCodeAt(0); + @:op(A == B) public static inline function eq17(lhs : system.Char, rhs : system.CsString) : system.Boolean return lhs.toHaxeInt() == rhs.get_chars(0); @:op(A != B) public static function neq1(lhs : system.Char, rhs : Int) : system.Boolean; @@ -278,8 +278,8 @@ abstract Char(Int) from Int @:op(A != B) public static function neq14(lhs : system.Char, rhs : system.Single) : system.Boolean; @:op(A != B) public static function neq15(lhs : system.Char, rhs : system.Double) : system.Boolean; - @:op(A != B) public static inline function neq16(lhs : system.Char, rhs : String) : system.Boolean return lhs.ToHaxeInt() != rhs.charCodeAt(0); - @:op(A != B) public static inline function neq17(lhs : system.Char, rhs : system.CsString) : system.Boolean return lhs.ToHaxeInt() != rhs.get_Chars(0); + @:op(A != B) public static inline function neq16(lhs : system.Char, rhs : String) : system.Boolean return lhs.toHaxeInt() != rhs.charCodeAt(0); + @:op(A != B) public static inline function neq17(lhs : system.Char, rhs : system.CsString) : system.Boolean return lhs.toHaxeInt() != rhs.get_chars(0); @:op(A & B) public static function and1(lhs : system.Char, rhs : Int) : system.Int32; diff --git a/Phase/Mscorlib/system/CharArray.hx b/Phase/Mscorlib/system/CharArray.hx index 8c9c96637..f2b95d184 100644 --- a/Phase/Mscorlib/system/CharArray.hx +++ b/Phase/Mscorlib/system/CharArray.hx @@ -2,20 +2,20 @@ package system; abstract CharArray(js.html.Uint16Array) { - public inline function new(length:Int32) this = new js.html.Uint16Array(length.ToHaxeInt()); + public inline function new(length:Int32) this = new js.html.Uint16Array(length.toHaxeInt()); @:from public static inline function fromArray(a:Array):CharArray return cast new js.html.Uint16Array(untyped a); - @:from public static inline function fromFixedArray(a:FixedArray):CharArray return cast new js.html.Uint16Array(untyped a.ToHaxeArray()); + @:from public static inline function fromFixedArray(a:FixedArray):CharArray return cast new js.html.Uint16Array(untyped a.toHaxeArray()); - public var Length(get, never):Int32; - public inline function get_Length() : Int32 return this.length; + public var length(get, never):Int32; + public inline function get_length() : Int32 return this.length; - @:op([]) public inline function get(index:Int32):Char return this[index.ToHaxeInt()]; - @:op([]) public inline function set(index:Int32, val:Char):Char return this[index.ToHaxeInt()] = val.ToHaxeInt(); + @:op([]) public inline function get(index:Int32):Char return this[index.toHaxeInt()]; + @:op([]) public inline function set(index:Int32, val:Char):Char return this[index.toHaxeInt()] = val.toHaxeInt(); public inline function iterator() : Iterator return new CharArrayIterator(this); - public inline function ToEnumerable() : system.collections.generic.IEnumerable return new CharArrayEnumerable(this); + public inline function toEnumerable() : system.collections.generic.IEnumerable return new CharArrayEnumerable(this); public static inline function empty(size:Int32) return new CharArray(size); } \ No newline at end of file diff --git a/Phase/Mscorlib/system/CharArrayEnumerable.hx b/Phase/Mscorlib/system/CharArrayEnumerable.hx index 29ba7547a..d0e72b805 100644 --- a/Phase/Mscorlib/system/CharArrayEnumerable.hx +++ b/Phase/Mscorlib/system/CharArrayEnumerable.hx @@ -11,7 +11,7 @@ class CharArrayEnumerable implements IEnumerable _array= array; } - public function GetEnumerator() : IEnumerator + public function getEnumerator() : IEnumerator { return new CharArrayEnumerator(_array); } diff --git a/Phase/Mscorlib/system/CharArrayEnumerator.hx b/Phase/Mscorlib/system/CharArrayEnumerator.hx index 1d55a679a..75bca22fb 100644 --- a/Phase/Mscorlib/system/CharArrayEnumerator.hx +++ b/Phase/Mscorlib/system/CharArrayEnumerator.hx @@ -13,16 +13,16 @@ class CharArrayEnumerator implements IEnumerator _i = -1; } - public var Current(get, never):Char; - public function get_Current() : Char return _array[_i]; - public function MoveNext() : Bool + public var current(get, never):Char; + public function get_current() : Char return _array[_i]; + public function moveNext() : Bool { if(_i >= _array.length - 1) return false; _i++; return true; } - public function Reset():Void + public function reset():Void { _i = -1; } diff --git a/Phase/Mscorlib/system/Convert.hx b/Phase/Mscorlib/system/Convert.hx index 5b39f3510..0ea53dd21 100644 --- a/Phase/Mscorlib/system/Convert.hx +++ b/Phase/Mscorlib/system/Convert.hx @@ -22,189 +22,189 @@ class Convert private static var _float32Buffer = new Float32Array(_conversionBuffer); private static var _float64Buffer = new Float64Array(_conversionBuffer); - public static function ToInt8(v:Int) : Int + public static function toInt8(v:Int) : Int { _int32Buffer[0] = v; return _int8Buffer[0]; } - public static function ToUInt8(v:Int) : Int + public static function toUInt8(v:Int) : Int { _int32Buffer[0] = v; return _uint8Buffer[0]; } - public static function ToInt16(v:Int) : Int + public static function toInt16(v:Int) : Int { _int32Buffer[0] = v; return _int16Buffer[0]; } - public static function ToUInt16(v:Int) : Int + public static function toUInt16(v:Int) : Int { _int32Buffer[0] = v; return _uint16Buffer[0]; } - public static function ToUInt32(v:Int) : Int + public static function toUInt32(v:Int) : Int { _int32Buffer[0] = v; return _uint32Buffer[0]; } - public static function ToInt64(v:Int) : Int + public static function toInt64(v:Int) : Int { return v; } - public static function ToUInt64(v:Int) : Int + public static function toUInt64(v:Int) : Int { - return ToUInt32(v); + return toUInt32(v); } - public static function ToInt32(v:Int) : Int + public static function toInt32(v:Int) : Int { _uint32Buffer[0] = v; return _int32Buffer[0]; } - public static function ToHashCode_Single(v:system.Single) : system.Int32 + public static function toHashCode_Single(v:system.Single) : system.Int32 { - _float32Buffer[0] = v.ToHaxeFloat(); + _float32Buffer[0] = v.toHaxeFloat(); return _int32Buffer[0]; } - public static function ToHashCode_Double(v:system.Double) : system.Int32 + public static function toHashCode_Double(v:system.Double) : system.Int32 { - _float64Buffer[0] = v.ToHaxeFloat(); + _float64Buffer[0] = v.toHaxeFloat(); return _int32Buffer[0] ^ _int32Buffer[1]; } - public static inline function ToBoolean_Byte(v:system.Byte) : system.Boolean + public static inline function toBoolean_Byte(v:system.Byte) : system.Boolean { return v != 0; } - public static inline function ToChar_Byte(v:system.Byte) : system.Char + public static inline function toChar_Byte(v:system.Byte) : system.Char { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToSByte_Byte(v:system.Byte) : system.SByte + public static inline function toSByte_Byte(v:system.Byte) : system.SByte { - return ToInt8(v.ToHaxeInt()); + return toInt8(v.toHaxeInt()); } - public static inline function ToByte_Byte(v:system.Byte) : system.Byte + public static inline function toByte_Byte(v:system.Byte) : system.Byte { return v; } - public static inline function ToInt16_Byte(v:system.Byte) : system.Int16 + public static inline function toInt16_Byte(v:system.Byte) : system.Int16 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToUInt16_Byte(v:system.Byte) : system.UInt16 + public static inline function toUInt16_Byte(v:system.Byte) : system.UInt16 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToInt32_Byte(v:system.Byte) : system.Int32 + public static inline function toInt32_Byte(v:system.Byte) : system.Int32 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToUInt32_Byte(v:system.Byte) : system.UInt32 + public static inline function toUInt32_Byte(v:system.Byte) : system.UInt32 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToInt64_Byte(v:system.Byte) : system.Int64 + public static inline function toInt64_Byte(v:system.Byte) : system.Int64 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToUInt64_Byte(v:system.Byte) : system.UInt64 + public static inline function toUInt64_Byte(v:system.Byte) : system.UInt64 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToSingle_Byte(v:system.Byte) : system.Single + public static inline function toSingle_Byte(v:system.Byte) : system.Single { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToDouble_Byte(v:system.Byte) : system.Double + public static inline function toDouble_Byte(v:system.Byte) : system.Double { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToBoolean_Char(v:system.Char) : system.Boolean + public static inline function toBoolean_Char(v:system.Char) : system.Boolean { throw new InvalidCastException("cannot cast system.Char to system.Boolean"); } - public static inline function ToChar_Char(v:system.Char) : system.Char + public static inline function toChar_Char(v:system.Char) : system.Char { return v; } - public static inline function ToByte_Char(v:system.Char) : system.Byte + public static inline function toByte_Char(v:system.Char) : system.Byte { - return ToUInt8(v.ToHaxeInt()); + return toUInt8(v.toHaxeInt()); } - public static inline function ToSByte_Char(v:system.Char) : system.SByte + public static inline function toSByte_Char(v:system.Char) : system.SByte { - return ToInt8(v.ToHaxeInt()); + return toInt8(v.toHaxeInt()); } - public static inline function ToInt16_Char(v:system.Char) : system.Int16 + public static inline function toInt16_Char(v:system.Char) : system.Int16 { - return ToInt16(v.ToHaxeInt()); + return toInt16(v.toHaxeInt()); } - public static inline function ToUInt16_Char(v:system.Char) : system.UInt16 + public static inline function toUInt16_Char(v:system.Char) : system.UInt16 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToInt32_Char(v:system.Char) : system.Int32 + public static inline function toInt32_Char(v:system.Char) : system.Int32 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToUInt32_Char(v:system.Char) : system.UInt32 + public static inline function toUInt32_Char(v:system.Char) : system.UInt32 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToInt64_Char(v:system.Char) : system.Int64 + public static inline function toInt64_Char(v:system.Char) : system.Int64 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToUInt64_Char(v:system.Char) : system.UInt64 + public static inline function toUInt64_Char(v:system.Char) : system.UInt64 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static function ToSingle_Char(v:system.Byte) : system.Single + public static function toSingle_Char(v:system.Byte) : system.Single { throw new InvalidCastException("cannot cast system.Char to system.Single"); } - public static function ToDouble_Char(v:system.Byte) : system.Double + public static function toDouble_Char(v:system.Byte) : system.Double { throw new InvalidCastException("cannot cast system.Char to system.Double"); } - public static inline function ToBoolean_Double(v:system.Double) : system.Boolean + public static inline function toBoolean_Double(v:system.Double) : system.Boolean { return v != 0; } - public static inline function ToChar_Double(v:system.Double) : system.Char + public static inline function toChar_Double(v:system.Double) : system.Char { throw new InvalidCastException("cannot cast system.Double to system.Char"); } - public static inline function ToByte_Double(v:system.Double) : system.Byte + public static inline function toByte_Double(v:system.Double) : system.Byte { - return ToUInt8(ToInt32_Double(v).ToHaxeInt()); + return toUInt8(toInt32_Double(v).toHaxeInt()); } - public static inline function ToSByte_Double(v:system.Double) : system.SByte + public static inline function toSByte_Double(v:system.Double) : system.SByte { - return ToInt8(ToInt32_Double(v).ToHaxeInt()); + return toInt8(toInt32_Double(v).toHaxeInt()); } - public static inline function ToInt16_Double(v:system.Double) : system.Int16 + public static inline function toInt16_Double(v:system.Double) : system.Int16 { - return ToInt16(ToInt32_Double(v).ToHaxeInt()); + return toInt16(toInt32_Double(v).toHaxeInt()); } - public static inline function ToUInt16_Double(v:system.Double) : system.UInt16 + public static inline function toUInt16_Double(v:system.Double) : system.UInt16 { - return ToUInt16(ToInt32_Double(v).ToHaxeInt()); + return toUInt16(toInt32_Double(v).toHaxeInt()); } - public static function ToInt32_Double(v:system.Double) : system.Int32 + public static function toInt32_Double(v:system.Double) : system.Int32 { if (v >= 0) { if (v < 2147483647.5) { - return Std.int(v.ToHaxeFloat()); - //var result = Std.int(v.ToHaxeFloat()); + return Std.int(v.toHaxeFloat()); + //var result = Std.int(v.toHaxeFloat()); //var dif = v - result; //if (dif > 0.5 || dif == 0.5 && (result & 1) != 0) result++; //return result; @@ -214,436 +214,436 @@ class Convert { if (v >= -2147483648.5) { - return Std.int(v.ToHaxeFloat()); - // var result = Std.int(v.ToHaxeFloat()); + return Std.int(v.toHaxeFloat()); + // var result = Std.int(v.toHaxeFloat()); // var dif = v - result; // if (dif < -0.5 || dif == -0.5 && (result & 1) != 0) result--; // return result; } } - return Std.int(v.ToHaxeFloat()); + return Std.int(v.toHaxeFloat()); // throw new OverflowException("Value was either too large or too small for a Int32."); } - public static inline function ToUInt32_Double(v:system.Double) : system.UInt32 + public static inline function toUInt32_Double(v:system.Double) : system.UInt32 { - return ToUInt32(ToInt32_Double(v).ToHaxeInt()); + return toUInt32(toInt32_Double(v).toHaxeInt()); } - public static inline function ToInt64_Double(v:system.Double) : system.Int64 + public static inline function toInt64_Double(v:system.Double) : system.Int64 { // TODO: ensure that upper bits are not lost - return Std.int(v.ToHaxeFloat()); + return Std.int(v.toHaxeFloat()); } - public static inline function ToUInt64_Double(v:system.Double) : system.UInt64 + public static inline function toUInt64_Double(v:system.Double) : system.UInt64 { - return ToInt64(ToInt64_Double(v).ToHaxeInt()); + return toInt64(toInt64_Double(v).toHaxeInt()); } - public static inline function ToSingle_Double(v:system.Double) : system.Single + public static inline function toSingle_Double(v:system.Double) : system.Single { // TODO: double to float truncation - return v.ToHaxeFloat(); + return v.toHaxeFloat(); } - public static inline function ToDouble_Double(v:system.Double) : system.Double + public static inline function toDouble_Double(v:system.Double) : system.Double { return v; } - public static inline function ToBoolean_Int16(v:system.Int16) : system.Boolean + public static inline function toBoolean_Int16(v:system.Int16) : system.Boolean { return v != 0; } - public static inline function ToChar_Int16(v:system.Int16) : system.Char + public static inline function toChar_Int16(v:system.Int16) : system.Char { - return ToUInt16(v.ToHaxeInt()); + return toUInt16(v.toHaxeInt()); } - public static inline function ToSByte_Int16(v:system.Int16) : system.SByte + public static inline function toSByte_Int16(v:system.Int16) : system.SByte { - return ToInt8(v.ToHaxeInt()); + return toInt8(v.toHaxeInt()); } - public static inline function ToByte_Int16(v:system.Int16) : system.Byte + public static inline function toByte_Int16(v:system.Int16) : system.Byte { - return ToUInt8(v.ToHaxeInt()); + return toUInt8(v.toHaxeInt()); } - public static inline function ToInt16_Int16(v:system.Int16) : system.Int16 + public static inline function toInt16_Int16(v:system.Int16) : system.Int16 { return v; } - public static inline function ToUInt16_Int16(v:system.Int16) : system.UInt16 + public static inline function toUInt16_Int16(v:system.Int16) : system.UInt16 { - return ToUInt16(v.ToHaxeInt()); + return toUInt16(v.toHaxeInt()); } - public static inline function ToInt32_Int16(v:system.Int16) : system.Int32 + public static inline function toInt32_Int16(v:system.Int16) : system.Int32 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToUInt32_Int16(v:system.Int16) : system.UInt32 + public static inline function toUInt32_Int16(v:system.Int16) : system.UInt32 { - return ToUInt32(v.ToHaxeInt()); + return toUInt32(v.toHaxeInt()); } - public static inline function ToInt64_Int16(v:system.Int16) : system.Int64 + public static inline function toInt64_Int16(v:system.Int16) : system.Int64 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToUInt64_Int16(v:system.Int16) : system.UInt64 + public static inline function toUInt64_Int16(v:system.Int16) : system.UInt64 { - return ToUInt32(v.ToHaxeInt()); + return toUInt32(v.toHaxeInt()); } - public static inline function ToSingle_Int16(v:system.Int16) : system.Single + public static inline function toSingle_Int16(v:system.Int16) : system.Single { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToDouble_Int16(v:system.Int16) : system.Double + public static inline function toDouble_Int16(v:system.Int16) : system.Double { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToBoolean_Int32(v:system.Int32) : system.Boolean + public static inline function toBoolean_Int32(v:system.Int32) : system.Boolean { return v != 0; } - public static inline function ToChar_Int32(v:system.Int32) : system.Char + public static inline function toChar_Int32(v:system.Int32) : system.Char { - return ToUInt16(v.ToHaxeInt()); + return toUInt16(v.toHaxeInt()); } - public static inline function ToSByte_Int32(v:system.Int32) : system.SByte + public static inline function toSByte_Int32(v:system.Int32) : system.SByte { - return ToInt8(v.ToHaxeInt()); + return toInt8(v.toHaxeInt()); } - public static inline function ToByte_Int32(v:system.Int32) : system.Byte + public static inline function toByte_Int32(v:system.Int32) : system.Byte { - return ToUInt8(v.ToHaxeInt()); + return toUInt8(v.toHaxeInt()); } - public static inline function ToInt16_Int32(v:system.Int32) : system.Int16 + public static inline function toInt16_Int32(v:system.Int32) : system.Int16 { - return ToInt16(v.ToHaxeInt()); + return toInt16(v.toHaxeInt()); } - public static inline function ToUInt16_Int32(v:system.Int32) : system.UInt16 + public static inline function toUInt16_Int32(v:system.Int32) : system.UInt16 { - return ToUInt16(v.ToHaxeInt()); + return toUInt16(v.toHaxeInt()); } - public static inline function ToInt32_Int32(v:system.Int32) : system.Int32 + public static inline function toInt32_Int32(v:system.Int32) : system.Int32 { return v; } - public static inline function ToUInt32_Int32(v:system.Int32) : system.UInt32 + public static inline function toUInt32_Int32(v:system.Int32) : system.UInt32 { - return ToUInt32(v.ToHaxeInt()); + return toUInt32(v.toHaxeInt()); } - public static inline function ToInt64_Int32(v:system.Int32) : system.Int64 + public static inline function toInt64_Int32(v:system.Int32) : system.Int64 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToUInt64_Int32(v:system.Int32) : system.UInt64 + public static inline function toUInt64_Int32(v:system.Int32) : system.UInt64 { - return ToUInt32(v.ToHaxeInt()); + return toUInt32(v.toHaxeInt()); } - public static inline function ToSingle_Int32(v:system.Int32) : system.Single + public static inline function toSingle_Int32(v:system.Int32) : system.Single { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToDouble_Int32(v:system.Int32) : system.Double + public static inline function toDouble_Int32(v:system.Int32) : system.Double { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToBoolean_Int64(v:system.Int64) : system.Boolean + public static inline function toBoolean_Int64(v:system.Int64) : system.Boolean { return v != 0; } - public static inline function ToChar_Int64(v:system.Int64) : system.Char + public static inline function toChar_Int64(v:system.Int64) : system.Char { - return ToUInt16(v.ToHaxeInt()); + return toUInt16(v.toHaxeInt()); } - public static inline function ToSByte_Int64(v:system.Int64) : system.SByte + public static inline function toSByte_Int64(v:system.Int64) : system.SByte { - return ToInt8(v.ToHaxeInt()); + return toInt8(v.toHaxeInt()); } - public static inline function ToByte_Int64(v:system.Int64) : system.Byte + public static inline function toByte_Int64(v:system.Int64) : system.Byte { - return ToUInt8(v.ToHaxeInt()); + return toUInt8(v.toHaxeInt()); } - public static inline function ToInt16_Int64(v:system.Int64) : system.Int16 + public static inline function toInt16_Int64(v:system.Int64) : system.Int16 { - return ToInt16(v.ToHaxeInt()); + return toInt16(v.toHaxeInt()); } - public static inline function ToUInt16_Int64(v:system.Int64) : system.UInt16 + public static inline function toUInt16_Int64(v:system.Int64) : system.UInt16 { - return ToUInt16(v.ToHaxeInt()); + return toUInt16(v.toHaxeInt()); } - public static inline function ToInt32_Int64(v:system.Int64) : system.Int32 + public static inline function toInt32_Int64(v:system.Int64) : system.Int32 { - return ToInt32(v.ToHaxeInt()); + return toInt32(v.toHaxeInt()); } - public static inline function ToUInt32_Int64(v:system.Int64) : system.UInt32 + public static inline function toUInt32_Int64(v:system.Int64) : system.UInt32 { - return ToUInt32(v.ToHaxeInt()); + return toUInt32(v.toHaxeInt()); } - public static inline function ToInt64_Int64(v:system.Int64) : system.Int64 + public static inline function toInt64_Int64(v:system.Int64) : system.Int64 { return v; } - public static inline function ToUInt64_Int64(v:system.Int64) : system.UInt64 + public static inline function toUInt64_Int64(v:system.Int64) : system.UInt64 { - return ToUInt32(v.ToHaxeInt()); + return toUInt32(v.toHaxeInt()); } - public static inline function ToSingle_Int64(v:system.Int64) : system.Single + public static inline function toSingle_Int64(v:system.Int64) : system.Single { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToDouble_Int64(v:system.Int64) : system.Double + public static inline function toDouble_Int64(v:system.Int64) : system.Double { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToBoolean_SByte(v:system.SByte) : system.Boolean + public static inline function toBoolean_SByte(v:system.SByte) : system.Boolean { return v != 0; } - public static inline function ToChar_SByte(v:system.SByte) : system.Char + public static inline function toChar_SByte(v:system.SByte) : system.Char { - return ToUInt16(v.ToHaxeInt()); + return toUInt16(v.toHaxeInt()); } - public static inline function ToSByte_SByte(v:system.SByte) : system.SByte + public static inline function toSByte_SByte(v:system.SByte) : system.SByte { return v; } - public static inline function ToByte_SByte(v:system.SByte) : system.Byte + public static inline function toByte_SByte(v:system.SByte) : system.Byte { - return ToUInt8(v.ToHaxeInt()); + return toUInt8(v.toHaxeInt()); } - public static inline function ToInt16_SByte(v:system.SByte) : system.Int16 + public static inline function toInt16_SByte(v:system.SByte) : system.Int16 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToUInt16_SByte(v:system.SByte) : system.UInt16 + public static inline function toUInt16_SByte(v:system.SByte) : system.UInt16 { - return ToUInt16(v.ToHaxeInt()); + return toUInt16(v.toHaxeInt()); } - public static inline function ToInt32_SByte(v:system.SByte) : system.Int32 + public static inline function toInt32_SByte(v:system.SByte) : system.Int32 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToUInt32_SByte(v:system.SByte) : system.UInt32 + public static inline function toUInt32_SByte(v:system.SByte) : system.UInt32 { - return ToUInt32(v.ToHaxeInt()); + return toUInt32(v.toHaxeInt()); } - public static inline function ToInt64_SByte(v:system.SByte) : system.Int64 + public static inline function toInt64_SByte(v:system.SByte) : system.Int64 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToUInt64_SByte(v:system.SByte) : system.UInt64 + public static inline function toUInt64_SByte(v:system.SByte) : system.UInt64 { - return ToUInt32(v.ToHaxeInt()); + return toUInt32(v.toHaxeInt()); } - public static inline function ToSingle_SByte(v:system.SByte) : system.Single + public static inline function toSingle_SByte(v:system.SByte) : system.Single { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToDouble_SByte(v:system.SByte) : system.Double + public static inline function toDouble_SByte(v:system.SByte) : system.Double { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToBoolean_Single(v:system.Single) : system.Boolean + public static inline function toBoolean_Single(v:system.Single) : system.Boolean { return v != 0; } - public static inline function ToChar_Single(v:system.Single) : system.Char + public static inline function toChar_Single(v:system.Single) : system.Char { throw new InvalidCastException("cannot cast system.Single to system.Char"); } - public static inline function ToByte_Single(v:system.Single) : system.Byte + public static inline function toByte_Single(v:system.Single) : system.Byte { - return ToUInt8(ToInt32_Single(v).ToHaxeInt()); + return toUInt8(toInt32_Single(v).toHaxeInt()); } - public static inline function ToSByte_Single(v:system.Single) : system.SByte + public static inline function toSByte_Single(v:system.Single) : system.SByte { - return ToInt8(ToInt32_Single(v).ToHaxeInt()); + return toInt8(toInt32_Single(v).toHaxeInt()); } - public static inline function ToInt16_Single(v:system.Single) : system.Int16 + public static inline function toInt16_Single(v:system.Single) : system.Int16 { - return ToInt16(ToInt32_Single(v).ToHaxeInt()); + return toInt16(toInt32_Single(v).toHaxeInt()); } - public static inline function ToUInt16_Single(v:system.Single) : system.UInt16 + public static inline function toUInt16_Single(v:system.Single) : system.UInt16 { - return ToUInt16(ToInt32_Single(v).ToHaxeInt()); + return toUInt16(toInt32_Single(v).toHaxeInt()); } - public static function ToInt32_Single(v:system.Single) : system.Int32 + public static function toInt32_Single(v:system.Single) : system.Int32 { - return ToInt32_Double(v); + return toInt32_Double(v); } - public static inline function ToUInt32_Single(v:system.Single) : system.UInt32 + public static inline function toUInt32_Single(v:system.Single) : system.UInt32 { - return ToUInt32(ToInt32_Single(v).ToHaxeInt()); + return toUInt32(toInt32_Single(v).toHaxeInt()); } - public static inline function ToInt64_Single(v:system.Single) : system.Int64 + public static inline function toInt64_Single(v:system.Single) : system.Int64 { // TODO: ensure that upper bits are not lost - return Std.int(v.ToHaxeFloat()); + return Std.int(v.toHaxeFloat()); } - public static inline function ToUInt64_Single(v:system.Single) : system.UInt64 + public static inline function toUInt64_Single(v:system.Single) : system.UInt64 { - return ToInt64(ToInt64_Single(v).ToHaxeInt()); + return toInt64(toInt64_Single(v).toHaxeInt()); } - public static inline function ToSingle_Single(v:system.Single) : system.Single + public static inline function toSingle_Single(v:system.Single) : system.Single { return v; } - public static inline function ToDouble_Single(v:system.Single) : system.Double + public static inline function toDouble_Single(v:system.Single) : system.Double { - return v.ToHaxeFloat(); + return v.toHaxeFloat(); } - public static inline function ToBoolean_UInt16(v:system.UInt16) : system.Boolean + public static inline function toBoolean_UInt16(v:system.UInt16) : system.Boolean { return v != 0; } - public static inline function ToChar_UInt16(v:system.UInt16) : system.Char + public static inline function toChar_UInt16(v:system.UInt16) : system.Char { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToSByte_UInt16(v:system.UInt16) : system.SByte + public static inline function toSByte_UInt16(v:system.UInt16) : system.SByte { - return ToInt8(v.ToHaxeInt()); + return toInt8(v.toHaxeInt()); } - public static inline function ToByte_UInt16(v:system.UInt16) : system.Byte + public static inline function toByte_UInt16(v:system.UInt16) : system.Byte { - return ToUInt8(v.ToHaxeInt()); + return toUInt8(v.toHaxeInt()); } - public static inline function ToInt16_UInt16(v:system.UInt16) : system.Int16 + public static inline function toInt16_UInt16(v:system.UInt16) : system.Int16 { - return ToInt16(v.ToHaxeInt()); + return toInt16(v.toHaxeInt()); } - public static inline function ToUInt16_UInt16(v:system.UInt16) : system.UInt16 + public static inline function toUInt16_UInt16(v:system.UInt16) : system.UInt16 { return v; } - public static inline function ToInt32_UInt16(v:system.UInt16) : system.Int32 + public static inline function toInt32_UInt16(v:system.UInt16) : system.Int32 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToUInt32_UInt16(v:system.UInt16) : system.UInt32 + public static inline function toUInt32_UInt16(v:system.UInt16) : system.UInt32 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToInt64_UInt16(v:system.UInt16) : system.Int64 + public static inline function toInt64_UInt16(v:system.UInt16) : system.Int64 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToUInt64_UInt16(v:system.UInt16) : system.UInt64 + public static inline function toUInt64_UInt16(v:system.UInt16) : system.UInt64 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToSingle_UInt16(v:system.UInt16) : system.Single + public static inline function toSingle_UInt16(v:system.UInt16) : system.Single { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToDouble_UInt16(v:system.UInt16) : system.Double + public static inline function toDouble_UInt16(v:system.UInt16) : system.Double { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToBoolean_UInt32(v:system.UInt32) : system.Boolean + public static inline function toBoolean_UInt32(v:system.UInt32) : system.Boolean { return v != 0; } - public static inline function ToChar_UInt32(v:system.UInt32) : system.Char + public static inline function toChar_UInt32(v:system.UInt32) : system.Char { - return ToUInt16(v.ToHaxeInt()); + return toUInt16(v.toHaxeInt()); } - public static inline function ToSByte_UInt32(v:system.UInt32) : system.SByte + public static inline function toSByte_UInt32(v:system.UInt32) : system.SByte { - return ToInt8(v.ToHaxeInt()); + return toInt8(v.toHaxeInt()); } - public static inline function ToByte_UInt32(v:system.UInt32) : system.Byte + public static inline function toByte_UInt32(v:system.UInt32) : system.Byte { - return ToUInt8(v.ToHaxeInt()); + return toUInt8(v.toHaxeInt()); } - public static inline function ToInt16_UInt32(v:system.UInt32) : system.Int16 + public static inline function toInt16_UInt32(v:system.UInt32) : system.Int16 { - return ToInt16(v.ToHaxeInt()); + return toInt16(v.toHaxeInt()); } - public static inline function ToUInt16_UInt32(v:system.UInt32) : system.UInt16 + public static inline function toUInt16_UInt32(v:system.UInt32) : system.UInt16 { - return ToUInt16(v.ToHaxeInt()); + return toUInt16(v.toHaxeInt()); } - public static inline function ToInt32_UInt32(v:system.UInt32) : system.Int32 + public static inline function toInt32_UInt32(v:system.UInt32) : system.Int32 { - return ToInt32(v.ToHaxeInt()); + return toInt32(v.toHaxeInt()); } - public static inline function ToUInt32_UInt32(v:system.UInt32) : system.UInt32 + public static inline function toUInt32_UInt32(v:system.UInt32) : system.UInt32 { return v; } - public static inline function ToInt64_UInt32(v:system.UInt32) : system.Int64 + public static inline function toInt64_UInt32(v:system.UInt32) : system.Int64 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToUInt64_UInt32(v:system.UInt32) : system.UInt64 + public static inline function toUInt64_UInt32(v:system.UInt32) : system.UInt64 { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToSingle_UInt32(v:system.UInt32) : system.Single + public static inline function toSingle_UInt32(v:system.UInt32) : system.Single { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToDouble_UInt32(v:system.UInt32) : system.Double + public static inline function toDouble_UInt32(v:system.UInt32) : system.Double { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToBoolean_UInt64(v:system.UInt64) : system.Boolean + public static inline function toBoolean_UInt64(v:system.UInt64) : system.Boolean { return v != 0; } - public static inline function ToChar_UInt64(v:system.UInt64) : system.Char + public static inline function toChar_UInt64(v:system.UInt64) : system.Char { - return ToUInt16(v.ToHaxeInt()); + return toUInt16(v.toHaxeInt()); } - public static inline function ToSByte_UInt64(v:system.UInt64) : system.SByte + public static inline function toSByte_UInt64(v:system.UInt64) : system.SByte { - return ToInt8(v.ToHaxeInt()); + return toInt8(v.toHaxeInt()); } - public static inline function ToByte_UInt64(v:system.UInt64) : system.Byte + public static inline function toByte_UInt64(v:system.UInt64) : system.Byte { - return ToUInt8(v.ToHaxeInt()); + return toUInt8(v.toHaxeInt()); } - public static inline function ToInt16_UInt64(v:system.UInt64) : system.Int16 + public static inline function toInt16_UInt64(v:system.UInt64) : system.Int16 { - return ToInt16(v.ToHaxeInt()); + return toInt16(v.toHaxeInt()); } - public static inline function ToUInt16_UInt64(v:system.UInt64) : system.UInt16 + public static inline function toUInt16_UInt64(v:system.UInt64) : system.UInt16 { - return ToUInt16(v.ToHaxeInt()); + return toUInt16(v.toHaxeInt()); } - public static inline function ToInt32_UInt64(v:system.UInt64) : system.Int32 + public static inline function toInt32_UInt64(v:system.UInt64) : system.Int32 { - return ToInt32(v.ToHaxeInt()); + return toInt32(v.toHaxeInt()); } - public static inline function ToUInt32_UInt64(v:system.UInt64) : system.UInt32 + public static inline function toUInt32_UInt64(v:system.UInt64) : system.UInt32 { - return ToUInt32(v.ToHaxeInt()); + return toUInt32(v.toHaxeInt()); } - public static inline function ToInt64_UInt64(v:system.UInt64) : system.Int64 + public static inline function toInt64_UInt64(v:system.UInt64) : system.Int64 { - return ToInt32(v.ToHaxeInt()); + return toInt32(v.toHaxeInt()); } - public static inline function ToUInt64_UInt64(v:system.UInt64) : system.UInt64 + public static inline function toUInt64_UInt64(v:system.UInt64) : system.UInt64 { return v; } - public static inline function ToSingle_UInt64(v:system.UInt64) : system.Single + public static inline function toSingle_UInt64(v:system.UInt64) : system.Single { - return v.ToHaxeInt(); + return v.toHaxeInt(); } - public static inline function ToDouble_UInt64(v:system.UInt64) : system.Double + public static inline function toDouble_UInt64(v:system.UInt64) : system.Double { - return v.ToHaxeInt(); + return v.toHaxeInt(); } } \ No newline at end of file diff --git a/Phase/Mscorlib/system/CsMath.hx b/Phase/Mscorlib/system/CsMath.hx index 7adc8b880..ddf6adabb 100644 --- a/Phase/Mscorlib/system/CsMath.hx +++ b/Phase/Mscorlib/system/CsMath.hx @@ -2,35 +2,35 @@ package system; class CsMath { - public static inline function Min_Byte_Byte(a:Byte, b:Byte) : Byte return untyped Math.min(a.ToHaxeInt(), b.ToHaxeInt()); - public static inline function Min_Int32_Int32(a:Int32, b:Int32) : Int32 return untyped Math.min(a.ToHaxeInt(), b.ToHaxeInt()); - public static inline function Min_Double_Double(a:Double, b:Double) : Double return untyped Math.min(a.ToHaxeFloat(), b.ToHaxeFloat()); - public static inline function Max_Int32_Int32(a:Int32, b:Int32) : Int32 return untyped Math.max(a.ToHaxeInt(), b.ToHaxeInt()); - public static inline function Max_Byte_Byte(a:Byte, b:Byte) : Byte return untyped Math.max(a.ToHaxeInt(), b.ToHaxeInt()); - public static inline function Min_Int64_Int64(a:system.Int64, b:system.Int64) : system.Int64 return a.ToHaxeInt() < b.ToHaxeInt() ? a : b; - public static inline function Max_Single_Single(a:Single, b:Single) : Single return Math.max(a.ToHaxeFloat(), b.ToHaxeFloat()); - public static inline function Max_Double_Double(a:Double, b:Double) : Double return Math.max(a.ToHaxeFloat(), b.ToHaxeFloat()); - public static inline function Min_Single_Single(a:Single, b:Single) : Single return Math.min(a.ToHaxeFloat(), b.ToHaxeFloat()); - public static inline function Abs_Single(a:Single) : Single return Math.abs(a.ToHaxeFloat()); - public static inline function Abs_Int32(a:Int32) : Int32 return untyped Math.abs(a.ToHaxeInt()); - public static inline function Round_Double(a:Double) : Double return Math.round(a.ToHaxeFloat()); - public static inline function Round_Single(a:Single) : Single return Math.round(a.ToHaxeFloat()); - public static inline function Sin(a:Double) : Double return Math.sin(a.ToHaxeFloat()); - public static inline function Cos(a:Double) : Double return Math.cos(a.ToHaxeFloat()); - public static inline function Tan(a:Double) : Double return Math.tan(a.ToHaxeFloat()); - public static inline function Pow(v:Double, exp:Double) : Double return Math.pow(v.ToHaxeFloat(), exp.ToHaxeFloat()); - public static inline function Ceiling_Single(v:Single) : Single return Math.ceil(v.ToHaxeFloat()); - public static inline function Ceiling_Double(v:Double) : Double return Math.ceil(v.ToHaxeFloat()); - public static inline function Floor_Single(v:Single) : Single return Math.floor(v.ToHaxeFloat()); - public static inline function Floor_Double(v:Double) : Double return Math.floor(v.ToHaxeFloat()); - public static inline function Sign_Single(v:Single) : Single return Math.floor(v.ToHaxeFloat()); - public static inline function Sign_Double(v:Double) : system.Int32 return if( v < 0 ) -1 else if (v > 0) 1 else 0; - public static inline function Log_Double(a:Double) : system.Double return Math.log(a.ToHaxeFloat()); - public static inline function Log_Double_Double(a:Double, newBase:Double) : system.Double return Math.log(a.ToHaxeFloat()) / Math.log(newBase.ToHaxeFloat()); - public static inline function Log10(a:Double) : system.Double return Log_Double_Double(a, 10); - public static inline function Abs_Double(v:Double) : Double return Math.abs(v.ToHaxeFloat()); - public static inline function Sqrt(v:Double) : Double return Math.sqrt(v.ToHaxeFloat()); - public static inline function Exp(v:Double) : Double return Math.exp(v.ToHaxeFloat()); - public static inline function Asin(v:Double) : Double return Math.asin(v.ToHaxeFloat()); + public static inline function min_Byte_Byte(a:Byte, b:Byte) : Byte return untyped Math.min(a.toHaxeInt(), b.toHaxeInt()); + public static inline function min_Int32_Int32(a:Int32, b:Int32) : Int32 return untyped Math.min(a.toHaxeInt(), b.toHaxeInt()); + public static inline function min_Double_Double(a:Double, b:Double) : Double return untyped Math.min(a.toHaxeFloat(), b.toHaxeFloat()); + public static inline function max_Int32_Int32(a:Int32, b:Int32) : Int32 return untyped Math.max(a.toHaxeInt(), b.toHaxeInt()); + public static inline function max_Byte_Byte(a:Byte, b:Byte) : Byte return untyped Math.max(a.toHaxeInt(), b.toHaxeInt()); + public static inline function min_Int64_Int64(a:system.Int64, b:system.Int64) : system.Int64 return a.toHaxeInt() < b.toHaxeInt() ? a : b; + public static inline function max_Single_Single(a:Single, b:Single) : Single return Math.max(a.toHaxeFloat(), b.toHaxeFloat()); + public static inline function max_Double_Double(a:Double, b:Double) : Double return Math.max(a.toHaxeFloat(), b.toHaxeFloat()); + public static inline function min_Single_Single(a:Single, b:Single) : Single return Math.min(a.toHaxeFloat(), b.toHaxeFloat()); + public static inline function abs_Single(a:Single) : Single return Math.abs(a.toHaxeFloat()); + public static inline function abs_Int32(a:Int32) : Int32 return untyped Math.abs(a.toHaxeInt()); + public static inline function round_Double(a:Double) : Double return Math.round(a.toHaxeFloat()); + public static inline function round_Single(a:Single) : Single return Math.round(a.toHaxeFloat()); + public static inline function sin(a:Double) : Double return Math.sin(a.toHaxeFloat()); + public static inline function cos(a:Double) : Double return Math.cos(a.toHaxeFloat()); + public static inline function tan(a:Double) : Double return Math.tan(a.toHaxeFloat()); + public static inline function pow(v:Double, exp:Double) : Double return Math.pow(v.toHaxeFloat(), exp.toHaxeFloat()); + public static inline function ceiling_Single(v:Single) : Single return Math.ceil(v.toHaxeFloat()); + public static inline function ceiling_Double(v:Double) : Double return Math.ceil(v.toHaxeFloat()); + public static inline function floor_Single(v:Single) : Single return Math.floor(v.toHaxeFloat()); + public static inline function floor_Double(v:Double) : Double return Math.floor(v.toHaxeFloat()); + public static inline function sign_Single(v:Single) : Single return Math.floor(v.toHaxeFloat()); + public static inline function sign_Double(v:Double) : system.Int32 return if( v < 0 ) -1 else if (v > 0) 1 else 0; + public static inline function log_Double(a:Double) : system.Double return Math.log(a.toHaxeFloat()); + public static inline function log_Double_Double(a:Double, newBase:Double) : system.Double return Math.log(a.toHaxeFloat()) / Math.log(newBase.toHaxeFloat()); + public static inline function log10(a:Double) : system.Double return log_Double_Double(a, 10); + public static inline function abs_Double(v:Double) : Double return Math.abs(v.toHaxeFloat()); + public static inline function sqrt(v:Double) : Double return Math.sqrt(v.toHaxeFloat()); + public static inline function exp(v:Double) : Double return Math.exp(v.toHaxeFloat()); + public static inline function asin(v:Double) : Double return Math.asin(v.toHaxeFloat()); } \ No newline at end of file diff --git a/Phase/Mscorlib/system/CsString.hx b/Phase/Mscorlib/system/CsString.hx index a2692d320..cc6ab031c 100644 --- a/Phase/Mscorlib/system/CsString.hx +++ b/Phase/Mscorlib/system/CsString.hx @@ -4,24 +4,25 @@ abstract CsString(String) from String to String { public inline function new(s:String) this = s; - public inline function ToHaxeString(): String return this; + public inline function toHaxeString(): String return this; - public var Length(get, never):Int32; - public inline function get_Length() :Int32 return this.length; - public inline function get_Chars(i:Int32) : Char return Char.fromCode(this.charCodeAt(i.ToHaxeInt())); + public var length(get, never):Int32; + public inline function get_length() :Int32 return this.length; + public inline function get_chars(i:Int32) : Char return Char.fromCode(this.charCodeAt(i.toHaxeInt())); + public inline function get(i:Int32) : Char return Char.fromCode(this.charCodeAt(i.toHaxeInt())); - public inline function Substring_Int32(start:Int32) : CsString return this.substr(start.ToHaxeInt()); - public inline function Substring_Int32_Int32(start:Int32, length:Int32) : CsString return this.substr(start.ToHaxeInt(), length.ToHaxeInt()); - public inline function Replace_CsString_CsString(from:CsString, with :CsString) : CsString return StringTools.replace(this, from.ToHaxeString(), with.ToHaxeString() ); - public inline function IndexOf_Char(ch:Char) : Int32 return this.indexOf(ch.ToString()); - public inline function IndexOf_CsString(ch:CsString) : Int32 return this.indexOf(ch.ToHaxeString()); - public inline function LastIndexOf_Char(ch:Char) : Int32 return this.lastIndexOf(ch.ToString()); - public inline function LastIndexOf_CsString(ch:CsString) : Int32 return this.lastIndexOf(ch.ToHaxeString()); - public inline function EndsWith_CsString(end:CsString) : Boolean return StringTools.endsWith(this, end.ToHaxeString()); - public inline function Contains(s:CsString) : Boolean return this.indexOf(s.ToHaxeString()) != -1; - public inline function Trim() : CsString return StringTools.trim(this); + public inline function substring_Int32(start:Int32) : CsString return this.substr(start.toHaxeInt()); + public inline function substring_Int32_Int32(start:Int32, length:Int32) : CsString return this.substr(start.toHaxeInt(), length.toHaxeInt()); + public inline function replace_CsString_CsString(from:CsString, with :CsString) : CsString return StringTools.replace(this, from.toHaxeString(), with.toHaxeString() ); + public inline function indexOf_Char(ch:Char) : Int32 return this.indexOf(ch.toString()); + public inline function indexOf_CsString(ch:CsString) : Int32 return this.indexOf(ch.toHaxeString()); + public inline function lastIndexOf_Char(ch:Char) : Int32 return this.lastIndexOf(ch.toString()); + public inline function lastIndexOf_CsString(ch:CsString) : Int32 return this.lastIndexOf(ch.toHaxeString()); + public inline function endsWith_CsString(end:CsString) : Boolean return StringTools.endsWith(this, end.toHaxeString()); + public inline function contains(s:CsString) : Boolean return this.indexOf(s.toHaxeString()) != -1; + public inline function trim() : CsString return StringTools.trim(this); - public function Split_CharArray(chars:Array) : Array + public function split_CharArray(chars:Array) : Array { var strings = new Array(); var startPos = 0; @@ -49,16 +50,16 @@ abstract CsString(String) from String to String return strings; } - public static inline function IsNullOrEmpty(s:CsString) : Boolean return (s == null || s.Length == 0); - public static inline function IsNullOrWhiteSpace(s:CsString) : Boolean return (s == null || s.Trim().Length == 0); - public static inline function FromCharCode(s:Int32) : CsString return String.fromCharCode(s.ToHaxeInt()); - public static function Format(format:CsString, args:FixedArray) : CsString + public static inline function isNullOrEmpty(s:CsString) : Boolean return (s == null || s.length == 0); + public static inline function isNullOrWhiteSpace(s:CsString) : Boolean return (s == null || s.trim().length == 0); + public static inline function fromCharCode(s:Int32) : CsString return String.fromCharCode(s.toHaxeInt()); + public static function format(format:CsString, args:FixedArray) : CsString { var sb = new StringBuf(); // based on https://github.com/dotnet/coreclr/blob/master/src/mscorlib/shared/System/Text/StringBuilder.cs#L1362 var pos : Int32 = 0; - var len : Int32 = format.Length; + var len : Int32 = format.length; var ch : Char = 0; var unescapedItemFormat:StringBuf = null; @@ -66,14 +67,14 @@ abstract CsString(String) from String to String { while(pos < len) { - ch = format.get_Chars(pos); + ch = format.get_chars(pos); pos++; // Is it a closing brace? if(ch == "}") { // Check next character (if there is one) to see if it is escaped. eg }} - if(pos < len && format.get_Chars(pos) == "}") + if(pos < len && format.get_chars(pos) == "}") { pos++; } @@ -88,7 +89,7 @@ abstract CsString(String) from String to String if(ch == "{") { // Check next character (if there is one) to see if it is escaped. eg {{ - if(pos < len && format.get_Chars(pos) == "{") + if(pos < len && format.get_chars(pos) == "{") { pos++; } @@ -100,7 +101,7 @@ abstract CsString(String) from String to String } } // If it neither then treat the character as just text. - sb.addChar(ch.ToHaxeInt()); + sb.addChar(ch.toHaxeInt()); } // @@ -116,7 +117,7 @@ abstract CsString(String) from String to String pos++; // If reached end of text then error (Unexpected end of text) // or character is not a digit then error (Unexpected Character) - if (pos == len || (ch = format.get_Chars(pos)) < '0' || ch > '9') + if (pos == len || (ch = format.get_chars(pos)) < '0' || ch > '9') { throw new FormatException().FormatException_CsString("invalid format"); } @@ -131,18 +132,18 @@ abstract CsString(String) from String to String { throw new FormatException().FormatException_CsString("invalid format"); } - ch = format.get_Chars(pos); + ch = format.get_chars(pos); // so long as character is digit and value of the index is less than 1000000 ( index limit ) } while (ch >= '0' && ch <= '9' && index < 1000000); // If value of index is not within the range of the arguments passed in then error (Index out of range) - if (index >= args.Length) + if (index >= args.length) { throw new FormatException().FormatException_CsString("format specifiers out of range"); } // Consume optional whitespace. - while (pos < len && (ch = format.get_Chars(pos)) == ' ') pos++; + while (pos < len && (ch = format.get_chars(pos)) == ' ') pos++; // End of parsing index parameter. // @@ -157,13 +158,13 @@ abstract CsString(String) from String to String pos++; // Consume Optional whitespace - while (pos < len && format.get_Chars(pos) == ' ') pos++; + while (pos < len && format.get_chars(pos) == ' ') pos++; // If reached the end of the text then error (Unexpected end of text) if (pos == len) throw new FormatException().FormatException_CsString("invalid format"); // Is there a minus sign? - ch = format.get_Chars(pos); + ch = format.get_chars(pos); if (ch == '-') { // Yes, then alignment is left justified. @@ -171,7 +172,7 @@ abstract CsString(String) from String to String pos++; // If reached end of text then error (Unexpected end of text) if (pos == len) throw new FormatException().FormatException_CsString("invalid format"); - ch = format.get_Chars(pos); + ch = format.get_chars(pos); } // If current character is not a digit then error (Unexpected character) @@ -183,14 +184,14 @@ abstract CsString(String) from String to String pos++; // If reached end of text then error. (Unexpected end of text) if (pos == len) throw new FormatException().FormatException_CsString("invalid format"); - ch = format.get_Chars(pos); + ch = format.get_chars(pos); // So long a current character is a digit and the value of width is less than 100000 ( width limit ) } while (ch >= '0' && ch <= '9' && width < 100000); // end of parsing Argument Alignment } // Consume optional whitespace - while (pos < len && (ch = format.get_Chars(pos)) == ' ') pos++; + while (pos < len && (ch = format.get_chars(pos)) == ' ') pos++; // // Start of parsing of optional formatting parameter. @@ -208,7 +209,7 @@ abstract CsString(String) from String to String { // If reached end of text then error. (Unexpected end of text) if (pos == len) throw new FormatException().FormatException_CsString("invalid format"); - ch = format.get_Chars(pos); + ch = format.get_chars(pos); pos++; // Is character a opening or closing brace? @@ -217,7 +218,7 @@ abstract CsString(String) from String to String if (ch == '{') { // Yes, is next character also a opening brace, then treat as escaped. eg {{ - if (pos < len && format.get_Chars(pos) == '{') + if (pos < len && format.get_chars(pos) == '{') pos++; else // Error Argument Holes can not be nested. @@ -226,7 +227,7 @@ abstract CsString(String) from String to String else { // Yes, is next character also a closing brace, then treat as escaped. eg }} - if (pos < len && format.get_Chars(pos) == '}') + if (pos < len && format.get_chars(pos) == '}') pos++; else { @@ -242,7 +243,7 @@ abstract CsString(String) from String to String { unescapedItemFormat = new StringBuf(); } - unescapedItemFormat.addSub(format, startPos.ToHaxeInt(), (pos - startPos - 1).ToHaxeInt()); + unescapedItemFormat.addSub(format, startPos.toHaxeInt(), (pos - startPos - 1).toHaxeInt()); startPos = pos; } } @@ -251,12 +252,12 @@ abstract CsString(String) from String to String { if (startPos != pos) { - itemFormat = format.Substring_Int32_Int32(startPos, pos - startPos); + itemFormat = format.substring_Int32_Int32(startPos, pos - startPos); } } else { - unescapedItemFormat.addSub(format, startPos.ToHaxeInt(), (pos - startPos).ToHaxeInt()); + unescapedItemFormat.addSub(format, startPos.toHaxeInt(), (pos - startPos).toHaxeInt()); itemFormat = unescapedItemFormat.toString(); unescapedItemFormat = new StringBuf(); } @@ -276,47 +277,47 @@ abstract CsString(String) from String to String return sb.toString(); } - public static function Format_CsString_Object(format:CsString, arg:system.Object) : CsString + public static function format_CsString_Object(format:CsString, arg:system.Object) : CsString { - return Format(format, [arg]); + return CsString.format(format, [arg]); } - public static function Format_CsString_ObjectArray(format:CsString, args:system.FixedArray) : CsString + public static function format_CsString_ObjectArray(format:CsString, args:system.FixedArray) : CsString { - return Format(format, args); + return CsString.format(format, args); } - public static function Join_CsString_IEnumerable_T1(separator:CsString, v:system.collections.generic.IEnumerable) : CsString + public static function join_CsString_IEnumerable_T1(separator:CsString, v:system.collections.generic.IEnumerable) : CsString { var s = ""; - var enumerator = v.GetEnumerator(); + var enumerator = v.getEnumerator(); var first = true; - while(enumerator.MoveNext()) + while(enumerator.moveNext()) { if(!first) s += separator; - s += Std.string(enumerator.Current); + s += Std.string(enumerator.current); first = false; } return s; } - public static function Join_CsString_IEnumerable_CsString(separator:CsString, v:system.collections.generic.IEnumerable) : CsString + public static function join_CsString_IEnumerable_CsString(separator:CsString, v:system.collections.generic.IEnumerable) : CsString { var s = ""; - var enumerator = v.GetEnumerator(); + var enumerator = v.getEnumerator(); var first = true; - while(enumerator.MoveNext()) + while(enumerator.moveNext()) { if(!first) s += separator; - s += enumerator.Current; + s += enumerator.current; first = false; } return s; } - public static function Join_CsString_CsStringArray(separator:CsString, args: system.FixedArray ) : CsString + public static function join_CsString_CsStringArray(separator:CsString, args: system.FixedArray ) : CsString { var s = ""; @@ -331,30 +332,30 @@ abstract CsString(String) from String to String return s; } - public inline function StartsWith_CsString(s:CsString) : Boolean return StringTools.startsWith(this, s); + public inline function startsWith_CsString(s:CsString) : Boolean return StringTools.startsWith(this, s); - public inline function ToLower() :CsString return this.toLowerCase(); - public inline function ToUpper() :CsString return this.toUpperCase(); + public inline function toLower() :CsString return this.toLowerCase(); + public inline function toUpper() :CsString return this.toUpperCase(); - @:op(A + B) public static inline function add1(lhs : system.CsString, rhs : String) : system.CsString return lhs.ToHaxeString() + rhs; - @:op(A + B) public static inline function add2(lhs : String, rhs : system.CsString) : system.CsString return lhs + rhs.ToHaxeString(); + @:op(A + B) public static inline function add1(lhs : system.CsString, rhs : String) : system.CsString return lhs.toHaxeString() + rhs; + @:op(A + B) public static inline function add2(lhs : String, rhs : system.CsString) : system.CsString return lhs + rhs.toHaxeString(); - @:op(A + B) public static inline function add3(lhs : system.CsString, rhs : Int) : system.CsString return lhs.ToHaxeString() + Std.string(rhs); - @:op(A + B) public static inline function add4(lhs : Int, rhs : system.CsString) : system.CsString return Std.string(lhs) + rhs.ToHaxeString(); + @:op(A + B) public static inline function add3(lhs : system.CsString, rhs : Int) : system.CsString return lhs.toHaxeString() + Std.string(rhs); + @:op(A + B) public static inline function add4(lhs : Int, rhs : system.CsString) : system.CsString return Std.string(lhs) + rhs.toHaxeString(); @:op(A + B) public static inline function add5(lhs : system.CsString, rhs : Float) : system.CsString return lhs + Std.string(rhs); @:op(A + B) public static inline function add6(lhs : Float, rhs : system.CsString) : system.CsString return Std.string(lhs) + rhs; - @:op(A + B) public static inline function add7(lhs : system.CsString, rhs : system.Char) : system.CsString return lhs + rhs.ToString(); - @:op(A + B) public static inline function add8(lhs : system.CsString, rhs : system.Byte) : system.CsString return lhs + rhs.ToString(); - @:op(A + B) public static inline function add9(lhs : system.CsString, rhs : system.Int16) : system.CsString return lhs + rhs.ToString(); - @:op(A + B) public static inline function add10(lhs : system.CsString, rhs : system.Int32) : system.CsString return lhs + rhs.ToString(); - @:op(A + B) public static inline function add11(lhs : system.CsString, rhs : system.Int64) : system.CsString return lhs + rhs.ToString(); - @:op(A + B) public static inline function add12(lhs : system.CsString, rhs : system.SByte) : system.CsString return lhs + rhs.ToString(); - @:op(A + B) public static inline function add13(lhs : system.CsString, rhs : system.UInt16) : system.CsString return lhs + rhs.ToString(); - @:op(A + B) public static inline function add14(lhs : system.CsString, rhs : system.UInt32) : system.CsString return lhs + rhs.ToString(); - @:op(A + B) public static inline function add15(lhs : system.CsString, rhs : system.UInt64) : system.CsString return lhs + rhs.ToString(); - @:op(A + B) public static inline function add16(lhs : system.CsString, rhs : system.Single) : system.CsString return lhs + rhs.ToString(); - @:op(A + B) public static inline function add17(lhs : system.CsString, rhs : system.Double) : system.CsString return lhs + rhs.ToString(); - @:op(A + B) public static inline function add18(lhs : system.CsString, rhs : system.CsString) : system.CsString return lhs.ToHaxeString() + rhs.ToHaxeString(); + @:op(A + B) public static inline function add7(lhs : system.CsString, rhs : system.Char) : system.CsString return lhs + rhs.toString(); + @:op(A + B) public static inline function add8(lhs : system.CsString, rhs : system.Byte) : system.CsString return lhs + rhs.toString(); + @:op(A + B) public static inline function add9(lhs : system.CsString, rhs : system.Int16) : system.CsString return lhs + rhs.toString(); + @:op(A + B) public static inline function add10(lhs : system.CsString, rhs : system.Int32) : system.CsString return lhs + rhs.toString(); + @:op(A + B) public static inline function add11(lhs : system.CsString, rhs : system.Int64) : system.CsString return lhs + rhs.toString(); + @:op(A + B) public static inline function add12(lhs : system.CsString, rhs : system.SByte) : system.CsString return lhs + rhs.toString(); + @:op(A + B) public static inline function add13(lhs : system.CsString, rhs : system.UInt16) : system.CsString return lhs + rhs.toString(); + @:op(A + B) public static inline function add14(lhs : system.CsString, rhs : system.UInt32) : system.CsString return lhs + rhs.toString(); + @:op(A + B) public static inline function add15(lhs : system.CsString, rhs : system.UInt64) : system.CsString return lhs + rhs.toString(); + @:op(A + B) public static inline function add16(lhs : system.CsString, rhs : system.Single) : system.CsString return lhs + rhs.toString(); + @:op(A + B) public static inline function add17(lhs : system.CsString, rhs : system.Double) : system.CsString return lhs + rhs.toString(); + @:op(A + B) public static inline function add18(lhs : system.CsString, rhs : system.CsString) : system.CsString return lhs.toHaxeString() + rhs.toHaxeString(); } \ No newline at end of file diff --git a/Phase/Mscorlib/system/CsType.hx b/Phase/Mscorlib/system/CsType.hx index c2f4c9f1d..41a362853 100644 --- a/Phase/Mscorlib/system/CsType.hx +++ b/Phase/Mscorlib/system/CsType.hx @@ -4,8 +4,8 @@ abstract CsType(Class) from Class to Class { public function new(cls : Class) this = cls; - public var Name(get,never):CsString; - public function get_Name() : CsString + public var name(get,never):CsString; + public function get_name() : CsString { var fullName = Type.getClassName(this); var i = fullName.lastIndexOf("."); diff --git a/Phase/Mscorlib/system/Double.hx b/Phase/Mscorlib/system/Double.hx index 874ad5758..379533c51 100644 --- a/Phase/Mscorlib/system/Double.hx +++ b/Phase/Mscorlib/system/Double.hx @@ -4,38 +4,38 @@ abstract Double(Float) from Float from Int { public inline function new(i:Float) this = i; - @:from public static inline function FromInt(i:Int) : Double return new Double(i); - @:from public static inline function FromByte(i:system.Byte) : Double return new Double(i.ToHaxeInt()); - @:from public static inline function FromInt16(i:system.Int16) : Double return new Double(i.ToHaxeInt()); - @:from public static inline function FromInt32(i:system.Int32) : Double return new Double(i.ToHaxeInt()); - @:from public static inline function FromInt64(i:system.Int64) : Double return new Double(i.ToHaxeInt()); - @:from public static inline function FromSByte(i:system.Byte) : Double return new Double(i.ToHaxeInt()); - @:from public static inline function FromUInt16(i:system.UInt16) : Double return new Double(i.ToHaxeInt()); - @:from public static inline function FromUInt32(i:system.UInt32) : Double return new Double(i.ToHaxeInt()); - @:from public static inline function FromUInt64(i:system.UInt64) : Double return new Double(i.ToHaxeInt()); - @:from public static inline function FromSingle(i:Single) : Double return new Double(i.ToHaxeFloat()); + @:from public static inline function fromInt(i:Int) : Double return new Double(i); + @:from public static inline function fromByte(i:system.Byte) : Double return new Double(i.toHaxeInt()); + @:from public static inline function fromInt16(i:system.Int16) : Double return new Double(i.toHaxeInt()); + @:from public static inline function fromInt32(i:system.Int32) : Double return new Double(i.toHaxeInt()); + @:from public static inline function fromInt64(i:system.Int64) : Double return new Double(i.toHaxeInt()); + @:from public static inline function fromSByte(i:system.Byte) : Double return new Double(i.toHaxeInt()); + @:from public static inline function fromUInt16(i:system.UInt16) : Double return new Double(i.toHaxeInt()); + @:from public static inline function fromUInt32(i:system.UInt32) : Double return new Double(i.toHaxeInt()); + @:from public static inline function fromUInt64(i:system.UInt64) : Double return new Double(i.toHaxeInt()); + @:from public static inline function fromSingle(i:Single) : Double return new Double(i.toHaxeFloat()); - public inline function ToHaxeFloat(): Float return this; - public inline function ToString() : system.CsString return Std.string(this); - - public inline function ToBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.ToBoolean_Double(this); - public inline function ToChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.ToChar_Double(this); - public inline function ToSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.ToSByte_Double(this); - public inline function ToByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.ToByte_Double(this); - public inline function ToInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.ToInt16_Double(this); - public inline function ToUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.ToUInt16_Double(this); - public inline function ToInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.ToInt32_Double(this); - public inline function ToUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.ToUInt32_Double(this); - public inline function ToInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.ToInt64_Double(this); - public inline function ToUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.ToUInt64_Double(this); - public inline function ToSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.ToSingle_Double(this); - public inline function ToDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.ToDouble_Double(this); - - public function GetHashCode() : system.Int32 return system.Convert.ToHashCode_Double(this); + public inline function toHaxeFloat(): Float return this; + public inline function toString() : system.CsString return Std.string(this); + + public inline function toBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.toBoolean_Double(this); + public inline function toChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.toChar_Double(this); + public inline function toSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.toSByte_Double(this); + public inline function toByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.toByte_Double(this); + public inline function toInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.toInt16_Double(this); + public inline function toUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.toUInt16_Double(this); + public inline function toInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.toInt32_Double(this); + public inline function toUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.toUInt32_Double(this); + public inline function toInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.toInt64_Double(this); + public inline function toUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.toUInt64_Double(this); + public inline function toSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.toSingle_Double(this); + public inline function toDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.toDouble_Double(this); + + public function getHashCode() : system.Int32 return system.Convert.toHashCode_Double(this); public static var NaN(get, never) : system.Double; public static inline function get_NaN() : system.Double return Math.NaN; - public static inline function IsNaN(v:system.Double) : system.Boolean return Math.isNaN(v.ToHaxeFloat()); + public static inline function isNaN(v:system.Double) : system.Boolean return Math.isNaN(v.toHaxeFloat()); @:op(-A) public inline function neg() : system.Double return -this; diff --git a/Phase/Mscorlib/system/DoubleArray.hx b/Phase/Mscorlib/system/DoubleArray.hx index c62ebea12..4774eff14 100644 --- a/Phase/Mscorlib/system/DoubleArray.hx +++ b/Phase/Mscorlib/system/DoubleArray.hx @@ -2,20 +2,20 @@ package system; abstract DoubleArray(js.html.Float64Array) { - public inline function new(length:Int32) this = new js.html.Float64Array(length.ToHaxeInt()); + public inline function new(length:Int32) this = new js.html.Float64Array(length.toHaxeInt()); @:from public static inline function fromArray(a:Array):DoubleArray return cast new js.html.Float64Array(untyped a); - @:from public static inline function fromFixedArray(a:FixedArray):DoubleArray return cast new js.html.Float64Array(untyped a.ToHaxeArray()); + @:from public static inline function fromFixedArray(a:FixedArray):DoubleArray return cast new js.html.Float64Array(untyped a.toHaxeArray()); - public var Length(get, never):Int32; - public inline function get_Length() : Int32 return this.length; + public var length(get, never):Int32; + public inline function get_length() : Int32 return this.length; - @:op([]) public inline function get(index:Int32):Double return this[index.ToHaxeInt()]; - @:op([]) public inline function set(index:Int32, val:Double):Double return this[index.ToHaxeInt()] = val.ToHaxeFloat(); + @:op([]) public inline function get(index:Int32):Double return this[index.toHaxeInt()]; + @:op([]) public inline function set(index:Int32, val:Double):Double return this[index.toHaxeInt()] = val.toHaxeFloat(); public inline function iterator() : Iterator return new DoubleArrayIterator(this); - public inline function ToEnumerable() : system.collections.generic.IEnumerable return new DoubleArrayEnumerable(this); + public inline function toEnumerable() : system.collections.generic.IEnumerable return new DoubleArrayEnumerable(this); public static inline function empty(size:Int32) return new DoubleArray(size); } \ No newline at end of file diff --git a/Phase/Mscorlib/system/DoubleArrayEnumerable.hx b/Phase/Mscorlib/system/DoubleArrayEnumerable.hx index 7dd81b61a..dbb273a16 100644 --- a/Phase/Mscorlib/system/DoubleArrayEnumerable.hx +++ b/Phase/Mscorlib/system/DoubleArrayEnumerable.hx @@ -11,7 +11,7 @@ class DoubleArrayEnumerable implements IEnumerable _array= array; } - public function GetEnumerator() : IEnumerator + public function getEnumerator() : IEnumerator { return new DoubleArrayEnumerator(_array); } diff --git a/Phase/Mscorlib/system/DoubleArrayEnumerator.hx b/Phase/Mscorlib/system/DoubleArrayEnumerator.hx index d12225c69..eb0bc5269 100644 --- a/Phase/Mscorlib/system/DoubleArrayEnumerator.hx +++ b/Phase/Mscorlib/system/DoubleArrayEnumerator.hx @@ -13,16 +13,16 @@ class DoubleArrayEnumerator implements IEnumerator _i = -1; } - public var Current(get, never):Double; - public function get_Current() : Double return _array[_i]; - public function MoveNext() : Bool + public var current(get, never):Double; + public function get_current() : Double return _array[_i]; + public function moveNext() : Bool { if(_i >= _array.length - 1) return false; _i++; return true; } - public function Reset():Void + public function reset():Void { _i = -1; } diff --git a/Phase/Mscorlib/system/EventAction.hx b/Phase/Mscorlib/system/EventAction.hx index 42cd36ba2..d3de2a0ac 100644 --- a/Phase/Mscorlib/system/EventAction.hx +++ b/Phase/Mscorlib/system/EventAction.hx @@ -4,9 +4,9 @@ abstract EventAction(ArrayVoid>) { public inline function new(v:Void->Void) this = v == null ? null : [v]; - @:to public inline function ToLambda() : Void->Void return Invoke; + @:to public inline function toLambda() : Void->Void return invoke; - public inline function ToArray() return this; + public inline function toArray() return this; @:op(A + B) public static function add(lhs : EventAction, rhs : Void->Void) : EventAction { if(lhs == null) @@ -15,14 +15,14 @@ abstract EventAction(ArrayVoid>) } else { - lhs.ToArray().push(rhs); + lhs.toArray().push(rhs); } return lhs; } @:op(A - B) public static function sub(lhs : EventAction, rhs : Void->Void) : EventAction { - var raw = lhs.ToArray(); + var raw = lhs.toArray(); var index = raw.indexOf(rhs); if(index != -1) { @@ -35,7 +35,7 @@ abstract EventAction(ArrayVoid>) return lhs; } - public function Invoke() : Void + public function invoke() : Void { if(this == null) return; for (x in this) diff --git a/Phase/Mscorlib/system/EventAction1.hx b/Phase/Mscorlib/system/EventAction1.hx index 86a0dc4ec..5e30b0879 100644 --- a/Phase/Mscorlib/system/EventAction1.hx +++ b/Phase/Mscorlib/system/EventAction1.hx @@ -5,9 +5,9 @@ abstract EventAction1(ArrayVoid>) public inline function new(v:T1->Void) this = v == null ? null : [v]; - @:to public inline function ToLambda() : T1->Void return Invoke; + @:to public inline function toLambda() : T1->Void return invoke; - public inline function ToArray() return this; + public inline function toArray() return this; @:op(A + B) public static function add(lhs : EventAction1, rhs : T1->Void) : EventAction1 { if(lhs == null) @@ -16,14 +16,14 @@ abstract EventAction1(ArrayVoid>) } else { - lhs.ToArray().push(rhs); + lhs.toArray().push(rhs); } return lhs; } @:op(A - B) public static function sub(lhs : EventAction1, rhs : T1->Void) : EventAction1 { - var raw = lhs.ToArray(); + var raw = lhs.toArray(); var index = raw.indexOf(rhs); if(index != -1) { @@ -37,7 +37,7 @@ abstract EventAction1(ArrayVoid>) } - public function Invoke(p:T1) : Void + public function invoke(p:T1) : Void { if(this == null) return; for (x in this) diff --git a/Phase/Mscorlib/system/EventAction2.hx b/Phase/Mscorlib/system/EventAction2.hx index dfa5dde32..d3ab57fc0 100644 --- a/Phase/Mscorlib/system/EventAction2.hx +++ b/Phase/Mscorlib/system/EventAction2.hx @@ -4,9 +4,9 @@ abstract EventAction2(ArrayT2->Void>) { public inline function new(v:T1->T2->Void) this = v == null ? null : [v]; - @:to public inline function ToLambda() : T1->T2->Void return Invoke; + @:to public inline function toLambda() : T1->T2->Void return invoke; - public inline function ToArray() return this; + public inline function toArray() return this; @:op(A + B) public static function add(lhs : EventAction2, rhs : T1->T2->Void) : EventAction2 { if(lhs == null) @@ -15,14 +15,14 @@ abstract EventAction2(ArrayT2->Void>) } else { - lhs.ToArray().push(rhs); + lhs.toArray().push(rhs); } return lhs; } @:op(A - B) public static function sub(lhs : EventAction2, rhs : T1->T2->Void) : EventAction2 { - var raw = lhs.ToArray(); + var raw = lhs.toArray(); var index = raw.indexOf(rhs); if(index != -1) { @@ -35,7 +35,7 @@ abstract EventAction2(ArrayT2->Void>) return lhs; } - public function Invoke(p1:T1, p2:T2) : Void + public function invoke(p1:T1, p2:T2) : Void { if(this == null) return; for (x in this) diff --git a/Phase/Mscorlib/system/Exception.hx b/Phase/Mscorlib/system/Exception.hx index 62008cd6c..83182f5cc 100644 --- a/Phase/Mscorlib/system/Exception.hx +++ b/Phase/Mscorlib/system/Exception.hx @@ -2,11 +2,11 @@ package system; class Exception { - public var Message(default, null):String; + public var message(default, null):String; public function Exception_CsString(message:String) { - Message = message; + this.message = message; return this; } diff --git a/Phase/Mscorlib/system/FixedArray.hx b/Phase/Mscorlib/system/FixedArray.hx index f880b3d45..6344f58e2 100644 --- a/Phase/Mscorlib/system/FixedArray.hx +++ b/Phase/Mscorlib/system/FixedArray.hx @@ -6,21 +6,21 @@ package system; */ abstract FixedArray(Array) to Array { - public inline function new(length:Int32) this = untyped __new__(Array, length.ToHaxeInt()); + public inline function new(length:Int32) this = untyped __new__(Array, length.toHaxeInt()); - public inline function ToHaxeArray() : Array return this; + public inline function toHaxeArray() : Array return this; @:from public static inline function fromArray(a:Array):FixedArray return cast a; - public var Length(get, never):Int32; - public inline function get_Length() : Int32 return this.length; + public var length(get, never):Int32; + public inline function get_length() : Int32 return this.length; - @:op([]) public inline function get(index:Int32):T return this[index.ToHaxeInt()]; - @:op([]) public inline function set(index:Int32, val:T):T return this[index.ToHaxeInt()] = val; + @:op([]) public inline function get(index:Int32):T return this[index.toHaxeInt()]; + @:op([]) public inline function set(index:Int32, val:T):T return this[index.toHaxeInt()] = val; public inline function iterator() : Iterator return this.iterator(); - public inline function ToEnumerable() : system.collections.generic.IEnumerable return new system.collections.generic.IterableEnumerable(this); + public inline function toEnumerable() : system.collections.generic.IEnumerable return new system.collections.generic.IterableEnumerable(this); public static inline function empty(size:Int32) return new FixedArray(size); public static inline function empty2(size:Int32) return new FixedArray>(size); diff --git a/Phase/Mscorlib/system/HaxeExtensions.hx b/Phase/Mscorlib/system/HaxeExtensions.hx index ab2089e8f..1ab19b3ec 100644 --- a/Phase/Mscorlib/system/HaxeExtensions.hx +++ b/Phase/Mscorlib/system/HaxeExtensions.hx @@ -2,37 +2,37 @@ package system; class StringExtensions { - public static inline function ToHaxeString(s:String) return s; + public static inline function toHaxeString(s:String) return s; } class IntExtensions { - public static inline function ToHaxeInt(i:Int) return i; - public static inline function ToChar_IFormatProvider(i:Int, provider:IFormatProvider) : system.Char return i; - public static inline function ToSByte_IFormatProvider(i:Int, provider:IFormatProvider) : system.SByte return i; - public static inline function ToByte_IFormatProvider(i:Int, provider:IFormatProvider) : system.Byte return i; - public static inline function ToInt16_IFormatProvider(i:Int, provider:IFormatProvider) : system.Int16 return i; - public static inline function ToUInt16_IFormatProvider(i:Int, provider:IFormatProvider) : system.UInt16 return i; - public static inline function ToInt32_IFormatProvider(i:Int, provider:IFormatProvider) : system.Int32 return i; - public static inline function ToUInt32_IFormatProvider(i:Int, provider:IFormatProvider) : system.UInt32 return i; - public static inline function ToInt64_IFormatProvider(i:Int, provider:IFormatProvider) : system.Int64 return i; - public static inline function ToUInt64_IFormatProvider(i:Int, provider:IFormatProvider) : system.UInt64 return i; - public static inline function ToSingle_IFormatProvider(i:Int, provider:IFormatProvider) : system.Single return i; - public static inline function ToDouble_IFormatProvider(i:Int, provider:IFormatProvider) : system.Double return i; + public static inline function toHaxeInt(i:Int) return i; + public static inline function toChar_IFormatProvider(i:Int, provider:IFormatProvider) : system.Char return i; + public static inline function toSByte_IFormatProvider(i:Int, provider:IFormatProvider) : system.SByte return i; + public static inline function toByte_IFormatProvider(i:Int, provider:IFormatProvider) : system.Byte return i; + public static inline function toInt16_IFormatProvider(i:Int, provider:IFormatProvider) : system.Int16 return i; + public static inline function toUInt16_IFormatProvider(i:Int, provider:IFormatProvider) : system.UInt16 return i; + public static inline function toInt32_IFormatProvider(i:Int, provider:IFormatProvider) : system.Int32 return i; + public static inline function toUInt32_IFormatProvider(i:Int, provider:IFormatProvider) : system.UInt32 return i; + public static inline function toInt64_IFormatProvider(i:Int, provider:IFormatProvider) : system.Int64 return i; + public static inline function toUInt64_IFormatProvider(i:Int, provider:IFormatProvider) : system.UInt64 return i; + public static inline function toSingle_IFormatProvider(i:Int, provider:IFormatProvider) : system.Single return i; + public static inline function toDouble_IFormatProvider(i:Int, provider:IFormatProvider) : system.Double return i; } class FloatExtensions { - public static inline function ToHaxeFloat(f:Float) return f; + public static inline function toHaxeFloat(f:Float) return f; - public static inline function ToChar_IFormatProvider(i:Float, provider:IFormatProvider) : system.Char return Std.int(i); - public static inline function ToSByte_IFormatProvider(i:Float, provider:IFormatProvider) : system.SByte return Std.int(i); - public static inline function ToByte_IFormatProvider(i:Float, provider:IFormatProvider) : system.Byte return Std.int(i); - public static inline function ToInt16_IFormatProvider(i:Float, provider:IFormatProvider) : system.Int16 return Std.int(i); - public static inline function ToUInt16_IFormatProvider(i:Float, provider:IFormatProvider) : system.UInt16 return Std.int(i); - public static inline function ToInt32_IFormatProvider(i:Float, provider:IFormatProvider) : system.Int32 return Std.int(i); - public static inline function ToUInt32_IFormatProvider(i:Float, provider:IFormatProvider) : system.UInt32 return Std.int(i); - public static inline function ToInt64_IFormatProvider(i:Float, provider:IFormatProvider) : system.Int64 return Std.int(i); - public static inline function ToUInt64_IFormatProvider(i:Float, provider:IFormatProvider) : system.UInt64 return Std.int(i); - public static inline function ToSingle_IFormatProvider(i:Float, provider:IFormatProvider) : system.Single return Std.int(i); - public static inline function ToDouble_IFormatProvider(i:Float, provider:IFormatProvider) : system.Double return Std.int(i); + public static inline function toChar_IFormatProvider(i:Float, provider:IFormatProvider) : system.Char return Std.int(i); + public static inline function toSByte_IFormatProvider(i:Float, provider:IFormatProvider) : system.SByte return Std.int(i); + public static inline function toByte_IFormatProvider(i:Float, provider:IFormatProvider) : system.Byte return Std.int(i); + public static inline function toInt16_IFormatProvider(i:Float, provider:IFormatProvider) : system.Int16 return Std.int(i); + public static inline function toUInt16_IFormatProvider(i:Float, provider:IFormatProvider) : system.UInt16 return Std.int(i); + public static inline function toInt32_IFormatProvider(i:Float, provider:IFormatProvider) : system.Int32 return Std.int(i); + public static inline function toUInt32_IFormatProvider(i:Float, provider:IFormatProvider) : system.UInt32 return Std.int(i); + public static inline function toInt64_IFormatProvider(i:Float, provider:IFormatProvider) : system.Int64 return Std.int(i); + public static inline function toUInt64_IFormatProvider(i:Float, provider:IFormatProvider) : system.UInt64 return Std.int(i); + public static inline function toSingle_IFormatProvider(i:Float, provider:IFormatProvider) : system.Single return Std.int(i); + public static inline function toDouble_IFormatProvider(i:Float, provider:IFormatProvider) : system.Double return Std.int(i); } \ No newline at end of file diff --git a/Phase/Mscorlib/system/Int16.hx b/Phase/Mscorlib/system/Int16.hx index fc4216ac8..2421029e1 100644 --- a/Phase/Mscorlib/system/Int16.hx +++ b/Phase/Mscorlib/system/Int16.hx @@ -3,27 +3,27 @@ package system; abstract Int16(Int) from Int { - public inline function new(i:Int) this = system.Convert.ToInt16(i); + public inline function new(i:Int) this = system.Convert.toInt16(i); - public inline function ToHaxeInt(): Int return this; - public inline function ToString() : system.CsString return Std.string(this); + public inline function toHaxeInt(): Int return this; + public inline function toString() : system.CsString return Std.string(this); - @:from public static inline function FromByte(c:Byte) : Int16 return new Int16(c.ToHaxeInt()); + @:from public static inline function fromByte(c:Byte) : Int16 return new Int16(c.toHaxeInt()); - public inline function ToBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.ToBoolean_Int16(this); - public inline function ToChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.ToChar_Int16(this); - public inline function ToSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.ToSByte_Int16(this); - public inline function ToByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.ToByte_Int16(this); - public inline function ToInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.ToInt16_Int16(this); - public inline function ToUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.ToUInt16_Int16(this); - public inline function ToInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.ToInt32_Int16(this); - public inline function ToUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.ToUInt32_Int16(this); - public inline function ToInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.ToInt64_Int16(this); - public inline function ToUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.ToUInt64_Int16(this); - public inline function ToSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.ToSingle_Int16(this); - public inline function ToDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.ToDouble_Int16(this); + public inline function toBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.toBoolean_Int16(this); + public inline function toChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.toChar_Int16(this); + public inline function toSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.toSByte_Int16(this); + public inline function toByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.toByte_Int16(this); + public inline function toInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.toInt16_Int16(this); + public inline function toUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.toUInt16_Int16(this); + public inline function toInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.toInt32_Int16(this); + public inline function toUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.toUInt32_Int16(this); + public inline function toInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.toInt64_Int16(this); + public inline function toUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.toUInt64_Int16(this); + public inline function toSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.toSingle_Int16(this); + public inline function toDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.toDouble_Int16(this); - public inline function GetHashCode() : system.Int32 return this | (this << 16); + public inline function getHashCode() : system.Int32 return this | (this << 16); @:op(-A) public inline function neg() : system.Int32 return -this; @@ -53,9 +53,9 @@ abstract Int16(Int) from Int @:op(A * B) public static function mul15(lhs : system.Int16, rhs : system.Double) : system.Double; - @:op(A / B) public static inline function div0(lhs : system.Int16, rhs : system.Int16) : system.Int32 return Std.int(lhs.ToHaxeInt() / rhs.ToHaxeInt()); - @:op(A / B) public static inline function div1(lhs : system.Int16, rhs : Int) : system.Int32 return Std.int(lhs.ToHaxeInt() / rhs); - @:op(A / B) public static inline function div2(lhs : Int, rhs : system.Int16) : system.Int32 return Std.int(lhs / rhs.ToHaxeInt()); + @:op(A / B) public static inline function div0(lhs : system.Int16, rhs : system.Int16) : system.Int32 return Std.int(lhs.toHaxeInt() / rhs.toHaxeInt()); + @:op(A / B) public static inline function div1(lhs : system.Int16, rhs : Int) : system.Int32 return Std.int(lhs.toHaxeInt() / rhs); + @:op(A / B) public static inline function div2(lhs : Int, rhs : system.Int16) : system.Int32 return Std.int(lhs / rhs.toHaxeInt()); @:op(A / B) public static function div3(lhs : system.Int16, rhs : Float) : Float; @:op(A / B) public static function div4(lhs : Float, rhs : system.Int16) : Float; @@ -107,8 +107,8 @@ abstract Int16(Int) from Int // @:op(A + B) public static function add13(lhs : system.Int16, rhs : system.UInt64) : system.UInt64; @:op(A + B) public static function add14(lhs : system.Int16, rhs : system.Single) : system.Single; @:op(A + B) public static function add15(lhs : system.Int16, rhs : system.Double) : system.Double; - @:op(A + B) public static inline function add16(lhs : system.Int16, rhs : system.CsString) : system.CsString return lhs.ToString() + rhs; - @:op(A + B) public static inline function add17(lhs : system.Int16, rhs : String) : system.CsString return lhs.ToString() + rhs; + @:op(A + B) public static inline function add16(lhs : system.Int16, rhs : system.CsString) : system.CsString return lhs.toString() + rhs; + @:op(A + B) public static inline function add17(lhs : system.Int16, rhs : String) : system.CsString return lhs.toString() + rhs; @:op(A - B) public static function sub0(lhs : system.Int16, rhs : system.Int16) : system.Int32; diff --git a/Phase/Mscorlib/system/Int16Array.hx b/Phase/Mscorlib/system/Int16Array.hx index 682504aec..3a9716263 100644 --- a/Phase/Mscorlib/system/Int16Array.hx +++ b/Phase/Mscorlib/system/Int16Array.hx @@ -2,20 +2,20 @@ package system; abstract Int16Array(js.html.Int16Array) { - public inline function new(length:Int32) this = new js.html.Int16Array(length.ToHaxeInt()); + public inline function new(length:Int32) this = new js.html.Int16Array(length.toHaxeInt()); @:from public static inline function fromArray(a:Array):Int16Array return cast new js.html.Int16Array(untyped a); - @:from public static inline function fromFixedArray(a:FixedArray):Int16Array return cast new js.html.Int16Array(untyped a.ToHaxeArray()); + @:from public static inline function fromFixedArray(a:FixedArray):Int16Array return cast new js.html.Int16Array(untyped a.toHaxeArray()); - public var Length(get, never):Int32; - public inline function get_Length() : Int32 return this.length; + public var length(get, never):Int32; + public inline function get_length() : Int32 return this.length; - @:op([]) public inline function get(index:Int32):Int16 return this[index.ToHaxeInt()]; - @:op([]) public inline function set(index:Int32, val:Int16):Int16 return this[index.ToHaxeInt()] = val.ToHaxeInt(); + @:op([]) public inline function get(index:Int32):Int16 return this[index.toHaxeInt()]; + @:op([]) public inline function set(index:Int32, val:Int16):Int16 return this[index.toHaxeInt()] = val.toHaxeInt(); public inline function iterator() : Iterator return new Int16ArrayIterator(this); - public inline function ToEnumerable() : system.collections.generic.IEnumerable return new Int16ArrayEnumerable(this); + public inline function toEnumerable() : system.collections.generic.IEnumerable return new Int16ArrayEnumerable(this); public static inline function empty(size:Int32) return new Int16Array(size); } \ No newline at end of file diff --git a/Phase/Mscorlib/system/Int16ArrayEnumerable.hx b/Phase/Mscorlib/system/Int16ArrayEnumerable.hx index b499c4fd4..d54cda6df 100644 --- a/Phase/Mscorlib/system/Int16ArrayEnumerable.hx +++ b/Phase/Mscorlib/system/Int16ArrayEnumerable.hx @@ -11,7 +11,7 @@ class Int16ArrayEnumerable implements IEnumerable _array= array; } - public function GetEnumerator() : IEnumerator + public function getEnumerator() : IEnumerator { return new Int16ArrayEnumerator(_array); } diff --git a/Phase/Mscorlib/system/Int16ArrayEnumerator.hx b/Phase/Mscorlib/system/Int16ArrayEnumerator.hx index 99688cf22..762de4daf 100644 --- a/Phase/Mscorlib/system/Int16ArrayEnumerator.hx +++ b/Phase/Mscorlib/system/Int16ArrayEnumerator.hx @@ -13,16 +13,16 @@ class Int16ArrayEnumerator implements IEnumerator _i = -1; } - public var Current(get, never):Int16; - public function get_Current() : Int16 return _array[_i]; - public function MoveNext() : Bool + public var current(get, never):Int16; + public function get_current() : Int16 return _array[_i]; + public function moveNext() : Bool { if(_i >= _array.length - 1) return false; _i++; return true; } - public function Reset():Void + public function reset():Void { _i = -1; } diff --git a/Phase/Mscorlib/system/Int32.hx b/Phase/Mscorlib/system/Int32.hx index 783a310fc..71906304f 100644 --- a/Phase/Mscorlib/system/Int32.hx +++ b/Phase/Mscorlib/system/Int32.hx @@ -4,30 +4,30 @@ abstract Int32(Int) from Int { public inline function new(i:Int) this = i; - public inline function ToHaxeInt(): Int return this; - public inline function ToString() : system.CsString return Std.string(this); + public inline function toHaxeInt(): Int return this; + public inline function toString() : system.CsString return Std.string(this); - @:from public static inline function FromChar(c:Char) : Int32 return new Int32(c.ToHaxeInt()); - @:from public static inline function FromByte(c:Byte) : Int32 return new Int32(c.ToHaxeInt()); - @:from public static inline function FromSByte(c:SByte) : Int32 return new Int32(c.ToHaxeInt()); - @:from public static inline function FromInt16(c:Int16) : Int32 return new Int32(c.ToHaxeInt()); + @:from public static inline function fromChar(c:Char) : Int32 return new Int32(c.toHaxeInt()); + @:from public static inline function fromByte(c:Byte) : Int32 return new Int32(c.toHaxeInt()); + @:from public static inline function fromSByte(c:SByte) : Int32 return new Int32(c.toHaxeInt()); + @:from public static inline function fromInt16(c:Int16) : Int32 return new Int32(c.toHaxeInt()); - public inline function ToBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.ToBoolean_Int32(this); - public inline function ToChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.ToChar_Int32(this); - public inline function ToSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.ToSByte_Int32(this); - public inline function ToByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.ToByte_Int32(this); - public inline function ToInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.ToInt16_Int32(this); - public inline function ToUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.ToUInt16_Int32(this); - public inline function ToInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.ToInt32_Int32(this); - public inline function ToUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.ToUInt32_Int32(this); - public inline function ToInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.ToInt64_Int32(this); - public inline function ToUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.ToUInt64_Int32(this); - public inline function ToSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.ToSingle_Int32(this); - public inline function ToDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.ToDouble_Int32(this); + public inline function toBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.toBoolean_Int32(this); + public inline function toChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.toChar_Int32(this); + public inline function toSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.toSByte_Int32(this); + public inline function toByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.toByte_Int32(this); + public inline function toInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.toInt16_Int32(this); + public inline function toUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.toUInt16_Int32(this); + public inline function toInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.toInt32_Int32(this); + public inline function toUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.toUInt32_Int32(this); + public inline function toInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.toInt64_Int32(this); + public inline function toUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.toUInt64_Int32(this); + public inline function toSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.toSingle_Int32(this); + public inline function toDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.toDouble_Int32(this); - public inline function GetHashCode() : system.Int32 return this; + public inline function getHashCode() : system.Int32 return this; - public function CompareTo_Int32(other:Int32) : Int32 + public function compareTo_Int32(other:Int32) : Int32 { if (this < other) return -1; if (this > other) return 1; @@ -64,9 +64,9 @@ abstract Int32(Int) from Int @:op(A * B) public static function mul15(lhs : system.Int32, rhs : system.Double) : system.Double; - @:op(A / B) public static inline function div0(lhs : system.Int32, rhs : system.Int32) : system.Int32 return Std.int(lhs.ToHaxeInt() / rhs.ToHaxeInt()); - @:op(A / B) public static inline function div1(lhs : system.Int32, rhs : Int) : system.Int32 return Std.int(lhs.ToHaxeInt() / rhs); - @:op(A / B) public static inline function div2(lhs : Int, rhs : system.Int32) : system.Int32 return Std.int(lhs / rhs.ToHaxeInt()); + @:op(A / B) public static inline function div0(lhs : system.Int32, rhs : system.Int32) : system.Int32 return Std.int(lhs.toHaxeInt() / rhs.toHaxeInt()); + @:op(A / B) public static inline function div1(lhs : system.Int32, rhs : Int) : system.Int32 return Std.int(lhs.toHaxeInt() / rhs); + @:op(A / B) public static inline function div2(lhs : Int, rhs : system.Int32) : system.Int32 return Std.int(lhs / rhs.toHaxeInt()); @:op(A / B) public static function div3(lhs : system.Int32, rhs : Float) : system.Double; @:op(A / B) public static function div4(lhs : Float, rhs : system.Int32) : system.Double; @@ -119,8 +119,8 @@ abstract Int32(Int) from Int // @:op(A + B) public static function add13(lhs : system.Int32, rhs : system.UInt64) : system.UInt64; @:op(A + B) public static function add14(lhs : system.Int32, rhs : system.Single) : system.Single; @:op(A + B) public static function add15(lhs : system.Int32, rhs : system.Double) : system.Double; - @:op(A + B) public static inline function add16(lhs : system.Int32, rhs : system.CsString) : system.CsString return lhs.ToString() + rhs; - @:op(A + B) public static inline function add17(lhs : system.Int32, rhs : String) : system.CsString return lhs.ToString() + rhs; + @:op(A + B) public static inline function add16(lhs : system.Int32, rhs : system.CsString) : system.CsString return lhs.toString() + rhs; + @:op(A + B) public static inline function add17(lhs : system.Int32, rhs : String) : system.CsString return lhs.toString() + rhs; @:op(A - B) public static function sub0(lhs : system.Int32, rhs : system.Int32) : system.Int32; diff --git a/Phase/Mscorlib/system/Int32Array.hx b/Phase/Mscorlib/system/Int32Array.hx index d453caa46..cab8ab57c 100644 --- a/Phase/Mscorlib/system/Int32Array.hx +++ b/Phase/Mscorlib/system/Int32Array.hx @@ -2,20 +2,20 @@ package system; abstract Int32Array(js.html.Int32Array) { - public inline function new(length:Int32) this = new js.html.Int32Array(length.ToHaxeInt()); + public inline function new(length:Int32) this = new js.html.Int32Array(length.toHaxeInt()); @:from public static inline function fromArray(a:Array):Int32Array return cast new js.html.Int32Array(untyped a); - @:from public static inline function fromFixedArray(a:FixedArray):Int32Array return cast new js.html.Int32Array(untyped a.ToHaxeArray()); + @:from public static inline function fromFixedArray(a:FixedArray):Int32Array return cast new js.html.Int32Array(untyped a.toHaxeArray()); - public var Length(get, never):Int32; - public inline function get_Length() : Int32 return this.length; + public var length(get, never):Int32; + public inline function get_length() : Int32 return this.length; - @:op([]) public inline function get(index:Int32):Int32 return this[index.ToHaxeInt()]; - @:op([]) public inline function set(index:Int32, val:Int32):Int32 return this[index.ToHaxeInt()] = val.ToHaxeInt(); + @:op([]) public inline function get(index:Int32):Int32 return this[index.toHaxeInt()]; + @:op([]) public inline function set(index:Int32, val:Int32):Int32 return this[index.toHaxeInt()] = val.toHaxeInt(); public inline function iterator() : Iterator return new Int32ArrayIterator(this); - @:to public inline function ToEnumerable() : system.collections.generic.IEnumerable return new Int32ArrayEnumerable(this); + @:to public inline function toEnumerable() : system.collections.generic.IEnumerable return new Int32ArrayEnumerable(this); public static inline function empty(size:Int32) return new Int32Array(size); } \ No newline at end of file diff --git a/Phase/Mscorlib/system/Int32ArrayEnumerable.hx b/Phase/Mscorlib/system/Int32ArrayEnumerable.hx index d3eb3af92..f65122bc1 100644 --- a/Phase/Mscorlib/system/Int32ArrayEnumerable.hx +++ b/Phase/Mscorlib/system/Int32ArrayEnumerable.hx @@ -11,7 +11,7 @@ class Int32ArrayEnumerable implements IEnumerable _array= array; } - public function GetEnumerator() : IEnumerator + public function getEnumerator() : IEnumerator { return new Int32ArrayEnumerator(_array); } diff --git a/Phase/Mscorlib/system/Int32ArrayEnumerator.hx b/Phase/Mscorlib/system/Int32ArrayEnumerator.hx index ece70c33a..efbbe1118 100644 --- a/Phase/Mscorlib/system/Int32ArrayEnumerator.hx +++ b/Phase/Mscorlib/system/Int32ArrayEnumerator.hx @@ -13,16 +13,16 @@ class Int32ArrayEnumerator implements IEnumerator _i = -1; } - public var Current(get, never):Int32; - public function get_Current() : Int32 return _array[_i]; - public function MoveNext() : Bool + public var current(get, never):Int32; + public function get_current() : Int32 return _array[_i]; + public function moveNext() : Bool { if(_i >= _array.length - 1) return false; _i++; return true; } - public function Reset():Void + public function reset():Void { _i = -1; } diff --git a/Phase/Mscorlib/system/Int64.hx b/Phase/Mscorlib/system/Int64.hx index c80228c6f..e8b9660ad 100644 --- a/Phase/Mscorlib/system/Int64.hx +++ b/Phase/Mscorlib/system/Int64.hx @@ -5,27 +5,27 @@ abstract Int64(Int) from Int { public inline function new(i:Int) this = i; - public inline function ToHaxeInt(): Int return this; - public inline function ToString() : system.CsString return Std.string(this); + public inline function toHaxeInt(): Int return this; + public inline function toString() : system.CsString return Std.string(this); - @:from public static inline function FromByte(c:Byte) : Int64 return new Int64(c.ToHaxeInt()); - @:from public static inline function FromInt16(c:Int16) : Int64 return new Int64(c.ToHaxeInt()); - @:from public static inline function FromInt32(c:Int32) : Int64 return new Int64(c.ToHaxeInt()); + @:from public static inline function fromByte(c:Byte) : Int64 return new Int64(c.toHaxeInt()); + @:from public static inline function fromInt16(c:Int16) : Int64 return new Int64(c.toHaxeInt()); + @:from public static inline function fromInt32(c:Int32) : Int64 return new Int64(c.toHaxeInt()); - public inline function ToBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.ToBoolean_Int64(this); - public inline function ToChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.ToChar_Int64(this); - public inline function ToSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.ToSByte_Int64(this); - public inline function ToByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.ToByte_Int64(this); - public inline function ToInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.ToInt16_Int64(this); - public inline function ToUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.ToUInt16_Int64(this); - public inline function ToInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.ToInt32_Int64(this); - public inline function ToUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.ToUInt32_Int64(this); - public inline function ToInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.ToInt64_Int64(this); - public inline function ToUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.ToUInt64_Int64(this); - public inline function ToSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.ToSingle_Int64(this); - public inline function ToDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.ToDouble_Int64(this); + public inline function toBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.toBoolean_Int64(this); + public inline function toChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.toChar_Int64(this); + public inline function toSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.toSByte_Int64(this); + public inline function toByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.toByte_Int64(this); + public inline function toInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.toInt16_Int64(this); + public inline function toUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.toUInt16_Int64(this); + public inline function toInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.toInt32_Int64(this); + public inline function toUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.toUInt32_Int64(this); + public inline function toInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.toInt64_Int64(this); + public inline function toUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.toUInt64_Int64(this); + public inline function toSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.toSingle_Int64(this); + public inline function toDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.toDouble_Int64(this); - public inline function GetHashCode() : system.Int32 return this; + public inline function getHashCode() : system.Int32 return this; @:op(-A) public inline function neg() : system.Int64 return -this; @@ -55,9 +55,9 @@ abstract Int64(Int) from Int @:op(A * B) public static function mul15(lhs : system.Int64, rhs : system.Double) : system.Double; - @:op(A / B) public static inline function div0(lhs : system.Int64, rhs : system.Int64) : system.Int64 return Std.int(lhs.ToHaxeInt() / rhs.ToHaxeInt()); - @:op(A / B) public static inline function div1(lhs : system.Int64, rhs : Int) : system.Int64 return Std.int(lhs.ToHaxeInt() / rhs); - @:op(A / B) public static inline function div2(lhs : Int, rhs : system.Int64) : system.Int64 return Std.int(lhs / rhs.ToHaxeInt()); + @:op(A / B) public static inline function div0(lhs : system.Int64, rhs : system.Int64) : system.Int64 return Std.int(lhs.toHaxeInt() / rhs.toHaxeInt()); + @:op(A / B) public static inline function div1(lhs : system.Int64, rhs : Int) : system.Int64 return Std.int(lhs.toHaxeInt() / rhs); + @:op(A / B) public static inline function div2(lhs : Int, rhs : system.Int64) : system.Int64 return Std.int(lhs / rhs.toHaxeInt()); @:op(A / B) public static function div3(lhs : system.Int64, rhs : Float) : system.Double; @:op(A / B) public static function div4(lhs : Float, rhs : system.Int64) : system.Double; @@ -110,8 +110,8 @@ abstract Int64(Int) from Int // @:op(A + B) public static function add13(lhs : system.Int64, rhs : system.UInt64) : system.Int64; @:op(A + B) public static function add14(lhs : system.Int64, rhs : system.Single) : system.Single; @:op(A + B) public static function add15(lhs : system.Int64, rhs : system.Double) : system.Double; - @:op(A + B) public static inline function add16(lhs : system.Int64, rhs : system.CsString) : system.CsString return lhs.ToString() + rhs; - @:op(A + B) public static inline function add17(lhs : system.Int64, rhs : String) : system.CsString return lhs.ToString() + rhs; + @:op(A + B) public static inline function add16(lhs : system.Int64, rhs : system.CsString) : system.CsString return lhs.toString() + rhs; + @:op(A + B) public static inline function add17(lhs : system.Int64, rhs : String) : system.CsString return lhs.toString() + rhs; @:op(A - B) public static function sub0(lhs : system.Int64, rhs : system.Int64) : system.Int64; diff --git a/Phase/Mscorlib/system/Int64Array.hx b/Phase/Mscorlib/system/Int64Array.hx index 1afeea79b..ede43ffa9 100644 --- a/Phase/Mscorlib/system/Int64Array.hx +++ b/Phase/Mscorlib/system/Int64Array.hx @@ -2,20 +2,20 @@ package system; abstract Int64Array(js.html.Int32Array) { - public inline function new(length:Int32) this = new js.html.Int32Array(length.ToHaxeInt()); + public inline function new(length:Int32) this = new js.html.Int32Array(length.toHaxeInt()); @:from public static inline function fromArray(a:Array):Int64Array return cast new js.html.Int32Array(untyped a); - @:from public static inline function fromFixedArray(a:FixedArray):Int64Array return cast new js.html.Int32Array(untyped a.ToHaxeArray()); + @:from public static inline function fromFixedArray(a:FixedArray):Int64Array return cast new js.html.Int32Array(untyped a.toHaxeArray()); - public var Length(get, never):Int32; - public inline function get_Length() : Int32 return this.length; + public var length(get, never):Int32; + public inline function get_length() : Int32 return this.length; - @:op([]) public inline function get(index:Int32):Int64 return this[index.ToHaxeInt()]; - @:op([]) public inline function set(index:Int32, val:Int64):Int64 return this[index.ToHaxeInt()] = val.ToHaxeFloat(); + @:op([]) public inline function get(index:Int32):Int64 return this[index.toHaxeInt()]; + @:op([]) public inline function set(index:Int32, val:Int64):Int64 return this[index.toHaxeInt()] = val.toHaxeFloat(); public inline function iterator() : Iterator return new Int64ArrayIterator(this); - public inline function ToEnumerable() : system.collections.generic.IEnumerable return new Int64ArrayEnumerable(this); + public inline function toEnumerable() : system.collections.generic.IEnumerable return new Int64ArrayEnumerable(this); public static inline function empty(size:Int32) return new Int64Array(size); } \ No newline at end of file diff --git a/Phase/Mscorlib/system/Int64ArrayEnumerable.hx b/Phase/Mscorlib/system/Int64ArrayEnumerable.hx index 40da6eb91..2d7fced93 100644 --- a/Phase/Mscorlib/system/Int64ArrayEnumerable.hx +++ b/Phase/Mscorlib/system/Int64ArrayEnumerable.hx @@ -11,7 +11,7 @@ class Int64ArrayEnumerable implements IEnumerable _array= array; } - public function GetEnumerator() : IEnumerator + public function getEnumerator() : IEnumerator { return new Int64ArrayEnumerator(_array); } diff --git a/Phase/Mscorlib/system/Int64ArrayEnumerator.hx b/Phase/Mscorlib/system/Int64ArrayEnumerator.hx index 14f6757ac..3d5771c71 100644 --- a/Phase/Mscorlib/system/Int64ArrayEnumerator.hx +++ b/Phase/Mscorlib/system/Int64ArrayEnumerator.hx @@ -13,16 +13,16 @@ class Int64ArrayEnumerator implements IEnumerator _i = -1; } - public var Current(get, never):Int64; - public function get_Current() : Int64 return _array[_i]; - public function MoveNext() : Bool + public var current(get, never):Int64; + public function get_current() : Int64 return _array[_i]; + public function moveNext() : Bool { if(_i >= _array.length - 1) return false; _i++; return true; } - public function Reset():Void + public function reset():Void { _i = -1; } diff --git a/Phase/Mscorlib/system/Nullable.hx b/Phase/Mscorlib/system/Nullable.hx index 84ba532e2..09bfe5ab9 100644 --- a/Phase/Mscorlib/system/Nullable.hx +++ b/Phase/Mscorlib/system/Nullable.hx @@ -4,6 +4,6 @@ abstract Nullable(Null) from T { public inline function new(t:T) this = t; - public var Value(get, never):T; - public inline function get_Value() : T return this; + public var value(get, never):T; + public inline function get_value() : T return this; } \ No newline at end of file diff --git a/Phase/Mscorlib/system/ObjectExtensions.hx b/Phase/Mscorlib/system/ObjectExtensions.hx index 1f0d1587e..9d0a65ceb 100644 --- a/Phase/Mscorlib/system/ObjectExtensions.hx +++ b/Phase/Mscorlib/system/ObjectExtensions.hx @@ -2,16 +2,16 @@ package system; class ObjectExtensions { - public static inline function ToString(v:system.Object) : CsString return Std.string(v); - public static inline function ReferenceEquals(a:system.Object, b:system.Object) : system.Boolean return a == b; - public static inline function GetType(a:T) : system.CsType return new system.CsType(Type.getClass(a)); + public static inline function toString(v:system.Object) : CsString return Std.string(v); + public static inline function referenceEquals(a:system.Object, b:system.Object) : system.Boolean return a == b; + public static inline function getType(a:T) : system.CsType return new system.CsType(Type.getClass(a)); - public static function Equals_Object(left:T1, right:T2) : Bool + public static function equals_Object(left:T1, right:T2) : Bool { - var equals = Reflect.field(left, "Equals"); + var equals = Reflect.field(left, "equals"); if(equals == null) { - equals = Reflect.field(left, "Equals_Object"); + equals = Reflect.field(left, "equals_Object"); } if(equals != null) diff --git a/Phase/Mscorlib/system/SByte.hx b/Phase/Mscorlib/system/SByte.hx index 98607b0cb..1f9985242 100644 --- a/Phase/Mscorlib/system/SByte.hx +++ b/Phase/Mscorlib/system/SByte.hx @@ -3,25 +3,25 @@ package system; abstract SByte(Int) from Int { - public inline function new(i:Int) this = system.Convert.ToInt8(i); + public inline function new(i:Int) this = system.Convert.toInt8(i); - public inline function ToHaxeInt(): Int return this; - public inline function ToString() : system.CsString return Std.string(this); + public inline function toHaxeInt(): Int return this; + public inline function toString() : system.CsString return Std.string(this); - public inline function ToBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.ToBoolean_SByte(this); - public inline function ToChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.ToChar_SByte(this); - public inline function ToSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.ToSByte_SByte(this); - public inline function ToByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.ToByte_SByte(this); - public inline function ToInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.ToInt16_SByte(this); - public inline function ToUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.ToUInt16_SByte(this); - public inline function ToInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.ToInt32_SByte(this); - public inline function ToUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.ToUInt32_SByte(this); - public inline function ToInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.ToInt64_SByte(this); - public inline function ToUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.ToUInt64_SByte(this); - public inline function ToSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.ToSingle_SByte(this); - public inline function ToDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.ToDouble_SByte(this); + public inline function toBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.toBoolean_SByte(this); + public inline function toChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.toChar_SByte(this); + public inline function toSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.toSByte_SByte(this); + public inline function toByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.toByte_SByte(this); + public inline function toInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.toInt16_SByte(this); + public inline function toUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.toUInt16_SByte(this); + public inline function toInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.toInt32_SByte(this); + public inline function toUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.toUInt32_SByte(this); + public inline function toInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.toInt64_SByte(this); + public inline function toUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.toUInt64_SByte(this); + public inline function toSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.toSingle_SByte(this); + public inline function toDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.toDouble_SByte(this); - public inline function GetHashCode() : system.Int32 return this ^ (this << 8); + public inline function getHashCode() : system.Int32 return this ^ (this << 8); @:op(-A) public inline function neg() : Int return -this; @@ -52,9 +52,9 @@ abstract SByte(Int) from Int @:op(A * B) public static function mul15(lhs : system.SByte, rhs : system.Double) : system.Double; - @:op(A / B) public static inline function div0(lhs : system.SByte, rhs : system.SByte) : system.Int32 return Std.int(lhs.ToHaxeInt() / rhs.ToHaxeInt()); - @:op(A / B) public static inline function div1(lhs : system.SByte, rhs : Int) : system.Int32 return Std.int(lhs.ToHaxeInt() / rhs); - @:op(A / B) public static inline function div2(lhs : Int, rhs : system.SByte) : system.Int32 return Std.int(lhs / rhs.ToHaxeInt()); + @:op(A / B) public static inline function div0(lhs : system.SByte, rhs : system.SByte) : system.Int32 return Std.int(lhs.toHaxeInt() / rhs.toHaxeInt()); + @:op(A / B) public static inline function div1(lhs : system.SByte, rhs : Int) : system.Int32 return Std.int(lhs.toHaxeInt() / rhs); + @:op(A / B) public static inline function div2(lhs : Int, rhs : system.SByte) : system.Int32 return Std.int(lhs / rhs.toHaxeInt()); @:op(A / B) public static function div3(lhs : system.SByte, rhs : Float) : system.Double; @:op(A / B) public static function div4(lhs : Float, rhs : system.SByte) : system.Double; @@ -107,8 +107,8 @@ abstract SByte(Int) from Int // @:op(A + B) public static function add13(lhs : system.SByte, rhs : system.UInt64) : system.UInt64; @:op(A + B) public static function add14(lhs : system.SByte, rhs : system.Single) : system.Single; @:op(A + B) public static function add15(lhs : system.SByte, rhs : system.Double) : system.Double; - @:op(A + B) public static inline function add16(lhs : system.SByte, rhs : system.CsString) : system.CsString return lhs.ToString() + rhs; - @:op(A + B) public static inline function add17(lhs : system.SByte, rhs : String) : system.CsString return lhs.ToString() + rhs; + @:op(A + B) public static inline function add16(lhs : system.SByte, rhs : system.CsString) : system.CsString return lhs.toString() + rhs; + @:op(A + B) public static inline function add17(lhs : system.SByte, rhs : String) : system.CsString return lhs.toString() + rhs; @:op(A - B) public static function sub0(lhs : system.SByte, rhs : system.SByte) : system.Int32; diff --git a/Phase/Mscorlib/system/SByteArray.hx b/Phase/Mscorlib/system/SByteArray.hx index b82bf6f22..e9c1e1b27 100644 --- a/Phase/Mscorlib/system/SByteArray.hx +++ b/Phase/Mscorlib/system/SByteArray.hx @@ -2,20 +2,20 @@ package system; abstract SByteArray(js.html.Int8Array) { - public inline function new(length:Int32) this = new js.html.Int8Array(length.ToHaxeInt()); + public inline function new(length:Int32) this = new js.html.Int8Array(length.toHaxeInt()); @:from public static inline function fromArray(a:Array):SByteArray return cast new js.html.Int8Array(untyped a); - @:from public static inline function fromFixedArray(a:FixedArray):SByteArray return cast new js.html.Int8Array(untyped a.ToHaxeArray()); + @:from public static inline function fromFixedArray(a:FixedArray):SByteArray return cast new js.html.Int8Array(untyped a.toHaxeArray()); - public var Length(get, never):Int32; - public inline function get_Length() : Int32 return this.length; + public var length(get, never):Int32; + public inline function get_length() : Int32 return this.length; - @:op([]) public inline function get(index:Int32):SByte return this[index.ToHaxeInt()]; - @:op([]) public inline function set(index:Int32, val:SByte):SByte return this[index.ToHaxeInt()] = val.ToHaxeFloat(); + @:op([]) public inline function get(index:Int32):SByte return this[index.toHaxeInt()]; + @:op([]) public inline function set(index:Int32, val:SByte):SByte return this[index.toHaxeInt()] = val.toHaxeFloat(); public inline function iterator() : Iterator return new SByteArrayIterator(this); - public inline function ToEnumerable() : system.collections.generic.IEnumerable return new SByteArrayEnumerable(this); + public inline function toEnumerable() : system.collections.generic.IEnumerable return new SByteArrayEnumerable(this); public static inline function empty(size:Int32) return new SByteArray(size); } \ No newline at end of file diff --git a/Phase/Mscorlib/system/SByteArrayEnumerable.hx b/Phase/Mscorlib/system/SByteArrayEnumerable.hx index c0c05e62f..b6e919ab3 100644 --- a/Phase/Mscorlib/system/SByteArrayEnumerable.hx +++ b/Phase/Mscorlib/system/SByteArrayEnumerable.hx @@ -11,7 +11,7 @@ class SByteArrayEnumerable implements IEnumerable _array= array; } - public function GetEnumerator() : IEnumerator + public function getEnumerator() : IEnumerator { return new SByteArrayEnumerator(_array); } diff --git a/Phase/Mscorlib/system/SByteArrayEnumerator.hx b/Phase/Mscorlib/system/SByteArrayEnumerator.hx index 995245882..27e9e3757 100644 --- a/Phase/Mscorlib/system/SByteArrayEnumerator.hx +++ b/Phase/Mscorlib/system/SByteArrayEnumerator.hx @@ -13,16 +13,16 @@ class SByteArrayEnumerator implements IEnumerator _i = -1; } - public var Current(get, never):SByte; - public function get_Current() : SByte return _array[_i]; - public function MoveNext() : Bool + public var current(get, never):SByte; + public function get_current() : SByte return _array[_i]; + public function moveNext() : Bool { if(_i >= _array.length - 1) return false; _i++; return true; } - public function Reset():Void + public function reset():Void { _i = -1; } diff --git a/Phase/Mscorlib/system/Single.hx b/Phase/Mscorlib/system/Single.hx index 60edf8652..39ee0ec5b 100644 --- a/Phase/Mscorlib/system/Single.hx +++ b/Phase/Mscorlib/system/Single.hx @@ -4,37 +4,37 @@ abstract Single(Float) from Float from Int { public inline function new(i:Float) this = i; - @:from public static inline function FromInt(i:Int) : Single return new Single(i); - @:from public static inline function FromByte(i:system.Byte) : Single return new Single(i.ToHaxeInt()); - @:from public static inline function FromInt16(i:system.Int16) : Single return new Single(i.ToHaxeInt()); - @:from public static inline function FromInt32(i:system.Int32) : Single return new Single(i.ToHaxeInt()); - @:from public static inline function FromInt64(i:system.Int64) : Single return new Single(i.ToHaxeInt()); - @:from public static inline function FromSByte(i:system.Byte) : Single return new Single(i.ToHaxeInt()); - @:from public static inline function FromUInt16(i:system.UInt16) : Single return new Single(i.ToHaxeInt()); - @:from public static inline function FromUInt32(i:system.UInt32) : Single return new Single(i.ToHaxeInt()); - @:from public static inline function FromUInt64(i:system.UInt64) : Single return new Single(i.ToHaxeInt()); - - public inline function ToBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.ToBoolean_Single(this); - public inline function ToChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.ToChar_Single(this); - public inline function ToSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.ToSByte_Single(this); - public inline function ToByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.ToByte_Single(this); - public inline function ToInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.ToInt16_Single(this); - public inline function ToUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.ToUInt16_Single(this); - public inline function ToInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.ToInt32_Single(this); - public inline function ToUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.ToUInt32_Single(this); - public inline function ToInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.ToInt64_Single(this); - public inline function ToUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.ToUInt64_Single(this); - public inline function ToSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.ToSingle_Single(this); - public inline function ToDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.ToDouble_Single(this); - - - public inline function ToHaxeFloat(): Float return this; - public inline function ToString() : CsString return Std.string(this); - public function GetHashCode() : system.Int32 return system.Convert.ToHashCode_Single(this); + @:from public static inline function fromInt(i:Int) : Single return new Single(i); + @:from public static inline function fromByte(i:system.Byte) : Single return new Single(i.toHaxeInt()); + @:from public static inline function fromInt16(i:system.Int16) : Single return new Single(i.toHaxeInt()); + @:from public static inline function fromInt32(i:system.Int32) : Single return new Single(i.toHaxeInt()); + @:from public static inline function fromInt64(i:system.Int64) : Single return new Single(i.toHaxeInt()); + @:from public static inline function fromSByte(i:system.Byte) : Single return new Single(i.toHaxeInt()); + @:from public static inline function fromUInt16(i:system.UInt16) : Single return new Single(i.toHaxeInt()); + @:from public static inline function fromUInt32(i:system.UInt32) : Single return new Single(i.toHaxeInt()); + @:from public static inline function fromUInt64(i:system.UInt64) : Single return new Single(i.toHaxeInt()); + + public inline function toBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.toBoolean_Single(this); + public inline function toChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.toChar_Single(this); + public inline function toSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.toSByte_Single(this); + public inline function toByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.toByte_Single(this); + public inline function toInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.toInt16_Single(this); + public inline function toUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.toUInt16_Single(this); + public inline function toInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.toInt32_Single(this); + public inline function toUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.toUInt32_Single(this); + public inline function toInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.toInt64_Single(this); + public inline function toUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.toUInt64_Single(this); + public inline function toSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.toSingle_Single(this); + public inline function toDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.toDouble_Single(this); + + + public inline function toHaxeFloat(): Float return this; + public inline function toString() : CsString return Std.string(this); + public function getHashCode() : system.Int32 return system.Convert.toHashCode_Single(this); public static var NaN(get, never) : system.Single; public static inline function get_NaN() : system.Single return Math.NaN; - public static inline function IsNaN(v:system.Single) : system.Boolean return Math.isNaN(v.ToHaxeFloat()); + public static inline function IsNaN(v:system.Single) : system.Boolean return Math.isNaN(v.toHaxeFloat()); @:op(-A) public inline function neg() : system.Single return -this; @@ -114,8 +114,8 @@ abstract Single(Float) from Float from Int @:op(A + B) public static function add13(lhs : system.Single, rhs : system.UInt64) : system.Single; @:op(A + B) public static function add14(lhs : system.Single, rhs : system.Single) : system.Single; @:op(A + B) public static function add15(lhs : system.Single, rhs : system.Double) : system.Single; - @:op(A + B) public static inline function add16(lhs : system.Single, rhs : system.CsString) : system.CsString return lhs.ToString() + rhs; - @:op(A + B) public static inline function add17(lhs : system.Single, rhs : String) : system.CsString return lhs.ToString() + rhs; + @:op(A + B) public static inline function add16(lhs : system.Single, rhs : system.CsString) : system.CsString return lhs.toString() + rhs; + @:op(A + B) public static inline function add17(lhs : system.Single, rhs : String) : system.CsString return lhs.toString() + rhs; @:op(A - B) public static function sub1(lhs : system.Single, rhs : Int) : system.Single; diff --git a/Phase/Mscorlib/system/SingleArray.hx b/Phase/Mscorlib/system/SingleArray.hx index b46c6b59c..115784c23 100644 --- a/Phase/Mscorlib/system/SingleArray.hx +++ b/Phase/Mscorlib/system/SingleArray.hx @@ -2,20 +2,20 @@ package system; abstract SingleArray(js.html.Float32Array) { - public inline function new(length:Int32) this = new js.html.Float32Array(length.ToHaxeInt()); + public inline function new(length:Int32) this = new js.html.Float32Array(length.toHaxeInt()); @:from public static inline function fromArray(a:Array):SingleArray return cast new js.html.Float32Array(untyped a); - @:from public static inline function fromFixedArray(a:FixedArray):SingleArray return cast new js.html.Float32Array(untyped a.ToHaxeArray()); + @:from public static inline function fromFixedArray(a:FixedArray):SingleArray return cast new js.html.Float32Array(untyped a.toHaxeArray()); - public var Length(get, never):Int32; - public inline function get_Length() : Int32 return this.length; + public var length(get, never):Int32; + public inline function get_length() : Int32 return this.length; - @:op([]) public inline function get(index:Int32):Single return this[index.ToHaxeInt()]; - @:op([]) public inline function set(index:Int32, val:Single):Single return this[index.ToHaxeInt()] = val.ToHaxeFloat(); + @:op([]) public inline function get(index:Int32):Single return this[index.toHaxeInt()]; + @:op([]) public inline function set(index:Int32, val:Single):Single return this[index.toHaxeInt()] = val.toHaxeFloat(); public inline function iterator() : Iterator return new SingleArrayIterator(this); - public inline function ToEnumerable() : system.collections.generic.IEnumerable return new SingleArrayEnumerable(this); + public inline function toEnumerable() : system.collections.generic.IEnumerable return new SingleArrayEnumerable(this); public static inline function empty(size:Int32) return new SingleArray(size); } \ No newline at end of file diff --git a/Phase/Mscorlib/system/SingleArrayEnumerable.hx b/Phase/Mscorlib/system/SingleArrayEnumerable.hx index 99e63cc21..93c885ec1 100644 --- a/Phase/Mscorlib/system/SingleArrayEnumerable.hx +++ b/Phase/Mscorlib/system/SingleArrayEnumerable.hx @@ -11,7 +11,7 @@ class SingleArrayEnumerable implements IEnumerable _array= array; } - public function GetEnumerator() : IEnumerator + public function getEnumerator() : IEnumerator { return new SingleArrayEnumerator(_array); } diff --git a/Phase/Mscorlib/system/SingleArrayEnumerator.hx b/Phase/Mscorlib/system/SingleArrayEnumerator.hx index 3ca962f4d..6e15380d1 100644 --- a/Phase/Mscorlib/system/SingleArrayEnumerator.hx +++ b/Phase/Mscorlib/system/SingleArrayEnumerator.hx @@ -13,16 +13,16 @@ class SingleArrayEnumerator implements IEnumerator _i = -1; } - public var Current(get, never):Single; - public function get_Current() : Single return _array[_i]; - public function MoveNext() : Bool + public var current(get, never):Single; + public function get_current() : Single return _array[_i]; + public function moveNext() : Bool { if(_i >= _array.length - 1) return false; _i++; return true; } - public function Reset():Void + public function reset():Void { _i = -1; } diff --git a/Phase/Mscorlib/system/UInt16.hx b/Phase/Mscorlib/system/UInt16.hx index 898882fdc..28f7f161a 100644 --- a/Phase/Mscorlib/system/UInt16.hx +++ b/Phase/Mscorlib/system/UInt16.hx @@ -3,25 +3,25 @@ package system; abstract UInt16(Int) from Int { - public inline function new(i:Int) this = system.Convert.ToUInt16(i); + public inline function new(i:Int) this = system.Convert.toUInt16(i); - public inline function ToHaxeInt(): Int return this; - public inline function ToString() : system.CsString return Std.string(this); + public inline function toHaxeInt(): Int return this; + public inline function toString() : system.CsString return Std.string(this); - public inline function ToBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.ToBoolean_UInt16(this); - public inline function ToChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.ToChar_UInt16(this); - public inline function ToSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.ToSByte_UInt16(this); - public inline function ToByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.ToByte_UInt16(this); - public inline function ToInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.ToInt16_UInt16(this); - public inline function ToUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.ToUInt16_UInt16(this); - public inline function ToInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.ToInt32_UInt16(this); - public inline function ToUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.ToUInt32_UInt16(this); - public inline function ToInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.ToInt64_UInt16(this); - public inline function ToUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.ToUInt64_UInt16(this); - public inline function ToSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.ToSingle_UInt16(this); - public inline function ToDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.ToDouble_UInt16(this); + public inline function toBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.toBoolean_UInt16(this); + public inline function toChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.toChar_UInt16(this); + public inline function toSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.toSByte_UInt16(this); + public inline function toByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.toByte_UInt16(this); + public inline function toInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.toInt16_UInt16(this); + public inline function toUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.toUInt16_UInt16(this); + public inline function toInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.toInt32_UInt16(this); + public inline function toUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.toUInt32_UInt16(this); + public inline function toInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.toInt64_UInt16(this); + public inline function toUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.toUInt64_UInt16(this); + public inline function toSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.toSingle_UInt16(this); + public inline function toDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.toDouble_UInt16(this); - public function GetHashCode() : system.Int32 return this; + public function getHashCode() : system.Int32 return this; @:op(-A) public inline function neg() : system.Int32 return -this; @@ -52,9 +52,9 @@ abstract UInt16(Int) from Int @:op(A * B) public static function mul15(lhs : system.UInt16, rhs : system.Double) : system.Double; - @:op(A / B) public static inline function div0(lhs : system.UInt16, rhs : system.UInt16) : system.Int32 return Std.int(lhs.ToHaxeInt() / rhs.ToHaxeInt()); - @:op(A / B) public static inline function div1(lhs : system.UInt16, rhs : Int) : system.Int32 return Std.int(lhs.ToHaxeInt() / rhs); - @:op(A / B) public static inline function div2(lhs : Int, rhs : system.UInt16) : system.Int32 return Std.int(lhs / rhs.ToHaxeInt()); + @:op(A / B) public static inline function div0(lhs : system.UInt16, rhs : system.UInt16) : system.Int32 return Std.int(lhs.toHaxeInt() / rhs.toHaxeInt()); + @:op(A / B) public static inline function div1(lhs : system.UInt16, rhs : Int) : system.Int32 return Std.int(lhs.toHaxeInt() / rhs); + @:op(A / B) public static inline function div2(lhs : Int, rhs : system.UInt16) : system.Int32 return Std.int(lhs / rhs.toHaxeInt()); @:op(A / B) public static function div3(lhs : system.UInt16, rhs : Float) : system.Double; @:op(A / B) public static function div4(lhs : Float, rhs : system.UInt16) : system.Double; @@ -107,8 +107,8 @@ abstract UInt16(Int) from Int @:op(A + B) public static function add13(lhs : system.UInt16, rhs : system.UInt64) : system.UInt64; @:op(A + B) public static function add14(lhs : system.UInt16, rhs : system.Single) : system.Single; @:op(A + B) public static function add15(lhs : system.UInt16, rhs : system.Double) : system.Double; - @:op(A + B) public static inline function add16(lhs : system.UInt16, rhs : system.CsString) : system.CsString return lhs.ToString() + rhs; - @:op(A + B) public static inline function add17(lhs : system.UInt16, rhs : String) : system.CsString return lhs.ToString() + rhs; + @:op(A + B) public static inline function add16(lhs : system.UInt16, rhs : system.CsString) : system.CsString return lhs.toString() + rhs; + @:op(A + B) public static inline function add17(lhs : system.UInt16, rhs : String) : system.CsString return lhs.toString() + rhs; @:op(A - B) public static function sub0(lhs : system.UInt16, rhs : system.UInt16) : system.Int32; diff --git a/Phase/Mscorlib/system/UInt16Array.hx b/Phase/Mscorlib/system/UInt16Array.hx index af471c71f..9024e3c34 100644 --- a/Phase/Mscorlib/system/UInt16Array.hx +++ b/Phase/Mscorlib/system/UInt16Array.hx @@ -2,20 +2,20 @@ package system; abstract UInt16Array(js.html.Uint16Array) { - public inline function new(length:Int32) this = new js.html.Uint16Array(length.ToHaxeInt()); + public inline function new(length:Int32) this = new js.html.Uint16Array(length.toHaxeInt()); @:from public static inline function fromArray(a:Array):UInt16Array return cast new js.html.Uint16Array(untyped a); - @:from public static inline function fromFixedArray(a:FixedArray):UInt16Array return cast new js.html.Uint16Array(untyped a.ToHaxeArray()); + @:from public static inline function fromFixedArray(a:FixedArray):UInt16Array return cast new js.html.Uint16Array(untyped a.toHaxeArray()); - public var Length(get, never):Int32; - public inline function get_Length() : Int32 return this.length; + public var length(get, never):Int32; + public inline function get_length() : Int32 return this.length; - @:op([]) public inline function get(index:Int32):UInt16 return this[index.ToHaxeInt()]; - @:op([]) public inline function set(index:Int32, val:UInt16):UInt16 return this[index.ToHaxeInt()] = val.ToHaxeFloat(); + @:op([]) public inline function get(index:Int32):UInt16 return this[index.toHaxeInt()]; + @:op([]) public inline function set(index:Int32, val:UInt16):UInt16 return this[index.toHaxeInt()] = val.toHaxeFloat(); public inline function iterator() : Iterator return new UInt16ArrayIterator(this); - public inline function ToEnumerable() : system.collections.generic.IEnumerable return new UInt16ArrayEnumerable(this); + public inline function toEnumerable() : system.collections.generic.IEnumerable return new UInt16ArrayEnumerable(this); public static inline function empty(size:Int32) return new UInt16Array(size); } \ No newline at end of file diff --git a/Phase/Mscorlib/system/UInt16ArrayEnumerable.hx b/Phase/Mscorlib/system/UInt16ArrayEnumerable.hx index d599804d2..a1bb856c1 100644 --- a/Phase/Mscorlib/system/UInt16ArrayEnumerable.hx +++ b/Phase/Mscorlib/system/UInt16ArrayEnumerable.hx @@ -11,7 +11,7 @@ class UInt16ArrayEnumerable implements IEnumerable _array= array; } - public function GetEnumerator() : IEnumerator + public function getEnumerator() : IEnumerator { return new UInt16ArrayEnumerator(_array); } diff --git a/Phase/Mscorlib/system/UInt16ArrayEnumerator.hx b/Phase/Mscorlib/system/UInt16ArrayEnumerator.hx index 8af965218..6a0151cab 100644 --- a/Phase/Mscorlib/system/UInt16ArrayEnumerator.hx +++ b/Phase/Mscorlib/system/UInt16ArrayEnumerator.hx @@ -13,16 +13,16 @@ class UInt16ArrayEnumerator implements IEnumerator _i = -1; } - public var Current(get, never):UInt16; - public function get_Current() : UInt16 return _array[_i]; - public function MoveNext() : Bool + public var current(get, never):UInt16; + public function get_current() : UInt16 return _array[_i]; + public function moveNext() : Bool { if(_i >= _array.length - 1) return false; _i++; return true; } - public function Reset():Void + public function reset():Void { _i = -1; } diff --git a/Phase/Mscorlib/system/UInt32.hx b/Phase/Mscorlib/system/UInt32.hx index b5c35f397..f45184a8a 100644 --- a/Phase/Mscorlib/system/UInt32.hx +++ b/Phase/Mscorlib/system/UInt32.hx @@ -2,25 +2,25 @@ package system; abstract UInt32(Int) from Int { - public inline function new(i:Int) this = system.Convert.ToUInt32(i); + public inline function new(i:Int) this = system.Convert.toUInt32(i); - public inline function ToHaxeInt(): Int return this; - public inline function ToString() : system.CsString return Std.string(this); + public inline function toHaxeInt(): Int return this; + public inline function toString() : system.CsString return Std.string(this); - public inline function ToBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.ToBoolean_UInt32(this); - public inline function ToChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.ToChar_UInt32(this); - public inline function ToSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.ToSByte_UInt32(this); - public inline function ToByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.ToByte_UInt32(this); - public inline function ToInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.ToInt16_UInt32(this); - public inline function ToUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.ToUInt16_UInt32(this); - public inline function ToInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.ToInt32_UInt32(this); - public inline function ToUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.ToUInt32_UInt32(this); - public inline function ToInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.ToInt64_UInt32(this); - public inline function ToUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.ToUInt64_UInt32(this); - public inline function ToSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.ToSingle_UInt32(this); - public inline function ToDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.ToDouble_UInt32(this); + public inline function toBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.toBoolean_UInt32(this); + public inline function toChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.toChar_UInt32(this); + public inline function toSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.toSByte_UInt32(this); + public inline function toByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.toByte_UInt32(this); + public inline function toInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.toInt16_UInt32(this); + public inline function toUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.toUInt16_UInt32(this); + public inline function toInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.toInt32_UInt32(this); + public inline function toUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.toUInt32_UInt32(this); + public inline function toInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.toInt64_UInt32(this); + public inline function toUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.toUInt64_UInt32(this); + public inline function toSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.toSingle_UInt32(this); + public inline function toDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.toDouble_UInt32(this); - public function GetHashCode() : system.Int32 return this; + public function getHashCode() : system.Int32 return this; @:op(-A) public inline function neg() : system.Int64 return -this; @@ -51,9 +51,9 @@ abstract UInt32(Int) from Int @:op(A * B) public static function mul15(lhs : system.UInt32, rhs : system.Double) : system.Double; - @:op(A / B) public static inline function div0(lhs : system.UInt32, rhs : system.UInt32) : system.UInt32 return Std.int(lhs.ToHaxeInt() / rhs.ToHaxeInt()); - @:op(A / B) public static inline function div1(lhs : system.UInt32, rhs : Int) : system.Int64 return Std.int(lhs.ToHaxeInt() / rhs); - @:op(A / B) public static inline function div2(lhs : Int, rhs : system.UInt32) : system.Int64 return Std.int(lhs / rhs.ToHaxeInt()); + @:op(A / B) public static inline function div0(lhs : system.UInt32, rhs : system.UInt32) : system.UInt32 return Std.int(lhs.toHaxeInt() / rhs.toHaxeInt()); + @:op(A / B) public static inline function div1(lhs : system.UInt32, rhs : Int) : system.Int64 return Std.int(lhs.toHaxeInt() / rhs); + @:op(A / B) public static inline function div2(lhs : Int, rhs : system.UInt32) : system.Int64 return Std.int(lhs / rhs.toHaxeInt()); @:op(A / B) public static function div3(lhs : system.UInt32, rhs : Float) : system.Double; @:op(A / B) public static function div4(lhs : Float, rhs : system.UInt32) : system.Double; @@ -106,8 +106,8 @@ abstract UInt32(Int) from Int @:op(A + B) public static function add13(lhs : system.UInt32, rhs : system.UInt64) : system.UInt64; @:op(A + B) public static function add14(lhs : system.UInt32, rhs : system.Single) : system.Single; @:op(A + B) public static function add15(lhs : system.UInt32, rhs : system.Double) : system.Double; - @:op(A + B) public static inline function add16(lhs : system.UInt32, rhs : system.CsString) : system.CsString return lhs.ToString() + rhs; - @:op(A + B) public static inline function add17(lhs : system.UInt32, rhs : String) : system.CsString return lhs.ToString() + rhs; + @:op(A + B) public static inline function add16(lhs : system.UInt32, rhs : system.CsString) : system.CsString return lhs.toString() + rhs; + @:op(A + B) public static inline function add17(lhs : system.UInt32, rhs : String) : system.CsString return lhs.toString() + rhs; @:op(A - B) public static function sub0(lhs : system.UInt32, rhs : system.UInt32) : system.UInt32; diff --git a/Phase/Mscorlib/system/UInt32Array.hx b/Phase/Mscorlib/system/UInt32Array.hx index e85e80cae..288ba66b2 100644 --- a/Phase/Mscorlib/system/UInt32Array.hx +++ b/Phase/Mscorlib/system/UInt32Array.hx @@ -2,20 +2,20 @@ package system; abstract UInt32Array(js.html.Uint32Array) { - public inline function new(length:Int32) this = new js.html.Uint32Array(length.ToHaxeInt()); + public inline function new(length:Int32) this = new js.html.Uint32Array(length.toHaxeInt()); @:from public static inline function fromArray(a:Array):UInt32Array return cast new js.html.Uint32Array(untyped a); - @:from public static inline function fromFixedArray(a:FixedArray):UInt32Array return cast new js.html.Uint32Array(untyped a.ToHaxeArray()); + @:from public static inline function fromFixedArray(a:FixedArray):UInt32Array return cast new js.html.Uint32Array(untyped a.toHaxeArray()); - public var Length(get, never):Int32; - public inline function get_Length() : Int32 return this.length; + public var length(get, never):Int32; + public inline function get_length() : Int32 return this.length; - @:op([]) public inline function get(index:Int32):UInt32 return this[index.ToHaxeInt()]; - @:op([]) public inline function set(index:Int32, val:UInt32):UInt32 return this[index.ToHaxeInt()] = val.ToHaxeFloat(); + @:op([]) public inline function get(index:Int32):UInt32 return this[index.toHaxeInt()]; + @:op([]) public inline function set(index:Int32, val:UInt32):UInt32 return this[index.toHaxeInt()] = val.toHaxeFloat(); public inline function iterator() : Iterator return new UInt32ArrayIterator(this); - public inline function ToEnumerable() : system.collections.generic.IEnumerable return new UInt32ArrayEnumerable(this); + public inline function toEnumerable() : system.collections.generic.IEnumerable return new UInt32ArrayEnumerable(this); public static inline function empty(size:Int32) return new UInt32Array(size); } \ No newline at end of file diff --git a/Phase/Mscorlib/system/UInt32ArrayEnumerable.hx b/Phase/Mscorlib/system/UInt32ArrayEnumerable.hx index 8ee89450b..571982507 100644 --- a/Phase/Mscorlib/system/UInt32ArrayEnumerable.hx +++ b/Phase/Mscorlib/system/UInt32ArrayEnumerable.hx @@ -11,7 +11,7 @@ class UInt32ArrayEnumerable implements IEnumerable _array= array; } - public function GetEnumerator() : IEnumerator + public function getEnumerator() : IEnumerator { return new UInt32ArrayEnumerator(_array); } diff --git a/Phase/Mscorlib/system/UInt32ArrayEnumerator.hx b/Phase/Mscorlib/system/UInt32ArrayEnumerator.hx index 0450005ba..d94e684d1 100644 --- a/Phase/Mscorlib/system/UInt32ArrayEnumerator.hx +++ b/Phase/Mscorlib/system/UInt32ArrayEnumerator.hx @@ -13,16 +13,16 @@ class UInt32ArrayEnumerator implements IEnumerator _i = -1; } - public var Current(get, never):UInt32; - public function get_Current() : UInt32 return _array[_i]; - public function MoveNext() : Bool + public var current(get, never):UInt32; + public function get_current() : UInt32 return _array[_i]; + public function moveNext() : Bool { if(_i >= _array.length - 1) return false; _i++; return true; } - public function Reset():Void + public function reset():Void { _i = -1; } diff --git a/Phase/Mscorlib/system/UInt64.hx b/Phase/Mscorlib/system/UInt64.hx index e8ae4820d..025d6bb39 100644 --- a/Phase/Mscorlib/system/UInt64.hx +++ b/Phase/Mscorlib/system/UInt64.hx @@ -2,25 +2,25 @@ package system; abstract UInt64(Int) from Int { - public inline function new(i:Int) this = system.Convert.ToUInt64(i); + public inline function new(i:Int) this = system.Convert.toUInt64(i); - public inline function ToHaxeInt(): Int return this; - public inline function ToString() : system.CsString return Std.string(this); + public inline function toHaxeInt(): Int return this; + public inline function toString() : system.CsString return Std.string(this); - public inline function ToBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.ToBoolean_UInt64(this); - public inline function ToChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.ToChar_UInt64(this); - public inline function ToSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.ToSByte_UInt64(this); - public inline function ToByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.ToByte_UInt64(this); - public inline function ToInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.ToInt16_UInt64(this); - public inline function ToUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.ToUInt16_UInt64(this); - public inline function ToInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.ToInt32_UInt64(this); - public inline function ToUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.ToUInt32_UInt64(this); - public inline function ToInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.ToInt64_UInt64(this); - public inline function ToUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.ToUInt64_UInt64(this); - public inline function ToSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.ToSingle_UInt64(this); - public inline function ToDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.ToDouble_UInt64(this); + public inline function toBoolean_IFormatProvider(provider:IFormatProvider) : system.Boolean return system.Convert.toBoolean_UInt64(this); + public inline function toChar_IFormatProvider(provider:IFormatProvider) : system.Char return system.Convert.toChar_UInt64(this); + public inline function toSByte_IFormatProvider(provider:IFormatProvider) : system.SByte return system.Convert.toSByte_UInt64(this); + public inline function toByte_IFormatProvider(provider:IFormatProvider) : system.Byte return system.Convert.toByte_UInt64(this); + public inline function toInt16_IFormatProvider(provider:IFormatProvider) : system.Int16 return system.Convert.toInt16_UInt64(this); + public inline function toUInt16_IFormatProvider(provider:IFormatProvider) : system.UInt16 return system.Convert.toUInt16_UInt64(this); + public inline function toInt32_IFormatProvider(provider:IFormatProvider) : system.Int32 return system.Convert.toInt32_UInt64(this); + public inline function toUInt32_IFormatProvider(provider:IFormatProvider) : system.UInt32 return system.Convert.toUInt32_UInt64(this); + public inline function toInt64_IFormatProvider(provider:IFormatProvider) : system.Int64 return system.Convert.toInt64_UInt64(this); + public inline function toUInt64_IFormatProvider(provider:IFormatProvider) : system.UInt64 return system.Convert.toUInt64_UInt64(this); + public inline function toSingle_IFormatProvider(provider:IFormatProvider) : system.Single return system.Convert.toSingle_UInt64(this); + public inline function toDouble_IFormatProvider(provider:IFormatProvider) : system.Double return system.Convert.toDouble_UInt64(this); - public function GetHashCode() : system.Int32 return this; + public function getHashCode() : system.Int32 return this; @:op(~A)public inline function not() : system.UInt64 return ~this; @@ -47,7 +47,7 @@ abstract UInt64(Int) from Int @:op(A * B) public static function mul15(lhs : system.UInt64, rhs : system.Double) : system.Double; - @:op(A / B) public static inline function div0(lhs : system.UInt64, rhs : system.UInt64) : system.UInt64 return Std.int(lhs.ToHaxeInt() / rhs.ToHaxeInt()); + @:op(A / B) public static inline function div0(lhs : system.UInt64, rhs : system.UInt64) : system.UInt64 return Std.int(lhs.toHaxeInt() / rhs.toHaxeInt()); @:op(A / B) public static function div1(lhs : system.UInt64, rhs : Float) : system.Double; @:op(A / B) public static function div2(lhs : Float, rhs : system.UInt64) : system.Double; @@ -96,8 +96,8 @@ abstract UInt64(Int) from Int @:op(A + B) public static function add13(lhs : system.UInt64, rhs : system.UInt64) : system.UInt64; @:op(A + B) public static function add14(lhs : system.UInt64, rhs : system.Single) : system.Single; @:op(A + B) public static function add15(lhs : system.UInt64, rhs : system.Double) : system.Double; - @:op(A + B) public static inline function add16(lhs : system.UInt64, rhs : system.CsString) : system.CsString return lhs.ToString() + rhs; - @:op(A + B) public static inline function add17(lhs : system.UInt64, rhs : String) : system.CsString return lhs.ToString() + rhs; + @:op(A + B) public static inline function add16(lhs : system.UInt64, rhs : system.CsString) : system.CsString return lhs.toString() + rhs; + @:op(A + B) public static inline function add17(lhs : system.UInt64, rhs : String) : system.CsString return lhs.toString() + rhs; @:op(A - B) public static function sub0(lhs : system.UInt64, rhs : system.UInt64) : system.UInt64; diff --git a/Phase/Mscorlib/system/UInt64Array.hx b/Phase/Mscorlib/system/UInt64Array.hx index 54dc6e328..c07460707 100644 --- a/Phase/Mscorlib/system/UInt64Array.hx +++ b/Phase/Mscorlib/system/UInt64Array.hx @@ -2,20 +2,20 @@ package system; abstract UInt64Array(js.html.UInt32Array) { - public inline function new(length:Int32) this = new js.html.UInt32Array(length.ToHaxeInt()); + public inline function new(length:Int32) this = new js.html.UInt32Array(length.toHaxeInt()); @:from public static inline function fromArray(a:Array):UInt64Array return cast new js.html.UInt32Array(untyped a); - @:from public static inline function fromFixedArray(a:FixedArray):UInt64Array return cast new js.html.UInt32Array(untyped a.ToHaxeArray()); + @:from public static inline function fromFixedArray(a:FixedArray):UInt64Array return cast new js.html.UInt32Array(untyped a.toHaxeArray()); - public var Length(get, never):Int32; - public inline function get_Length() : Int32 return this.length; + public var length(get, never):Int32; + public inline function get_length() : Int32 return this.length; - @:op([]) public inline function get(index:Int32):UInt64 return this[index.ToHaxeInt()]; - @:op([]) public inline function set(index:Int32, val:UInt64):UInt64 return this[index.ToHaxeInt()] = val.ToHaxeFloat(); + @:op([]) public inline function get(index:Int32):UInt64 return this[index.toHaxeInt()]; + @:op([]) public inline function set(index:Int32, val:UInt64):UInt64 return this[index.toHaxeInt()] = val.toHaxeFloat(); public inline function iterator() : Iterator return new UInt64ArrayIterator(this); - public inline function ToEnumerable() : system.collections.generic.IEnumerable return new UInt64ArrayEnumerable(this); + public inline function toEnumerable() : system.collections.generic.IEnumerable return new UInt64ArrayEnumerable(this); public static inline function empty(size:Int32) return new UInt64Array(size); } \ No newline at end of file diff --git a/Phase/Mscorlib/system/UInt64ArrayEnumerable.hx b/Phase/Mscorlib/system/UInt64ArrayEnumerable.hx index 4d21a0cf0..54fc78485 100644 --- a/Phase/Mscorlib/system/UInt64ArrayEnumerable.hx +++ b/Phase/Mscorlib/system/UInt64ArrayEnumerable.hx @@ -11,7 +11,7 @@ class UInt64ArrayEnumerable implements IEnumerable _array= array; } - public function GetEnumerator() : IEnumerator + public function getEnumerator() : IEnumerator { return new UInt64ArrayEnumerator(_array); } diff --git a/Phase/Mscorlib/system/UInt64ArrayEnumerator.hx b/Phase/Mscorlib/system/UInt64ArrayEnumerator.hx index ff5867887..50bb6b7d2 100644 --- a/Phase/Mscorlib/system/UInt64ArrayEnumerator.hx +++ b/Phase/Mscorlib/system/UInt64ArrayEnumerator.hx @@ -13,16 +13,16 @@ class UInt64ArrayEnumerator implements IEnumerator _i = -1; } - public var Current(get, never):UInt64; - public function get_Current() : UInt64 return _array[_i]; - public function MoveNext() : Bool + public var current(get, never):UInt64; + public function get_current() : UInt64 return _array[_i]; + public function moveNext() : Bool { if(_i >= _array.length - 1) return false; _i++; return true; } - public function Reset():Void + public function reset():Void { _i = -1; } diff --git a/Phase/Mscorlib/system/collections/generic/IEnumerable.hx b/Phase/Mscorlib/system/collections/generic/IEnumerable.hx index fa1efefb1..5d84cca98 100644 --- a/Phase/Mscorlib/system/collections/generic/IEnumerable.hx +++ b/Phase/Mscorlib/system/collections/generic/IEnumerable.hx @@ -2,5 +2,5 @@ package system.collections.generic; interface IEnumerable { - function GetEnumerator() : IEnumerator; + function getEnumerator() : IEnumerator; } \ No newline at end of file diff --git a/Phase/Mscorlib/system/collections/generic/IEnumerator.hx b/Phase/Mscorlib/system/collections/generic/IEnumerator.hx index 36e1edde6..5d129369d 100644 --- a/Phase/Mscorlib/system/collections/generic/IEnumerator.hx +++ b/Phase/Mscorlib/system/collections/generic/IEnumerator.hx @@ -2,7 +2,7 @@ package system.collections.generic; interface IEnumerator { - var Current(get, never):T; - function MoveNext() : Bool; - function Reset():Void; + var current(get, never):T; + function moveNext() : Bool; + function reset():Void; } \ No newline at end of file diff --git a/Phase/Mscorlib/system/collections/generic/IterableEnumerable.hx b/Phase/Mscorlib/system/collections/generic/IterableEnumerable.hx index 8fc24d60a..8d042b211 100644 --- a/Phase/Mscorlib/system/collections/generic/IterableEnumerable.hx +++ b/Phase/Mscorlib/system/collections/generic/IterableEnumerable.hx @@ -8,7 +8,7 @@ class IterableEnumerable implements IEnumerable _iterable= i; } - public function GetEnumerator() : IEnumerator + public function getEnumerator() : IEnumerator { return new IteratorEnumerator(_iterable.iterator()); } diff --git a/Phase/Mscorlib/system/collections/generic/IteratorEnumerator.hx b/Phase/Mscorlib/system/collections/generic/IteratorEnumerator.hx index 3fdd1c509..8f3c5730d 100644 --- a/Phase/Mscorlib/system/collections/generic/IteratorEnumerator.hx +++ b/Phase/Mscorlib/system/collections/generic/IteratorEnumerator.hx @@ -10,9 +10,9 @@ class IteratorEnumerator implements IEnumerator _it = i; } - public var Current(get, never):T; - public function get_Current() : T return _current; - public function MoveNext() : Bool + public var current(get, never):T; + public function get_current() : T return _current; + public function moveNext() : Bool { if(_it.hasNext()) { @@ -22,7 +22,7 @@ class IteratorEnumerator implements IEnumerator return false; } - public function Reset():Void + public function reset():Void { throw "not supported"; } From d3d21013d88cf035137f31930df1a71be3f15bd1 Mon Sep 17 00:00:00 2001 From: Danielku15 Date: Tue, 27 Aug 2019 17:37:00 +0200 Subject: [PATCH 2/7] Some small renames and refactorings to avoid name clashes --- .../Collections/StringBuilder.cs | 2 +- .../AlphaTab.JavaScript/Platform/Platform.cs | 11 +- .../TestFramework/AsyncTestMethodAttribute.cs | 2 +- .../test/alphaTab.tests.specs.js | 1320 ++++++++--------- Source/AlphaTab.Test/Audio/AlphaSynthTests.cs | 4 +- .../Audio/MidiFileGeneratorTest.cs | 8 +- .../AlphaTab.Test/Importer/Gp3ImporterTest.cs | 2 +- .../Importer/MusicXmlImporterTestBase.cs | 2 +- .../Audio/Generator/MidiFileGenerator.cs | 2 +- Source/AlphaTab/Importer/Gp3To5Importer.cs | 8 +- Source/AlphaTab/Importer/GpifParser.cs | 16 +- Source/AlphaTab/Importer/MusicXmlImporter.cs | 16 +- Source/AlphaTab/Model/Beat.cs | 6 +- Source/AlphaTab/Model/Note.cs | 6 +- .../Rendering/Effects/DynamicsEffectInfo.cs | 6 +- 15 files changed, 706 insertions(+), 705 deletions(-) diff --git a/Source/AlphaTab.JavaScript/Collections/StringBuilder.cs b/Source/AlphaTab.JavaScript/Collections/StringBuilder.cs index dc1c11b8c..efa6bd476 100644 --- a/Source/AlphaTab.JavaScript/Collections/StringBuilder.cs +++ b/Source/AlphaTab.JavaScript/Collections/StringBuilder.cs @@ -22,7 +22,7 @@ public void Append(object s) [Inline] public void AppendChar(int i) { - Script.Write("this += String.fromCharCode(i.ToHaxeInt());"); + Script.Write("this += String.fromCharCode(i.toHaxeInt());"); } [Inline] diff --git a/Source/AlphaTab.JavaScript/Platform/Platform.cs b/Source/AlphaTab.JavaScript/Platform/Platform.cs index 274099cca..a02ffe332 100644 --- a/Source/AlphaTab.JavaScript/Platform/Platform.cs +++ b/Source/AlphaTab.JavaScript/Platform/Platform.cs @@ -32,13 +32,13 @@ internal static partial class Platform [Inline] public static float ParseFloat(string s) { - return Script.Write("untyped parseFloat(s)"); + return Script.Write("untyped __js__(\"parseFloat({0})\", s)"); } [Inline] public static int ParseHex(string s) { - return Script.Write("untyped parseInt(s, 16)"); + return Script.Write("untyped __js__(\"parseInt({0}, 16)\", s)"); } [Inline] @@ -100,9 +100,10 @@ public static float Log2(float f) return Script.Write("untyped Math.log2(f)"); } + [Name("parseIntMinValue")] public static int ParseInt(string s) { - var val = Script.Write("untyped parseInt(s)"); + var val = Script.Write("untyped __js__(\"parseInt({0})\", s)"); return Script.Write("Math.isNaN(untyped val)") ? int.MinValue : (int)val; } @@ -121,7 +122,7 @@ public static void BlockCopy(byte[] src, int srcOffset, byte[] dst, int dstOffse [Inline] public static string StringFromCharCode(int c) { - return Script.Write("String.fromCharCode(c.ToHaxeInt())"); + return Script.Write("String.fromCharCode(c.toHaxeInt())"); } public static sbyte ReadSignedByte(this IReadable readable) @@ -246,7 +247,7 @@ public static bool IsTruthy(this object o) [Inline] public static bool IsNaN(float v) { - return Script.Write("Math.isNaN(v.ToHaxeFloat())"); + return Script.Write("Math.isNaN(v.toHaxeFloat())"); } [Inline] diff --git a/Source/AlphaTab.Test.Js/TestFramework/AsyncTestMethodAttribute.cs b/Source/AlphaTab.Test.Js/TestFramework/AsyncTestMethodAttribute.cs index d8788bbee..7329539af 100644 --- a/Source/AlphaTab.Test.Js/TestFramework/AsyncTestMethodAttribute.cs +++ b/Source/AlphaTab.Test.Js/TestFramework/AsyncTestMethodAttribute.cs @@ -10,4 +10,4 @@ internal sealed class AsyncTestMethodAttribute : Attribute { public extern AsyncTestMethodAttribute(); } -} \ No newline at end of file +} diff --git a/Source/AlphaTab.Test.Js/test/alphaTab.tests.specs.js b/Source/AlphaTab.Test.Js/test/alphaTab.tests.specs.js index 1ee41aa25..6eadf257f 100644 --- a/Source/AlphaTab.Test.Js/test/alphaTab.tests.specs.js +++ b/Source/AlphaTab.Test.Js/test/alphaTab.tests.specs.js @@ -1,1420 +1,1420 @@ /// describe("alphaTab.test.audio.AlphaSynthTests", function() { var __instance = new alphaTab.test.audio.AlphaSynthTests(); - it("TestPcmGeneration", function(done) { + it("testPcmGeneration", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestPcmGeneration(); + __instance.testPcmGeneration(); }); }); describe("alphaTab.test.audio.MidiFileGeneratorTest", function() { var __instance = new alphaTab.test.audio.MidiFileGeneratorTest(); - it("TestFullSong", function(done) { + it("testFullSong", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestFullSong(); + __instance.testFullSong(); }); - it("TestCorrectMidiOrder", function(done) { + it("testCorrectMidiOrder", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestCorrectMidiOrder(); + __instance.testCorrectMidiOrder(); done(); }); - it("TestBend", function(done) { + it("testBend", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestBend(); + __instance.testBend(); done(); }); - it("TestGraceBeatGeneration", function(done) { + it("testGraceBeatGeneration", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestGraceBeatGeneration(); + __instance.testGraceBeatGeneration(); }); - it("TestBendMultiPoint", function(done) { + it("testBendMultiPoint", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestBendMultiPoint(); + __instance.testBendMultiPoint(); done(); }); }); describe("alphaTab.test.audio.MidiPlaybackControllerTest", function() { var __instance = new alphaTab.test.audio.MidiPlaybackControllerTest(); - it("TestRepeatClose", function(done) { + it("testRepeatClose", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestRepeatClose(); + __instance.testRepeatClose(); }); - it("TestRepeatCloseMulti", function(done) { + it("testRepeatCloseMulti", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestRepeatCloseMulti(); + __instance.testRepeatCloseMulti(); }); - it("TestRepeatCloseWithoutStartAtBeginning", function(done) { + it("testRepeatCloseWithoutStartAtBeginning", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestRepeatCloseWithoutStartAtBeginning(); + __instance.testRepeatCloseWithoutStartAtBeginning(); }); - it("TestRepeatCloseAlternateEndings", function(done) { + it("testRepeatCloseAlternateEndings", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestRepeatCloseAlternateEndings(); + __instance.testRepeatCloseAlternateEndings(); }); }); describe("alphaTab.test.importer.AlphaTexImporterTest", function() { var __instance = new alphaTab.test.importer.AlphaTexImporterTest(); - it("EnsureMetadataParsing_Issue73", function(done) { + it("ensureMetadataParsing_Issue73", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.EnsureMetadataParsing_Issue73(); + __instance.ensureMetadataParsing_Issue73(); done(); }); - it("TestTuning", function(done) { + it("testTuning", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTuning(); + __instance.testTuning(); done(); }); - it("DeadNotes1_Issue79", function(done) { + it("deadNotes1_Issue79", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.DeadNotes1_Issue79(); + __instance.deadNotes1_Issue79(); done(); }); - it("DeadNotes2_Issue79", function(done) { + it("deadNotes2_Issue79", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.DeadNotes2_Issue79(); + __instance.deadNotes2_Issue79(); done(); }); - it("Trill_Issue79", function(done) { + it("trill_Issue79", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Trill_Issue79(); + __instance.trill_Issue79(); done(); }); - it("Tremolo_Issue79", function(done) { + it("tremolo_Issue79", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Tremolo_Issue79(); + __instance.tremolo_Issue79(); done(); }); - it("TremoloPicking_Issue79", function(done) { + it("tremoloPicking_Issue79", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TremoloPicking_Issue79(); + __instance.tremoloPicking_Issue79(); done(); }); - it("Hamonics_Issue79", function(done) { + it("hamonics_Issue79", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Hamonics_Issue79(); + __instance.hamonics_Issue79(); done(); }); - it("HamonicsRenderingText_Issue79", function(done) { + it("hamonicsRenderingText_Issue79", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.HamonicsRenderingText_Issue79(); + __instance.hamonicsRenderingText_Issue79(); done(); }); - it("Grace_Issue79", function(done) { + it("grace_Issue79", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Grace_Issue79(); + __instance.grace_Issue79(); done(); }); - it("BendRendering_Issue79", function(done) { + it("bendRendering_Issue79", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.BendRendering_Issue79(); + __instance.bendRendering_Issue79(); done(); }); - it("TestLeftHandFingerSingleNote", function(done) { + it("testLeftHandFingerSingleNote", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestLeftHandFingerSingleNote(); + __instance.testLeftHandFingerSingleNote(); done(); }); - it("TestRightHandFingerSingleNote", function(done) { + it("testRightHandFingerSingleNote", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestRightHandFingerSingleNote(); + __instance.testRightHandFingerSingleNote(); done(); }); - it("TestLeftHandFingerChord", function(done) { + it("testLeftHandFingerChord", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestLeftHandFingerChord(); + __instance.testLeftHandFingerChord(); done(); }); - it("TestRightHandFingerChord", function(done) { + it("testRightHandFingerChord", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestRightHandFingerChord(); + __instance.testRightHandFingerChord(); done(); }); - it("TestUnstringed", function(done) { + it("testUnstringed", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestUnstringed(); + __instance.testUnstringed(); done(); }); - it("TestMultiStaffDefaultSettings", function(done) { + it("testMultiStaffDefaultSettings", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestMultiStaffDefaultSettings(); + __instance.testMultiStaffDefaultSettings(); done(); }); - it("TestMultiStaffDefaultSettingsBraces", function(done) { + it("testMultiStaffDefaultSettingsBraces", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestMultiStaffDefaultSettingsBraces(); + __instance.testMultiStaffDefaultSettingsBraces(); done(); }); - it("TestSingleStaffWithSetting", function(done) { + it("testSingleStaffWithSetting", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestSingleStaffWithSetting(); + __instance.testSingleStaffWithSetting(); done(); }); - it("TestMultiStaffWithSettings", function(done) { + it("testMultiStaffWithSettings", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestMultiStaffWithSettings(); + __instance.testMultiStaffWithSettings(); done(); }); - it("TestMultiTrack", function(done) { + it("testMultiTrack", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestMultiTrack(); + __instance.testMultiTrack(); done(); }); - it("TestMultiTrackNames", function(done) { + it("testMultiTrackNames", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestMultiTrackNames(); + __instance.testMultiTrackNames(); done(); }); - it("TestMultiTrackMultiStaff", function(done) { + it("testMultiTrackMultiStaff", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestMultiTrackMultiStaff(); + __instance.testMultiTrackMultiStaff(); done(); }); - it("TestMultiTrackMultiStaffInconsistentBars", function(done) { + it("testMultiTrackMultiStaffInconsistentBars", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestMultiTrackMultiStaffInconsistentBars(); + __instance.testMultiTrackMultiStaffInconsistentBars(); done(); }); - it("TestSlides", function(done) { + it("testSlides", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestSlides(); + __instance.testSlides(); done(); }); - it("TestSection", function(done) { + it("testSection", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestSection(); + __instance.testSection(); done(); }); - it("TestPopSlapTap", function(done) { + it("testPopSlapTap", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestPopSlapTap(); + __instance.testPopSlapTap(); done(); }); - it("TestTripletFeelNumeric", function(done) { + it("testTripletFeelNumeric", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTripletFeelNumeric(); + __instance.testTripletFeelNumeric(); done(); }); - it("TestTripletFeelLongNames", function(done) { + it("testTripletFeelLongNames", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTripletFeelLongNames(); + __instance.testTripletFeelLongNames(); done(); }); - it("TestTripletFeelShortNames", function(done) { + it("testTripletFeelShortNames", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTripletFeelShortNames(); + __instance.testTripletFeelShortNames(); done(); }); - it("TestTripletFeelMultiBar", function(done) { + it("testTripletFeelMultiBar", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTripletFeelMultiBar(); + __instance.testTripletFeelMultiBar(); done(); }); - it("TestTupletRepeat", function(done) { + it("testTupletRepeat", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTupletRepeat(); + __instance.testTupletRepeat(); done(); }); - it("TestSimpleAnacrusis", function(done) { + it("testSimpleAnacrusis", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestSimpleAnacrusis(); + __instance.testSimpleAnacrusis(); done(); }); - it("TestMultiBarAnacrusis", function(done) { + it("testMultiBarAnacrusis", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestMultiBarAnacrusis(); + __instance.testMultiBarAnacrusis(); done(); }); - it("TestRandomAnacrusis", function(done) { + it("testRandomAnacrusis", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestRandomAnacrusis(); + __instance.testRandomAnacrusis(); done(); }); }); describe("alphaTab.test.importer.Gp3ImporterTest", function() { var __instance = new alphaTab.test.importer.Gp3ImporterTest(); - it("TestScoreInfo", function(done) { + it("testScoreInfo", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestScoreInfo(); + __instance.testScoreInfo(); }); - it("TestNotes", function(done) { + it("testNotes", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestNotes(); + __instance.testNotes(); }); - it("TestTimeSignatures", function(done) { + it("testTimeSignatures", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTimeSignatures(); + __instance.testTimeSignatures(); }); - it("TestDead", function(done) { + it("testDead", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestDead(); + __instance.testDead(); }); - it("TestAccentuation", function(done) { + it("testAccentuation", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestAccentuation(); + __instance.testAccentuation(); }); - it("TestGuitarPro3Harmonics", function(done) { + it("testGuitarPro3Harmonics", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestGuitarPro3Harmonics(); + __instance.testGuitarPro3Harmonics(); done(); }); - it("TestHammer", function(done) { + it("testHammer", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestHammer(); + __instance.testHammer(); }); - it("TestBend", function(done) { + it("testBend", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestBend(); + __instance.testBend(); }); - it("TestSlides", function(done) { + it("testSlides", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestSlides(); + __instance.testSlides(); }); - it("TestGuitarPro3Vibrato", function(done) { + it("testGuitarPro3Vibrato", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestGuitarPro3Vibrato(); + __instance.testGuitarPro3Vibrato(); }); - it("TestOtherEffects", function(done) { + it("testOtherEffects", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestOtherEffects(); + __instance.testOtherEffects(); }); - it("TestStroke", function(done) { + it("testStroke", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestStroke(); + __instance.testStroke(); }); - it("TestTuplets", function(done) { + it("testTuplets", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTuplets(); + __instance.testTuplets(); }); - it("TestRanges", function(done) { + it("testRanges", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestRanges(); + __instance.testRanges(); }); - it("TestEffects", function(done) { + it("testEffects", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestEffects(); + __instance.testEffects(); }); - it("TestStrings", function(done) { + it("testStrings", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestStrings(); + __instance.testStrings(); }); }); describe("alphaTab.test.importer.Gp4ImporterTest", function() { var __instance = new alphaTab.test.importer.Gp4ImporterTest(); - it("TestScoreInfo", function(done) { + it("testScoreInfo", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestScoreInfo(); + __instance.testScoreInfo(); }); - it("TestNotes", function(done) { + it("testNotes", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestNotes(); + __instance.testNotes(); }); - it("TestTimeSignatures", function(done) { + it("testTimeSignatures", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTimeSignatures(); + __instance.testTimeSignatures(); }); - it("TestDead", function(done) { + it("testDead", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestDead(); + __instance.testDead(); }); - it("TestGrace", function(done) { + it("testGrace", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestGrace(); + __instance.testGrace(); }); - it("TestAccentuation", function(done) { + it("testAccentuation", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestAccentuation(); + __instance.testAccentuation(); }); - it("TestHarmonics", function(done) { + it("testHarmonics", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestHarmonics(); + __instance.testHarmonics(); }); - it("TestHammer", function(done) { + it("testHammer", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestHammer(); + __instance.testHammer(); }); - it("TestBend", function(done) { + it("testBend", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestBend(); + __instance.testBend(); }); - it("TestTremolo", function(done) { + it("testTremolo", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTremolo(); + __instance.testTremolo(); }); - it("TestSlides", function(done) { + it("testSlides", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestSlides(); + __instance.testSlides(); }); - it("TestVibrato", function(done) { + it("testVibrato", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestVibrato(); + __instance.testVibrato(); }); - it("TestTrills", function(done) { + it("testTrills", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTrills(); + __instance.testTrills(); }); - it("TestOtherEffects", function(done) { + it("testOtherEffects", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestOtherEffects(); + __instance.testOtherEffects(); }); - it("TestFingering", function(done) { + it("testFingering", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestFingering(); + __instance.testFingering(); }); - it("TestStroke", function(done) { + it("testStroke", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestStroke(); + __instance.testStroke(); }); - it("TestTuplets", function(done) { + it("testTuplets", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTuplets(); + __instance.testTuplets(); }); - it("TestRanges", function(done) { + it("testRanges", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestRanges(); + __instance.testRanges(); }); - it("TestEffects", function(done) { + it("testEffects", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestEffects(); + __instance.testEffects(); }); - it("TestStrings", function(done) { + it("testStrings", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestStrings(); + __instance.testStrings(); }); - it("TestColors", function(done) { + it("testColors", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestColors(); + __instance.testColors(); }); }); describe("alphaTab.test.importer.Gp5ImporterTest", function() { var __instance = new alphaTab.test.importer.Gp5ImporterTest(); - it("TestScoreInfo", function(done) { + it("testScoreInfo", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestScoreInfo(); + __instance.testScoreInfo(); }); - it("TestNotes", function(done) { + it("testNotes", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestNotes(); + __instance.testNotes(); }); - it("TestTimeSignatures", function(done) { + it("testTimeSignatures", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTimeSignatures(); + __instance.testTimeSignatures(); }); - it("TestDead", function(done) { + it("testDead", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestDead(); + __instance.testDead(); }); - it("TestGrace", function(done) { + it("testGrace", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestGrace(); + __instance.testGrace(); }); - it("TestAccentuation", function(done) { + it("testAccentuation", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestAccentuation(); + __instance.testAccentuation(); }); - it("TestHarmonics", function(done) { + it("testHarmonics", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestHarmonics(); + __instance.testHarmonics(); }); - it("TestHammer", function(done) { + it("testHammer", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestHammer(); + __instance.testHammer(); }); - it("TestBend", function(done) { + it("testBend", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestBend(); + __instance.testBend(); }); - it("TestTremolo", function(done) { + it("testTremolo", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTremolo(); + __instance.testTremolo(); }); - it("TestSlides", function(done) { + it("testSlides", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestSlides(); + __instance.testSlides(); }); - it("TestVibrato", function(done) { + it("testVibrato", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestVibrato(); + __instance.testVibrato(); }); - it("TestTrills", function(done) { + it("testTrills", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTrills(); + __instance.testTrills(); }); - it("TestOtherEffects", function(done) { + it("testOtherEffects", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestOtherEffects(); + __instance.testOtherEffects(); }); - it("TestFingering", function(done) { + it("testFingering", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestFingering(); + __instance.testFingering(); }); - it("TestStroke", function(done) { + it("testStroke", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestStroke(); + __instance.testStroke(); }); - it("TestTuplets", function(done) { + it("testTuplets", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTuplets(); + __instance.testTuplets(); }); - it("TestRanges", function(done) { + it("testRanges", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestRanges(); + __instance.testRanges(); }); - it("TestEffects", function(done) { + it("testEffects", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestEffects(); + __instance.testEffects(); }); - it("TestSerenade", function(done) { + it("testSerenade", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestSerenade(); + __instance.testSerenade(); }); - it("TestStrings", function(done) { + it("testStrings", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestStrings(); + __instance.testStrings(); }); - it("TestKeySignatures", function(done) { + it("testKeySignatures", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestKeySignatures(); + __instance.testKeySignatures(); }); - it("TestChords", function(done) { + it("testChords", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestChords(); + __instance.testChords(); }); - it("TestColors", function(done) { + it("testColors", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestColors(); + __instance.testColors(); }); - it("TestCanon", function(done) { + it("testCanon", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestCanon(); + __instance.testCanon(); }); }); describe("alphaTab.test.importer.Gp7ImporterTest", function() { var __instance = new alphaTab.test.importer.Gp7ImporterTest(); - it("TestScoreInfo", function(done) { + it("testScoreInfo", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestScoreInfo(); + __instance.testScoreInfo(); }); - it("TestNotes", function(done) { + it("testNotes", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestNotes(); + __instance.testNotes(); }); - it("TestTimeSignatures", function(done) { + it("testTimeSignatures", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTimeSignatures(); + __instance.testTimeSignatures(); }); - it("TestDead", function(done) { + it("testDead", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestDead(); + __instance.testDead(); }); - it("TestGrace", function(done) { + it("testGrace", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestGrace(); + __instance.testGrace(); }); - it("TestAccentuation", function(done) { + it("testAccentuation", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestAccentuation(); + __instance.testAccentuation(); }); - it("TestHarmonics", function(done) { + it("testHarmonics", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestHarmonics(); + __instance.testHarmonics(); }); - it("TestHammer", function(done) { + it("testHammer", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestHammer(); + __instance.testHammer(); }); - it("TestNumber", function(done) { + it("testNumber", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestNumber(); + __instance.testNumber(); done(); }); - it("TestBend", function(done) { + it("testBend", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestBend(); + __instance.testBend(); }); - it("TestBendAdvanced", function(done) { + it("testBendAdvanced", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestBendAdvanced(); + __instance.testBendAdvanced(); }); - it("TestWhammyAdvanced", function(done) { + it("testWhammyAdvanced", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestWhammyAdvanced(); + __instance.testWhammyAdvanced(); }); - it("TestTremolo", function(done) { + it("testTremolo", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTremolo(); + __instance.testTremolo(); }); - it("TestSlides", function(done) { + it("testSlides", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestSlides(); + __instance.testSlides(); }); - it("TestVibrato", function(done) { + it("testVibrato", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestVibrato(); + __instance.testVibrato(); }); - it("TestTrills", function(done) { + it("testTrills", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTrills(); + __instance.testTrills(); }); - it("TestOtherEffects", function(done) { + it("testOtherEffects", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestOtherEffects(); + __instance.testOtherEffects(); }); - it("TestFingering", function(done) { + it("testFingering", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestFingering(); + __instance.testFingering(); }); - it("TestStroke", function(done) { + it("testStroke", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestStroke(); + __instance.testStroke(); }); - it("TestTuplets", function(done) { + it("testTuplets", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTuplets(); + __instance.testTuplets(); }); - it("TestRanges", function(done) { + it("testRanges", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestRanges(); + __instance.testRanges(); }); - it("TestEffects", function(done) { + it("testEffects", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestEffects(); + __instance.testEffects(); }); - it("TestSerenade", function(done) { + it("testSerenade", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestSerenade(); + __instance.testSerenade(); }); - it("TestStrings", function(done) { + it("testStrings", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestStrings(); + __instance.testStrings(); }); - it("TestKeySignatures", function(done) { + it("testKeySignatures", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestKeySignatures(); + __instance.testKeySignatures(); }); - it("TestChords", function(done) { + it("testChords", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestChords(); + __instance.testChords(); }); - it("TestColors", function(done) { + it("testColors", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestColors(); + __instance.testColors(); }); - it("TestTremoloVibrato", function(done) { + it("testTremoloVibrato", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTremoloVibrato(); + __instance.testTremoloVibrato(); }); - it("TestOttavia", function(done) { + it("testOttavia", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestOttavia(); + __instance.testOttavia(); }); - it("TestSimileMark", function(done) { + it("testSimileMark", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestSimileMark(); + __instance.testSimileMark(); }); - it("TestAnacrusis", function(done) { + it("testAnacrusis", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestAnacrusis(); + __instance.testAnacrusis(); }); - it("TestFermata", function(done) { + it("testFermata", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestFermata(); + __instance.testFermata(); }); - it("TestPickSlide", function(done) { + it("testPickSlide", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestPickSlide(); + __instance.testPickSlide(); }); }); describe("alphaTab.test.importer.GpxImporterTest", function() { var __instance = new alphaTab.test.importer.GpxImporterTest(); - it("TestFileSystemCompressed", function(done) { + it("testFileSystemCompressed", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestFileSystemCompressed(); + __instance.testFileSystemCompressed(); }); - it("TestScoreInfo", function(done) { + it("testScoreInfo", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestScoreInfo(); + __instance.testScoreInfo(); }); - it("TestNotes", function(done) { + it("testNotes", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestNotes(); + __instance.testNotes(); }); - it("TestTimeSignatures", function(done) { + it("testTimeSignatures", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTimeSignatures(); + __instance.testTimeSignatures(); }); - it("TestDead", function(done) { + it("testDead", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestDead(); + __instance.testDead(); }); - it("TestGrace", function(done) { + it("testGrace", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestGrace(); + __instance.testGrace(); }); - it("TestAccentuation", function(done) { + it("testAccentuation", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestAccentuation(); + __instance.testAccentuation(); }); - it("TestHarmonics", function(done) { + it("testHarmonics", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestHarmonics(); + __instance.testHarmonics(); }); - it("TestHammer", function(done) { + it("testHammer", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestHammer(); + __instance.testHammer(); }); - it("TestBend", function(done) { + it("testBend", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestBend(); + __instance.testBend(); }); - it("TestTremolo", function(done) { + it("testTremolo", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTremolo(); + __instance.testTremolo(); }); - it("TestSlides", function(done) { + it("testSlides", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestSlides(); + __instance.testSlides(); }); - it("TestVibrato", function(done) { + it("testVibrato", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestVibrato(); + __instance.testVibrato(); }); - it("TestTrills", function(done) { + it("testTrills", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTrills(); + __instance.testTrills(); }); - it("TestOtherEffects", function(done) { + it("testOtherEffects", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestOtherEffects(); + __instance.testOtherEffects(); }); - it("TestFingering", function(done) { + it("testFingering", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestFingering(); + __instance.testFingering(); }); - it("TestStroke", function(done) { + it("testStroke", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestStroke(); + __instance.testStroke(); }); - it("TestTuplets", function(done) { + it("testTuplets", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestTuplets(); + __instance.testTuplets(); }); - it("TestRanges", function(done) { + it("testRanges", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestRanges(); + __instance.testRanges(); }); - it("TestEffects", function(done) { + it("testEffects", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestEffects(); + __instance.testEffects(); }); - it("TestSerenade", function(done) { + it("testSerenade", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestSerenade(); + __instance.testSerenade(); }); - it("TestStrings", function(done) { + it("testStrings", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestStrings(); + __instance.testStrings(); }); - it("TestKeySignatures", function(done) { + it("testKeySignatures", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestKeySignatures(); + __instance.testKeySignatures(); }); - it("TestChords", function(done) { + it("testChords", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestChords(); + __instance.testChords(); }); - it("TestColors", function(done) { + it("testColors", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestColors(); + __instance.testColors(); }); }); describe("alphaTab.test.importer.MusicXmlImporterSamplesTests", function() { var __instance = new alphaTab.test.importer.MusicXmlImporterSamplesTests(); - it("Test_BeetAnGeSample", function(done) { + it("test_BeetAnGeSample", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_BeetAnGeSample(); + __instance.test_BeetAnGeSample(); }); - it("Test_Binchois", function(done) { + it("test_Binchois", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_Binchois(); + __instance.test_Binchois(); }); - it("Test_BrahWiMeSample", function(done) { + it("test_BrahWiMeSample", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_BrahWiMeSample(); + __instance.test_BrahWiMeSample(); }); - it("Test_BrookeWestSample", function(done) { + it("test_BrookeWestSample", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_BrookeWestSample(); + __instance.test_BrookeWestSample(); }); - it("Test_Chant", function(done) { + it("test_Chant", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_Chant(); + __instance.test_Chant(); }); - it("Test_DebuMandSample", function(done) { + it("test_DebuMandSample", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_DebuMandSample(); + __instance.test_DebuMandSample(); }); - it("Test_Dichterliebe01", function(done) { + it("test_Dichterliebe01", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_Dichterliebe01(); + __instance.test_Dichterliebe01(); }); - it("Test_Echigo", function(done) { + it("test_Echigo", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_Echigo(); + __instance.test_Echigo(); }); - it("Test_FaurReveSample", function(done) { + it("test_FaurReveSample", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_FaurReveSample(); + __instance.test_FaurReveSample(); }); - it("Test_MahlFaGe4Sample", function(done) { + it("test_MahlFaGe4Sample", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_MahlFaGe4Sample(); + __instance.test_MahlFaGe4Sample(); }); - it("Test_MozaChloSample", function(done) { + it("test_MozaChloSample", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_MozaChloSample(); + __instance.test_MozaChloSample(); }); - it("Test_MozartPianoSonata", function(done) { + it("test_MozartPianoSonata", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_MozartPianoSonata(); + __instance.test_MozartPianoSonata(); }); - it("Test_MozartTrio", function(done) { + it("test_MozartTrio", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_MozartTrio(); + __instance.test_MozartTrio(); }); - it("Test_MozaVeilSample", function(done) { + it("test_MozaVeilSample", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_MozaVeilSample(); + __instance.test_MozaVeilSample(); }); - it("Test_Saltarello", function(done) { + it("test_Saltarello", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_Saltarello(); + __instance.test_Saltarello(); }); - it("Test_SchbAvMaSample", function(done) { + it("test_SchbAvMaSample", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_SchbAvMaSample(); + __instance.test_SchbAvMaSample(); }); - it("Test_Telemann", function(done) { + it("test_Telemann", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_Telemann(); + __instance.test_Telemann(); }); }); describe("alphaTab.test.importer.MusicXmlImporterTestSuiteTests", function() { var __instance = new alphaTab.test.importer.MusicXmlImporterTestSuiteTests(); - it("Test_01a_Pitches_Pitches", function(done) { + it("test_01a_Pitches_Pitches", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_01a_Pitches_Pitches(); + __instance.test_01a_Pitches_Pitches(); }); - it("Test_01b_Pitches_Intervals", function(done) { + it("test_01b_Pitches_Intervals", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_01b_Pitches_Intervals(); + __instance.test_01b_Pitches_Intervals(); }); - it("Test_01c_Pitches_NoVoiceElement", function(done) { + it("test_01c_Pitches_NoVoiceElement", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_01c_Pitches_NoVoiceElement(); + __instance.test_01c_Pitches_NoVoiceElement(); }); - it("Test_01d_Pitches_Microtones", function(done) { + it("test_01d_Pitches_Microtones", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_01d_Pitches_Microtones(); + __instance.test_01d_Pitches_Microtones(); }); - it("Test_01e_Pitches_ParenthesizedAccidentals", function(done) { + it("test_01e_Pitches_ParenthesizedAccidentals", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_01e_Pitches_ParenthesizedAccidentals(); + __instance.test_01e_Pitches_ParenthesizedAccidentals(); }); - it("Test_01f_Pitches_ParenthesizedMicrotoneAccidentals", function(done) { + it("test_01f_Pitches_ParenthesizedMicrotoneAccidentals", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_01f_Pitches_ParenthesizedMicrotoneAccidentals(); + __instance.test_01f_Pitches_ParenthesizedMicrotoneAccidentals(); }); - it("Test_02a_Rests_Durations", function(done) { + it("test_02a_Rests_Durations", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_02a_Rests_Durations(); + __instance.test_02a_Rests_Durations(); }); - it("Test_02b_Rests_PitchedRests", function(done) { + it("test_02b_Rests_PitchedRests", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_02b_Rests_PitchedRests(); + __instance.test_02b_Rests_PitchedRests(); }); - it("Test_02c_Rests_MultiMeasureRests", function(done) { + it("test_02c_Rests_MultiMeasureRests", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_02c_Rests_MultiMeasureRests(); + __instance.test_02c_Rests_MultiMeasureRests(); }); - it("Test_02d_Rests_Multimeasure_TimeSignatures", function(done) { + it("test_02d_Rests_Multimeasure_TimeSignatures", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_02d_Rests_Multimeasure_TimeSignatures(); + __instance.test_02d_Rests_Multimeasure_TimeSignatures(); }); - it("Test_02e_Rests_NoType", function(done) { + it("test_02e_Rests_NoType", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_02e_Rests_NoType(); + __instance.test_02e_Rests_NoType(); }); - it("Test_03a_Rhythm_Durations", function(done) { + it("test_03a_Rhythm_Durations", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_03a_Rhythm_Durations(); + __instance.test_03a_Rhythm_Durations(); }); - it("Test_03b_Rhythm_Backup", function(done) { + it("test_03b_Rhythm_Backup", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_03b_Rhythm_Backup(); + __instance.test_03b_Rhythm_Backup(); }); - it("Test_03c_Rhythm_DivisionChange", function(done) { + it("test_03c_Rhythm_DivisionChange", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_03c_Rhythm_DivisionChange(); + __instance.test_03c_Rhythm_DivisionChange(); }); - it("Test_03d_Rhythm_DottedDurations_Factors", function(done) { + it("test_03d_Rhythm_DottedDurations_Factors", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_03d_Rhythm_DottedDurations_Factors(); + __instance.test_03d_Rhythm_DottedDurations_Factors(); }); - it("Test_11a_TimeSignatures", function(done) { + it("test_11a_TimeSignatures", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_11a_TimeSignatures(); + __instance.test_11a_TimeSignatures(); }); - it("Test_11b_TimeSignatures_NoTime", function(done) { + it("test_11b_TimeSignatures_NoTime", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_11b_TimeSignatures_NoTime(); + __instance.test_11b_TimeSignatures_NoTime(); }); - it("Test_11c_TimeSignatures_CompoundSimple", function(done) { + it("test_11c_TimeSignatures_CompoundSimple", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_11c_TimeSignatures_CompoundSimple(); + __instance.test_11c_TimeSignatures_CompoundSimple(); }); - it("Test_11d_TimeSignatures_CompoundMultiple", function(done) { + it("test_11d_TimeSignatures_CompoundMultiple", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_11d_TimeSignatures_CompoundMultiple(); + __instance.test_11d_TimeSignatures_CompoundMultiple(); }); - it("Test_11e_TimeSignatures_CompoundMixed", function(done) { + it("test_11e_TimeSignatures_CompoundMixed", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_11e_TimeSignatures_CompoundMixed(); + __instance.test_11e_TimeSignatures_CompoundMixed(); }); - it("Test_11f_TimeSignatures_SymbolMeaning", function(done) { + it("test_11f_TimeSignatures_SymbolMeaning", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_11f_TimeSignatures_SymbolMeaning(); + __instance.test_11f_TimeSignatures_SymbolMeaning(); }); - it("Test_11g_TimeSignatures_SingleNumber", function(done) { + it("test_11g_TimeSignatures_SingleNumber", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_11g_TimeSignatures_SingleNumber(); + __instance.test_11g_TimeSignatures_SingleNumber(); }); - it("Test_11h_TimeSignatures_SenzaMisura", function(done) { + it("test_11h_TimeSignatures_SenzaMisura", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_11h_TimeSignatures_SenzaMisura(); + __instance.test_11h_TimeSignatures_SenzaMisura(); }); - it("Test_12a_Clefs", function(done) { + it("test_12a_Clefs", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_12a_Clefs(); + __instance.test_12a_Clefs(); }); - it("Test_12b_Clefs_NoKeyOrClef", function(done) { + it("test_12b_Clefs_NoKeyOrClef", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_12b_Clefs_NoKeyOrClef(); + __instance.test_12b_Clefs_NoKeyOrClef(); }); - it("Test_13a_KeySignatures", function(done) { + it("test_13a_KeySignatures", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_13a_KeySignatures(); + __instance.test_13a_KeySignatures(); }); - it("Test_13b_KeySignatures_ChurchModes", function(done) { + it("test_13b_KeySignatures_ChurchModes", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_13b_KeySignatures_ChurchModes(); + __instance.test_13b_KeySignatures_ChurchModes(); }); - it("Test_13c_KeySignatures_NonTraditional", function(done) { + it("test_13c_KeySignatures_NonTraditional", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_13c_KeySignatures_NonTraditional(); + __instance.test_13c_KeySignatures_NonTraditional(); }); - it("Test_13d_KeySignatures_Microtones", function(done) { + it("test_13d_KeySignatures_Microtones", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_13d_KeySignatures_Microtones(); + __instance.test_13d_KeySignatures_Microtones(); }); - it("Test_14a_StaffDetails_LineChanges", function(done) { + it("test_14a_StaffDetails_LineChanges", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_14a_StaffDetails_LineChanges(); + __instance.test_14a_StaffDetails_LineChanges(); }); - it("Test_21a_Chord_Basic", function(done) { + it("test_21a_Chord_Basic", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_21a_Chord_Basic(); + __instance.test_21a_Chord_Basic(); }); - it("Test_21b_Chords_TwoNotes", function(done) { + it("test_21b_Chords_TwoNotes", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_21b_Chords_TwoNotes(); + __instance.test_21b_Chords_TwoNotes(); }); - it("Test_21c_Chords_ThreeNotesDuration", function(done) { + it("test_21c_Chords_ThreeNotesDuration", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_21c_Chords_ThreeNotesDuration(); + __instance.test_21c_Chords_ThreeNotesDuration(); }); - it("Test_21d_Chords_SchubertStabatMater", function(done) { + it("test_21d_Chords_SchubertStabatMater", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_21d_Chords_SchubertStabatMater(); + __instance.test_21d_Chords_SchubertStabatMater(); }); - it("Test_21e_Chords_PickupMeasures", function(done) { + it("test_21e_Chords_PickupMeasures", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_21e_Chords_PickupMeasures(); + __instance.test_21e_Chords_PickupMeasures(); }); - it("Test_21f_Chord_ElementInBetween", function(done) { + it("test_21f_Chord_ElementInBetween", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_21f_Chord_ElementInBetween(); + __instance.test_21f_Chord_ElementInBetween(); }); - it("Test_22a_Noteheads", function(done) { + it("test_22a_Noteheads", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_22a_Noteheads(); + __instance.test_22a_Noteheads(); }); - it("Test_22b_Staff_Notestyles", function(done) { + it("test_22b_Staff_Notestyles", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_22b_Staff_Notestyles(); + __instance.test_22b_Staff_Notestyles(); }); - it("Test_22c_Noteheads_Chords", function(done) { + it("test_22c_Noteheads_Chords", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_22c_Noteheads_Chords(); + __instance.test_22c_Noteheads_Chords(); }); - it("Test_22d_Parenthesized_Noteheads", function(done) { + it("test_22d_Parenthesized_Noteheads", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_22d_Parenthesized_Noteheads(); + __instance.test_22d_Parenthesized_Noteheads(); }); - it("Test_23a_Tuplets", function(done) { + it("test_23a_Tuplets", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_23a_Tuplets(); + __instance.test_23a_Tuplets(); }); - it("Test_23b_Tuplets_Styles", function(done) { + it("test_23b_Tuplets_Styles", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_23b_Tuplets_Styles(); + __instance.test_23b_Tuplets_Styles(); }); - it("Test_23c_Tuplet_Display_NonStandard", function(done) { + it("test_23c_Tuplet_Display_NonStandard", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_23c_Tuplet_Display_NonStandard(); + __instance.test_23c_Tuplet_Display_NonStandard(); }); - it("Test_23d_Tuplets_Nested", function(done) { + it("test_23d_Tuplets_Nested", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_23d_Tuplets_Nested(); + __instance.test_23d_Tuplets_Nested(); }); - it("Test_23e_Tuplets_Tremolo", function(done) { + it("test_23e_Tuplets_Tremolo", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_23e_Tuplets_Tremolo(); + __instance.test_23e_Tuplets_Tremolo(); }); - it("Test_23f_Tuplets_DurationButNoBracket", function(done) { + it("test_23f_Tuplets_DurationButNoBracket", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_23f_Tuplets_DurationButNoBracket(); + __instance.test_23f_Tuplets_DurationButNoBracket(); }); - it("Test_24a_GraceNotes", function(done) { + it("test_24a_GraceNotes", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_24a_GraceNotes(); + __instance.test_24a_GraceNotes(); }); - it("Test_24b_ChordAsGraceNote", function(done) { + it("test_24b_ChordAsGraceNote", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_24b_ChordAsGraceNote(); + __instance.test_24b_ChordAsGraceNote(); }); - it("Test_24c_GraceNote_MeasureEnd", function(done) { + it("test_24c_GraceNote_MeasureEnd", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_24c_GraceNote_MeasureEnd(); + __instance.test_24c_GraceNote_MeasureEnd(); }); - it("Test_24d_AfterGrace", function(done) { + it("test_24d_AfterGrace", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_24d_AfterGrace(); + __instance.test_24d_AfterGrace(); }); - it("Test_24e_GraceNote_StaffChange", function(done) { + it("test_24e_GraceNote_StaffChange", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_24e_GraceNote_StaffChange(); + __instance.test_24e_GraceNote_StaffChange(); }); - it("Test_24f_GraceNote_Slur", function(done) { + it("test_24f_GraceNote_Slur", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_24f_GraceNote_Slur(); + __instance.test_24f_GraceNote_Slur(); }); - it("Test_31a_Directions", function(done) { + it("test_31a_Directions", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_31a_Directions(); + __instance.test_31a_Directions(); }); - it("Test_31c_MetronomeMarks", function(done) { + it("test_31c_MetronomeMarks", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_31c_MetronomeMarks(); + __instance.test_31c_MetronomeMarks(); }); - it("Test_32a_Notations", function(done) { + it("test_32a_Notations", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_32a_Notations(); + __instance.test_32a_Notations(); }); - it("Test_32b_Articulations_Texts", function(done) { + it("test_32b_Articulations_Texts", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_32b_Articulations_Texts(); + __instance.test_32b_Articulations_Texts(); }); - it("Test_32c_MultipleNotationChildren", function(done) { + it("test_32c_MultipleNotationChildren", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_32c_MultipleNotationChildren(); + __instance.test_32c_MultipleNotationChildren(); }); - it("Test_32d_Arpeggio", function(done) { + it("test_32d_Arpeggio", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_32d_Arpeggio(); + __instance.test_32d_Arpeggio(); }); - it("Test_33a_Spanners", function(done) { + it("test_33a_Spanners", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_33a_Spanners(); + __instance.test_33a_Spanners(); }); - it("Test_33b_Spanners_Tie", function(done) { + it("test_33b_Spanners_Tie", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_33b_Spanners_Tie(); + __instance.test_33b_Spanners_Tie(); }); - it("Test_33c_Spanners_Slurs", function(done) { + it("test_33c_Spanners_Slurs", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_33c_Spanners_Slurs(); + __instance.test_33c_Spanners_Slurs(); }); - it("Test_33d_Spanners_OctaveShifts", function(done) { + it("test_33d_Spanners_OctaveShifts", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_33d_Spanners_OctaveShifts(); + __instance.test_33d_Spanners_OctaveShifts(); }); - it("Test_33e_Spanners_OctaveShifts_InvalidSize", function(done) { + it("test_33e_Spanners_OctaveShifts_InvalidSize", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_33e_Spanners_OctaveShifts_InvalidSize(); + __instance.test_33e_Spanners_OctaveShifts_InvalidSize(); }); - it("Test_33f_Trill_EndingOnGraceNote", function(done) { + it("test_33f_Trill_EndingOnGraceNote", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_33f_Trill_EndingOnGraceNote(); + __instance.test_33f_Trill_EndingOnGraceNote(); }); - it("Test_33g_Slur_ChordedNotes", function(done) { + it("test_33g_Slur_ChordedNotes", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_33g_Slur_ChordedNotes(); + __instance.test_33g_Slur_ChordedNotes(); }); - it("Test_33h_Spanners_Glissando", function(done) { + it("test_33h_Spanners_Glissando", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_33h_Spanners_Glissando(); + __instance.test_33h_Spanners_Glissando(); }); - it("Test_33i_Ties_NotEnded", function(done) { + it("test_33i_Ties_NotEnded", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_33i_Ties_NotEnded(); + __instance.test_33i_Ties_NotEnded(); }); - it("Test_41a_MultiParts_Partorder", function(done) { + it("test_41a_MultiParts_Partorder", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_41a_MultiParts_Partorder(); + __instance.test_41a_MultiParts_Partorder(); }); - it("Test_41b_MultiParts_MoreThan10", function(done) { + it("test_41b_MultiParts_MoreThan10", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_41b_MultiParts_MoreThan10(); + __instance.test_41b_MultiParts_MoreThan10(); }); - it("Test_41c_StaffGroups", function(done) { + it("test_41c_StaffGroups", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_41c_StaffGroups(); + __instance.test_41c_StaffGroups(); }); - it("Test_41d_StaffGroups_Nested", function(done) { + it("test_41d_StaffGroups_Nested", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_41d_StaffGroups_Nested(); + __instance.test_41d_StaffGroups_Nested(); }); - it("Test_41e_StaffGroups_InstrumentNames_Linebroken", function(done) { + it("test_41e_StaffGroups_InstrumentNames_Linebroken", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_41e_StaffGroups_InstrumentNames_Linebroken(); + __instance.test_41e_StaffGroups_InstrumentNames_Linebroken(); }); - it("Test_41f_StaffGroups_Overlapping", function(done) { + it("test_41f_StaffGroups_Overlapping", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_41f_StaffGroups_Overlapping(); + __instance.test_41f_StaffGroups_Overlapping(); }); - it("Test_41g_PartNoId", function(done) { + it("test_41g_PartNoId", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_41g_PartNoId(); + __instance.test_41g_PartNoId(); }); - it("Test_41h_TooManyParts", function(done) { + it("test_41h_TooManyParts", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_41h_TooManyParts(); + __instance.test_41h_TooManyParts(); }); - it("Test_41i_PartNameDisplay_Override", function(done) { + it("test_41i_PartNameDisplay_Override", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_41i_PartNameDisplay_Override(); + __instance.test_41i_PartNameDisplay_Override(); }); - it("Test_42a_MultiVoice_TwoVoicesOnStaff_Lyrics", function(done) { + it("test_42a_MultiVoice_TwoVoicesOnStaff_Lyrics", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_42a_MultiVoice_TwoVoicesOnStaff_Lyrics(); + __instance.test_42a_MultiVoice_TwoVoicesOnStaff_Lyrics(); }); - it("Test_42b_MultiVoice_MidMeasureClefChange", function(done) { + it("test_42b_MultiVoice_MidMeasureClefChange", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_42b_MultiVoice_MidMeasureClefChange(); + __instance.test_42b_MultiVoice_MidMeasureClefChange(); }); - it("Test_43a_PianoStaff", function(done) { + it("test_43a_PianoStaff", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_43a_PianoStaff(); + __instance.test_43a_PianoStaff(); }); - it("Test_43b_MultiStaff_DifferentKeys", function(done) { + it("test_43b_MultiStaff_DifferentKeys", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_43b_MultiStaff_DifferentKeys(); + __instance.test_43b_MultiStaff_DifferentKeys(); }); - it("Test_43c_MultiStaff_DifferentKeysAfterBackup", function(done) { + it("test_43c_MultiStaff_DifferentKeysAfterBackup", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_43c_MultiStaff_DifferentKeysAfterBackup(); + __instance.test_43c_MultiStaff_DifferentKeysAfterBackup(); }); - it("Test_43d_MultiStaff_StaffChange", function(done) { + it("test_43d_MultiStaff_StaffChange", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_43d_MultiStaff_StaffChange(); + __instance.test_43d_MultiStaff_StaffChange(); }); - it("Test_43e_Multistaff_ClefDynamics", function(done) { + it("test_43e_Multistaff_ClefDynamics", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_43e_Multistaff_ClefDynamics(); + __instance.test_43e_Multistaff_ClefDynamics(); }); - it("Test_45a_SimpleRepeat", function(done) { + it("test_45a_SimpleRepeat", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_45a_SimpleRepeat(); + __instance.test_45a_SimpleRepeat(); }); - it("Test_45b_RepeatWithAlternatives", function(done) { + it("test_45b_RepeatWithAlternatives", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_45b_RepeatWithAlternatives(); + __instance.test_45b_RepeatWithAlternatives(); }); - it("Test_45c_RepeatMultipleTimes", function(done) { + it("test_45c_RepeatMultipleTimes", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_45c_RepeatMultipleTimes(); + __instance.test_45c_RepeatMultipleTimes(); }); - it("Test_45d_Repeats_Nested_Alternatives", function(done) { + it("test_45d_Repeats_Nested_Alternatives", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_45d_Repeats_Nested_Alternatives(); + __instance.test_45d_Repeats_Nested_Alternatives(); }); - it("Test_45e_Repeats_Nested_Alternatives", function(done) { + it("test_45e_Repeats_Nested_Alternatives", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_45e_Repeats_Nested_Alternatives(); + __instance.test_45e_Repeats_Nested_Alternatives(); }); - it("Test_45f_Repeats_InvalidEndings", function(done) { + it("test_45f_Repeats_InvalidEndings", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_45f_Repeats_InvalidEndings(); + __instance.test_45f_Repeats_InvalidEndings(); }); - it("Test_45g_Repeats_NotEnded", function(done) { + it("test_45g_Repeats_NotEnded", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_45g_Repeats_NotEnded(); + __instance.test_45g_Repeats_NotEnded(); }); - it("Test_46a_Barlines", function(done) { + it("test_46a_Barlines", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_46a_Barlines(); + __instance.test_46a_Barlines(); }); - it("Test_46b_MidmeasureBarline", function(done) { + it("test_46b_MidmeasureBarline", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_46b_MidmeasureBarline(); + __instance.test_46b_MidmeasureBarline(); }); - it("Test_46c_Midmeasure_Clef", function(done) { + it("test_46c_Midmeasure_Clef", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_46c_Midmeasure_Clef(); + __instance.test_46c_Midmeasure_Clef(); }); - it("Test_46d_PickupMeasure_ImplicitMeasures", function(done) { + it("test_46d_PickupMeasure_ImplicitMeasures", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_46d_PickupMeasure_ImplicitMeasures(); + __instance.test_46d_PickupMeasure_ImplicitMeasures(); }); - it("Test_46e_PickupMeasure_SecondVoiceStartsLater", function(done) { + it("test_46e_PickupMeasure_SecondVoiceStartsLater", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_46e_PickupMeasure_SecondVoiceStartsLater(); + __instance.test_46e_PickupMeasure_SecondVoiceStartsLater(); }); - it("Test_46f_IncompleteMeasures", function(done) { + it("test_46f_IncompleteMeasures", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_46f_IncompleteMeasures(); + __instance.test_46f_IncompleteMeasures(); }); - it("Test_46g_PickupMeasure_Chordnames_FiguredBass", function(done) { + it("test_46g_PickupMeasure_Chordnames_FiguredBass", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_46g_PickupMeasure_Chordnames_FiguredBass(); + __instance.test_46g_PickupMeasure_Chordnames_FiguredBass(); }); - it("Test_51b_Header_Quotes", function(done) { + it("test_51b_Header_Quotes", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_51b_Header_Quotes(); + __instance.test_51b_Header_Quotes(); }); - it("Test_51c_MultipleRights", function(done) { + it("test_51c_MultipleRights", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_51c_MultipleRights(); + __instance.test_51c_MultipleRights(); }); - it("Test_51d_EmptyTitle", function(done) { + it("test_51d_EmptyTitle", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_51d_EmptyTitle(); + __instance.test_51d_EmptyTitle(); }); - it("Test_52a_PageLayout", function(done) { + it("test_52a_PageLayout", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_52a_PageLayout(); + __instance.test_52a_PageLayout(); }); - it("Test_52b_Breaks", function(done) { + it("test_52b_Breaks", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_52b_Breaks(); + __instance.test_52b_Breaks(); }); - it("Test_61a_Lyrics", function(done) { + it("test_61a_Lyrics", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_61a_Lyrics(); + __instance.test_61a_Lyrics(); }); - it("Test_61b_MultipleLyrics", function(done) { + it("test_61b_MultipleLyrics", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_61b_MultipleLyrics(); + __instance.test_61b_MultipleLyrics(); }); - it("Test_61c_Lyrics_Pianostaff", function(done) { + it("test_61c_Lyrics_Pianostaff", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_61c_Lyrics_Pianostaff(); + __instance.test_61c_Lyrics_Pianostaff(); }); - it("Test_61d_Lyrics_Melisma", function(done) { + it("test_61d_Lyrics_Melisma", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_61d_Lyrics_Melisma(); + __instance.test_61d_Lyrics_Melisma(); }); - it("Test_61e_Lyrics_Chords", function(done) { + it("test_61e_Lyrics_Chords", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_61e_Lyrics_Chords(); + __instance.test_61e_Lyrics_Chords(); }); - it("Test_61f_Lyrics_GracedNotes", function(done) { + it("test_61f_Lyrics_GracedNotes", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_61f_Lyrics_GracedNotes(); + __instance.test_61f_Lyrics_GracedNotes(); }); - it("Test_61g_Lyrics_NameNumber", function(done) { + it("test_61g_Lyrics_NameNumber", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_61g_Lyrics_NameNumber(); + __instance.test_61g_Lyrics_NameNumber(); }); - it("Test_61h_Lyrics_BeamsMelismata", function(done) { + it("test_61h_Lyrics_BeamsMelismata", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_61h_Lyrics_BeamsMelismata(); + __instance.test_61h_Lyrics_BeamsMelismata(); }); - it("Test_61i_Lyrics_Chords", function(done) { + it("test_61i_Lyrics_Chords", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_61i_Lyrics_Chords(); + __instance.test_61i_Lyrics_Chords(); }); - it("Test_61j_Lyrics_Elisions", function(done) { + it("test_61j_Lyrics_Elisions", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_61j_Lyrics_Elisions(); + __instance.test_61j_Lyrics_Elisions(); }); - it("Test_61k_Lyrics_SpannersExtenders", function(done) { + it("test_61k_Lyrics_SpannersExtenders", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_61k_Lyrics_SpannersExtenders(); + __instance.test_61k_Lyrics_SpannersExtenders(); }); - it("Test_71a_Chordnames", function(done) { + it("test_71a_Chordnames", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_71a_Chordnames(); + __instance.test_71a_Chordnames(); }); - it("Test_71c_ChordsFrets", function(done) { + it("test_71c_ChordsFrets", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_71c_ChordsFrets(); + __instance.test_71c_ChordsFrets(); }); - it("Test_71d_ChordsFrets_Multistaff", function(done) { + it("test_71d_ChordsFrets_Multistaff", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_71d_ChordsFrets_Multistaff(); + __instance.test_71d_ChordsFrets_Multistaff(); }); - it("Test_71e_TabStaves", function(done) { + it("test_71e_TabStaves", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_71e_TabStaves(); + __instance.test_71e_TabStaves(); }); - it("Test_71f_AllChordTypes", function(done) { + it("test_71f_AllChordTypes", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_71f_AllChordTypes(); + __instance.test_71f_AllChordTypes(); }); - it("Test_71g_MultipleChordnames", function(done) { + it("test_71g_MultipleChordnames", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_71g_MultipleChordnames(); + __instance.test_71g_MultipleChordnames(); }); - it("Test_72a_TransposingInstruments", function(done) { + it("test_72a_TransposingInstruments", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_72a_TransposingInstruments(); + __instance.test_72a_TransposingInstruments(); }); - it("Test_72b_TransposingInstruments_Full", function(done) { + it("test_72b_TransposingInstruments_Full", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_72b_TransposingInstruments_Full(); + __instance.test_72b_TransposingInstruments_Full(); }); - it("Test_72c_TransposingInstruments_Change", function(done) { + it("test_72c_TransposingInstruments_Change", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_72c_TransposingInstruments_Change(); + __instance.test_72c_TransposingInstruments_Change(); }); - it("Test_73a_Percussion", function(done) { + it("test_73a_Percussion", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_73a_Percussion(); + __instance.test_73a_Percussion(); }); - it("Test_74a_FiguredBass", function(done) { + it("test_74a_FiguredBass", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_74a_FiguredBass(); + __instance.test_74a_FiguredBass(); }); - it("Test_75a_AccordionRegistrations", function(done) { + it("test_75a_AccordionRegistrations", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_75a_AccordionRegistrations(); + __instance.test_75a_AccordionRegistrations(); }); - it("Test_99a_Sibelius5_IgnoreBeaming", function(done) { + it("test_99a_Sibelius5_IgnoreBeaming", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_99a_Sibelius5_IgnoreBeaming(); + __instance.test_99a_Sibelius5_IgnoreBeaming(); }); - it("Test_99b_Lyrics_BeamsMelismata_IgnoreBeams", function(done) { + it("test_99b_Lyrics_BeamsMelismata_IgnoreBeams", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.Test_99b_Lyrics_BeamsMelismata_IgnoreBeams(); + __instance.test_99b_Lyrics_BeamsMelismata_IgnoreBeams(); }); }); describe("alphaTab.test.model.LyricsTest", function() { var __instance = new alphaTab.test.model.LyricsTest(); - it("TestApplySingleLineFirstBar", function(done) { + it("testApplySingleLineFirstBar", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestApplySingleLineFirstBar(); + __instance.testApplySingleLineFirstBar(); }); - it("TestApplySingleLineBarOffset", function(done) { + it("testApplySingleLineBarOffset", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestApplySingleLineBarOffset(); + __instance.testApplySingleLineBarOffset(); }); - it("TestApplyMultiLineFirstBar", function(done) { + it("testApplyMultiLineFirstBar", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestApplyMultiLineFirstBar(); + __instance.testApplyMultiLineFirstBar(); }); - it("TestApplyMultiLineBarOffset", function(done) { + it("testApplyMultiLineBarOffset", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestApplyMultiLineBarOffset(); + __instance.testApplyMultiLineBarOffset(); }); - it("TestSpaces", function(done) { + it("testSpaces", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestSpaces(); + __instance.testSpaces(); done(); }); - it("TestNewLines", function(done) { + it("testNewLines", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestNewLines(); + __instance.testNewLines(); done(); }); - it("TestDash", function(done) { + it("testDash", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestDash(); + __instance.testDash(); done(); }); - it("TestPlus", function(done) { + it("testPlus", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestPlus(); + __instance.testPlus(); done(); }); - it("TestComments", function(done) { + it("testComments", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestComments(); + __instance.testComments(); done(); }); }); describe("alphaTab.test.model.TuningParserTest", function() { var __instance = new alphaTab.test.model.TuningParserTest(); - it("TestStandard", function(done) { + it("testStandard", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.TestStandard(); + __instance.testStandard(); done(); }); }); describe("alphaTab.test.xml.XmlParseTest", function() { var __instance = new alphaTab.test.xml.XmlParseTest(); - it("ParseSimple", function(done) { + it("parseSimple", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.ParseSimple(); + __instance.parseSimple(); done(); }); - it("ParseShorthand", function(done) { + it("parseShorthand", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.ParseShorthand(); + __instance.parseShorthand(); done(); }); - it("ParseSingleAttribute", function(done) { + it("parseSingleAttribute", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.ParseSingleAttribute(); + __instance.parseSingleAttribute(); done(); }); - it("ParseMultipleAttributes", function(done) { + it("parseMultipleAttributes", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.ParseMultipleAttributes(); + __instance.parseMultipleAttributes(); done(); }); - it("ParseSimpleText", function(done) { + it("parseSimpleText", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.ParseSimpleText(); + __instance.parseSimpleText(); done(); }); - it("ParseChild", function(done) { + it("parseChild", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.ParseChild(); + __instance.parseChild(); done(); }); - it("ParseMultiChild", function(done) { + it("parseMultiChild", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.ParseMultiChild(); + __instance.parseMultiChild(); done(); }); - it("ParseComments", function(done) { + it("parseComments", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.ParseComments(); + __instance.parseComments(); done(); }); - it("ParseDoctype", function(done) { + it("parseDoctype", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.ParseDoctype(); + __instance.parseDoctype(); done(); }); - it("ParseXmlHeadTest", function(done) { + it("parseXmlHeadTest", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.ParseXmlHeadTest(); + __instance.parseXmlHeadTest(); done(); }); - it("ParseFull", function(done) { + it("parseFull", function(done) { alphaTab.test.TestPlatform.Done = done; - __instance.ParseFull(); + __instance.parseFull(); done(); }); }); diff --git a/Source/AlphaTab.Test/Audio/AlphaSynthTests.cs b/Source/AlphaTab.Test/Audio/AlphaSynthTests.cs index 85fd43c43..eba8f6721 100644 --- a/Source/AlphaTab.Test/Audio/AlphaSynthTests.cs +++ b/Source/AlphaTab.Test/Audio/AlphaSynthTests.cs @@ -43,7 +43,7 @@ public void TestPcmGeneration() while (!finished) { - testOutput.Continue(); + testOutput.Next(); } //Console.WriteLine(testOutput.Samples.Count); @@ -81,7 +81,7 @@ public void Play() { } - public void Continue() + public void Next() { if (_finished) { diff --git a/Source/AlphaTab.Test/Audio/MidiFileGeneratorTest.cs b/Source/AlphaTab.Test/Audio/MidiFileGeneratorTest.cs index 7bdef7e96..2bd62bf88 100644 --- a/Source/AlphaTab.Test/Audio/MidiFileGeneratorTest.cs +++ b/Source/AlphaTab.Test/Audio/MidiFileGeneratorTest.cs @@ -115,11 +115,11 @@ public void TestBend() new FlatMidiEventGenerator.BendEvent { Tick = 959, Track = 0, Channel = info.SecondaryChannel, Value = 43 }, // note itself - new FlatMidiEventGenerator.NoteEvent { Tick = 0, Track = 0, Channel = info.SecondaryChannel, DynamicValue = note.Dynamic, Key = (byte) note.RealValue, Length = note.Beat.Duration.ToTicks() }, + new FlatMidiEventGenerator.NoteEvent { Tick = 0, Track = 0, Channel = info.SecondaryChannel, DynamicValue = note.Dynamics, Key = (byte) note.RealValue, Length = note.Beat.Duration.ToTicks() }, // reset bend new FlatMidiEventGenerator.BendEvent { Tick = 960, Track = 0, Channel = info.PrimaryChannel, Value = 32 }, - new FlatMidiEventGenerator.NoteEvent { Tick = 960, Track = 0, Channel = info.PrimaryChannel, DynamicValue = note.Dynamic, Key = (byte) note.RealValue, Length = note.Beat.Duration.ToTicks() }, + new FlatMidiEventGenerator.NoteEvent { Tick = 960, Track = 0, Channel = info.PrimaryChannel, DynamicValue = note.Dynamics, Key = (byte) note.RealValue, Length = note.Beat.Duration.ToTicks() }, // end of track new FlatMidiEventGenerator.TrackEndEvent { Tick = 3840, Track = 0 } // 3840 = end of bar @@ -349,11 +349,11 @@ public void TestBendMultiPoint() new FlatMidiEventGenerator.BendEvent { Tick = 959, Track = 0, Channel = info.SecondaryChannel, Value = 32 }, // no bend // note itself - new FlatMidiEventGenerator.NoteEvent { Tick = 0, Track = 0, Channel = info.SecondaryChannel, DynamicValue = note.Dynamic, Key = (byte) note.RealValue, Length = note.Beat.Duration.ToTicks() }, + new FlatMidiEventGenerator.NoteEvent { Tick = 0, Track = 0, Channel = info.SecondaryChannel, DynamicValue = note.Dynamics, Key = (byte) note.RealValue, Length = note.Beat.Duration.ToTicks() }, // reset bend new FlatMidiEventGenerator.BendEvent { Tick = 960, Track = 0, Channel = info.PrimaryChannel, Value = 32 }, // finish - new FlatMidiEventGenerator.NoteEvent { Tick = 960, Track = 0, Channel = info.PrimaryChannel, DynamicValue = note.Dynamic, Key = (byte) note.RealValue, Length = note.Beat.Duration.ToTicks() }, + new FlatMidiEventGenerator.NoteEvent { Tick = 960, Track = 0, Channel = info.PrimaryChannel, DynamicValue = note.Dynamics, Key = (byte) note.RealValue, Length = note.Beat.Duration.ToTicks() }, // end of track new FlatMidiEventGenerator.TrackEndEvent { Tick = 3840, Track = 0 } // 3840 = end of bar }; diff --git a/Source/AlphaTab.Test/Importer/Gp3ImporterTest.cs b/Source/AlphaTab.Test/Importer/Gp3ImporterTest.cs index def7bc360..560adb99a 100644 --- a/Source/AlphaTab.Test/Importer/Gp3ImporterTest.cs +++ b/Source/AlphaTab.Test/Importer/Gp3ImporterTest.cs @@ -74,7 +74,7 @@ public void TestAccentuation() Assert.IsTrue(score.Tracks[0].Staves[0].Bars[0].Voices[0].Beats[0].Notes[0].IsGhost); // it seems accentuation is handled as Forte Fortissimo - Assert.AreEqual(DynamicValue.FFF, score.Tracks[0].Staves[0].Bars[0].Voices[0].Beats[1].Notes[0].Dynamic); + Assert.AreEqual(DynamicValue.FFF, score.Tracks[0].Staves[0].Bars[0].Voices[0].Beats[1].Notes[0].Dynamics); Assert.IsTrue(score.Tracks[0].Staves[0].Bars[0].Voices[0].Beats[3].Notes[0].IsLetRing); Render(score); }); diff --git a/Source/AlphaTab.Test/Importer/MusicXmlImporterTestBase.cs b/Source/AlphaTab.Test/Importer/MusicXmlImporterTestBase.cs index 4f706ef45..ba43e7ba1 100644 --- a/Source/AlphaTab.Test/Importer/MusicXmlImporterTestBase.cs +++ b/Source/AlphaTab.Test/Importer/MusicXmlImporterTestBase.cs @@ -323,7 +323,7 @@ protected void AreEqual(Note expected, Note actual) Assert.AreEqual(expected.TrillSpeed, actual.TrillSpeed, "Mismatch on TrillSpeed"); Assert.AreEqual(expected.DurationPercent, actual.DurationPercent, "Mismatch on DurationPercent"); //Assert.AreEqual(expected.AccidentalMode, actual.AccidentalMode, "Mismatch on AccidentalMode"); - Assert.AreEqual(expected.Dynamic, actual.Dynamic, "Mismatch on Dynamic"); + Assert.AreEqual(expected.Dynamics, actual.Dynamics, "Mismatch on Dynamic"); Assert.AreEqual(expected.RealValue, actual.RealValue, "Mismatch on RealValue"); } diff --git a/Source/AlphaTab/Audio/Generator/MidiFileGenerator.cs b/Source/AlphaTab/Audio/Generator/MidiFileGenerator.cs index 0455b3f2d..01e7d77e4 100644 --- a/Source/AlphaTab/Audio/Generator/MidiFileGenerator.cs +++ b/Source/AlphaTab/Audio/Generator/MidiFileGenerator.cs @@ -517,7 +517,7 @@ private int ApplyStaticDuration(int duration, int maximum) private DynamicValue GetDynamicValue(Note note) { - var dynamicValue = note.Dynamic; + var dynamicValue = note.Dynamics; // more silent on hammer destination if (!note.Beat.Voice.Bar.Staff.IsPercussion && note.HammerPullOrigin != null) diff --git a/Source/AlphaTab/Importer/Gp3To5Importer.cs b/Source/AlphaTab/Importer/Gp3To5Importer.cs index f43173e96..c1155d722 100644 --- a/Source/AlphaTab/Importer/Gp3To5Importer.cs +++ b/Source/AlphaTab/Importer/Gp3To5Importer.cs @@ -1062,8 +1062,8 @@ public void ReadNote(Track track, Bar bar, Voice voice, Beat beat, int stringInd if ((flags & 0x10) != 0) { var dynamicNumber = Data.ReadSignedByte(); - newNote.Dynamic = ToDynamicValue(dynamicNumber); - beat.Dynamic = newNote.Dynamic; + newNote.Dynamics = ToDynamicValue(dynamicNumber); + beat.Dynamics = newNote.Dynamics; } if ((flags & 0x20) != 0) @@ -1220,7 +1220,7 @@ public void ReadGrace(Voice voice, Note note) graceNote.String = note.String; graceNote.Fret = Data.ReadSignedByte(); graceBeat.Duration = Duration.ThirtySecond; - graceBeat.Dynamic = ToDynamicValue(Data.ReadSignedByte()); + graceBeat.Dynamics = ToDynamicValue(Data.ReadSignedByte()); var transition = Data.ReadSignedByte(); switch (transition) { @@ -1237,7 +1237,7 @@ public void ReadGrace(Voice voice, Note note) break; } - graceNote.Dynamic = graceBeat.Dynamic; + graceNote.Dynamics = graceBeat.Dynamics; Data.Skip(1); // duration if (_versionNumber < 500) diff --git a/Source/AlphaTab/Importer/GpifParser.cs b/Source/AlphaTab/Importer/GpifParser.cs index 7d3a88e1f..d6becca0d 100644 --- a/Source/AlphaTab/Importer/GpifParser.cs +++ b/Source/AlphaTab/Importer/GpifParser.cs @@ -1374,28 +1374,28 @@ private void ParseBeat(XmlNode node) switch (c.InnerText) { case "PPP": - beat.Dynamic = DynamicValue.PPP; + beat.Dynamics = DynamicValue.PPP; break; case "PP": - beat.Dynamic = DynamicValue.PP; + beat.Dynamics = DynamicValue.PP; break; case "P": - beat.Dynamic = DynamicValue.P; + beat.Dynamics = DynamicValue.P; break; case "MP": - beat.Dynamic = DynamicValue.MP; + beat.Dynamics = DynamicValue.MP; break; case "MF": - beat.Dynamic = DynamicValue.MF; + beat.Dynamics = DynamicValue.MF; break; case "F": - beat.Dynamic = DynamicValue.F; + beat.Dynamics = DynamicValue.F; break; case "FF": - beat.Dynamic = DynamicValue.FF; + beat.Dynamics = DynamicValue.FF; break; case "FFF": - beat.Dynamic = DynamicValue.FFF; + beat.Dynamics = DynamicValue.FFF; break; } diff --git a/Source/AlphaTab/Importer/MusicXmlImporter.cs b/Source/AlphaTab/Importer/MusicXmlImporter.cs index f8ea2346f..a3063b475 100644 --- a/Source/AlphaTab/Importer/MusicXmlImporter.cs +++ b/Source/AlphaTab/Importer/MusicXmlImporter.cs @@ -1145,28 +1145,28 @@ private void ParseDynamics(XmlNode element, Beat beat) switch (c.LocalName) { case "p": - beat.Dynamic = DynamicValue.P; + beat.Dynamics = DynamicValue.P; break; case "pp": - beat.Dynamic = DynamicValue.PP; + beat.Dynamics = DynamicValue.PP; break; case "ppp": - beat.Dynamic = DynamicValue.PPP; + beat.Dynamics = DynamicValue.PPP; break; case "f": - beat.Dynamic = DynamicValue.F; + beat.Dynamics = DynamicValue.F; break; case "ff": - beat.Dynamic = DynamicValue.FF; + beat.Dynamics = DynamicValue.FF; break; case "fff": - beat.Dynamic = DynamicValue.FFF; + beat.Dynamics = DynamicValue.FFF; break; case "mp": - beat.Dynamic = DynamicValue.MP; + beat.Dynamics = DynamicValue.MP; break; case "mf": - beat.Dynamic = DynamicValue.MF; + beat.Dynamics = DynamicValue.MF; break; } } diff --git a/Source/AlphaTab/Model/Beat.cs b/Source/AlphaTab/Model/Beat.cs index f2ab00851..309c4f668 100644 --- a/Source/AlphaTab/Model/Beat.cs +++ b/Source/AlphaTab/Model/Beat.cs @@ -322,7 +322,7 @@ public class Beat ///

/// Gets or sets the dynamics applied to this beat. /// - public DynamicValue Dynamic { get; set; } + public DynamicValue Dynamics { get; set; } /// /// Gets or sets a value indicating whether the beam direction should be inverted. @@ -357,7 +357,7 @@ public Beat() PlaybackDuration = 0; TupletDenominator = -1; TupletNumerator = -1; - Dynamic = DynamicValue.F; + Dynamics = DynamicValue.F; Crescendo = CrescendoType.None; InvertBeamDirection = false; Ottava = Ottavia.Regular; @@ -402,7 +402,7 @@ internal static void CopyTo(Beat src, Beat dst) dst.DisplayDuration = src.DisplayDuration; dst.PlaybackStart = src.PlaybackStart; dst.PlaybackDuration = src.PlaybackDuration; - dst.Dynamic = src.Dynamic; + dst.Dynamics = src.Dynamics; dst.IsLegatoOrigin = src.IsLegatoOrigin; dst.InvertBeamDirection = src.InvertBeamDirection; dst.WhammyBarType = src.WhammyBarType; diff --git a/Source/AlphaTab/Model/Note.cs b/Source/AlphaTab/Model/Note.cs index e648abb1b..fcb4edb47 100644 --- a/Source/AlphaTab/Model/Note.cs +++ b/Source/AlphaTab/Model/Note.cs @@ -310,7 +310,7 @@ public class Note /// /// Gets or sets the dynamics for this note. /// - public DynamicValue Dynamic { get; set; } + public DynamicValue Dynamics { get; set; } internal bool IsEffectSlurOrigin { get; set; } internal bool HasEffectSlur { get; set; } @@ -632,7 +632,7 @@ public Note() BendType = BendType.None; BendStyle = BendStyle.Default; BendPoints = new FastList(); - Dynamic = DynamicValue.F; + Dynamics = DynamicValue.F; Accentuated = AccentuationType.None; Fret = int.MinValue; @@ -683,7 +683,7 @@ internal static void CopyTo(Note src, Note dst) dst.TrillSpeed = src.TrillSpeed; dst.DurationPercent = src.DurationPercent; dst.AccidentalMode = src.AccidentalMode; - dst.Dynamic = src.Dynamic; + dst.Dynamics = src.Dynamics; dst.Octave = src.Octave; dst.Tone = src.Tone; dst.Element = src.Element; diff --git a/Source/AlphaTab/Rendering/Effects/DynamicsEffectInfo.cs b/Source/AlphaTab/Rendering/Effects/DynamicsEffectInfo.cs index 9031a9196..2cfb2a701 100644 --- a/Source/AlphaTab/Rendering/Effects/DynamicsEffectInfo.cs +++ b/Source/AlphaTab/Rendering/Effects/DynamicsEffectInfo.cs @@ -23,7 +23,7 @@ private bool InternalShouldCreateGlyph(Beat beat) } var show = beat.Voice.Index == 0 && beat.Index == 0 && beat.Voice.Bar.Index == 0 || - beat.PreviousBeat != null && beat.Dynamic != beat.PreviousBeat.Dynamic; + beat.PreviousBeat != null && beat.Dynamics != beat.PreviousBeat.Dynamics; // ensure we do not show duplicate dynamics if (show && beat.Voice.Index > 0) @@ -33,7 +33,7 @@ private bool InternalShouldCreateGlyph(Beat beat) if (voice.Index < beat.Voice.Index) { var beatAtSamePos = voice.GetBeatAtDisplayStart(beat.DisplayStart); - if (beatAtSamePos != null && beat.Dynamic == beatAtSamePos.Dynamic && + if (beatAtSamePos != null && beat.Dynamics == beatAtSamePos.Dynamics && InternalShouldCreateGlyph(beatAtSamePos)) { show = false; @@ -47,7 +47,7 @@ private bool InternalShouldCreateGlyph(Beat beat) public EffectGlyph CreateNewGlyph(BarRendererBase renderer, Beat beat) { - return new DynamicsGlyph(0, 0, beat.Dynamic); + return new DynamicsGlyph(0, 0, beat.Dynamics); } public bool CanExpand(Beat from, Beat to) From 8c3cb5461bd5edf4c02e27f8ebf9a79cc79cbffc Mon Sep 17 00:00:00 2001 From: Danielku15 Date: Tue, 27 Aug 2019 18:04:56 +0200 Subject: [PATCH 3/7] Added ES5 property generation to compiler --- Phase/Compiler/Phase.Translator.dll | Bin 201728 -> 201728 bytes Phase/Compiler/Phase.Translator.pdb | Bin 667136 -> 667136 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/Phase/Compiler/Phase.Translator.dll b/Phase/Compiler/Phase.Translator.dll index 7cfbec80e8a3926b0e658979e6e4f364bc80f69a..5539b63f5c41c0c158f9d74f5bfbee35a971c368 100644 GIT binary patch delta 76263 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 delta 75474 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¨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 delta 97995 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 Ag#Z8m From 9615cb92ffba9bd22eef17228cd2f1a7024b82b4 Mon Sep 17 00:00:00 2001 From: Danielku15 Date: Tue, 27 Aug 2019 19:04:20 +0200 Subject: [PATCH 4/7] Fixed some serialization issues on dynamics --- Phase/Compiler/Phase.Translator.dll | Bin 201728 -> 201728 bytes Phase/Compiler/Phase.Translator.pdb | Bin 667136 -> 667136 bytes .../Platform/JavaScript/AlphaTabApi.cs | 2 +- .../Rendering/Utils/BoundsLookup.cs | 41 ++++++++++-------- .../AlphaTab.JavaScript/UI/BrowserUiFacade.cs | 5 +-- .../AlphaTab/Rendering/Layout/ScoreLayout.cs | 6 +-- 6 files changed, 30 insertions(+), 24 deletions(-) diff --git a/Phase/Compiler/Phase.Translator.dll b/Phase/Compiler/Phase.Translator.dll index 5539b63f5c41c0c158f9d74f5bfbee35a971c368..c429828fc3ecaccff12c3da08f30e25f55f345ad 100644 GIT binary patch delta 18537 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 W&eK!+OJaU$bw0k*e`#gB`hNiSPz`GU delta 18430 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 diff --git a/Phase/Compiler/Phase.Translator.pdb b/Phase/Compiler/Phase.Translator.pdb index 81e6d0cb3dde72d3f306ea5067119f72e4b96784..afeab1b80e3d105e6877bc870709dca6ed7bc0f2 100644 GIT binary patch delta 11279 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 diff --git a/Source/AlphaTab.JavaScript/Platform/JavaScript/AlphaTabApi.cs b/Source/AlphaTab.JavaScript/Platform/JavaScript/AlphaTabApi.cs index ea5ff8c8b..114ed245f 100644 --- a/Source/AlphaTab.JavaScript/Platform/JavaScript/AlphaTabApi.cs +++ b/Source/AlphaTab.JavaScript/Platform/JavaScript/AlphaTabApi.cs @@ -33,7 +33,7 @@ public override PlayerState PlayerState public override void Tex(string tex, int[] tracks = null) { var browser = (BrowserUiFacade)UiFacade; - Tex(tex, browser.ParseTracks(tracks)); + base.Tex(tex, browser.ParseTracks(tracks)); } public void Print(string width) diff --git a/Source/AlphaTab.JavaScript/Rendering/Utils/BoundsLookup.cs b/Source/AlphaTab.JavaScript/Rendering/Utils/BoundsLookup.cs index 641b0610e..afd55f27e 100644 --- a/Source/AlphaTab.JavaScript/Rendering/Utils/BoundsLookup.cs +++ b/Source/AlphaTab.JavaScript/Rendering/Utils/BoundsLookup.cs @@ -1,4 +1,5 @@ using AlphaTab.Collections; +using AlphaTab.Haxe.Js.Html; using AlphaTab.Model; using AlphaTab.Platform; @@ -39,15 +40,17 @@ public object ToJson() foreach (var beat in bar.Beats) { - var bb = Platform.Platform.NewObject(); + BeatBounds bb = Platform.Platform.NewObject(); bb.VisualBounds = BoundsToJson(beat.VisualBounds); bb.RealBounds = BoundsToJson(beat.RealBounds); - bb.BeatIndex = beat.Beat.Index; - bb.VoiceIndex = beat.Beat.Voice.Index; - bb.BarIndex = beat.Beat.Voice.Bar.Index; - bb.StaffIndex = beat.Beat.Voice.Bar.Staff.Index; - bb.TrackIndex = beat.Beat.Voice.Bar.Staff.Track.Index; + + dynamic bbd = bb; + bbd.BeatIndex = beat.Beat.Index; + bbd.VoiceIndex = beat.Beat.Voice.Index; + bbd.BarIndex = beat.Beat.Voice.Bar.Index; + bbd.StaffIndex = beat.Beat.Voice.Bar.Staff.Index; + bbd.TrackIndex = beat.Beat.Voice.Bar.Staff.Track.Index; if (beat.Notes != null) { @@ -55,8 +58,9 @@ public object ToJson() foreach (var note in beat.Notes) { - var n = Platform.Platform.NewObject(); - n.Index = note.Note.Index; + NoteBounds n = Platform.Platform.NewObject(); + dynamic nd = n; + nd.Index = note.Note.Index; n.NoteHeadBounds = BoundsToJson(note.NoteHeadBounds); notes.Add(n); } @@ -80,8 +84,7 @@ public object ToJson() public static BoundsLookup FromJson(object json, Score score) { var lookup = new BoundsLookup(); - - var staveGroups = json.Member>("StaveGroups"); + var staveGroups = json.Member>("staveGroups"); foreach (var staveGroup in staveGroups) { var sg = new StaveGroupBounds(); @@ -111,12 +114,14 @@ public static BoundsLookup FromJson(object json, Score score) var bb = new BeatBounds(); bb.VisualBounds = beat.VisualBounds; bb.RealBounds = beat.RealBounds; + + dynamic bd = beat; bb.Beat = score - .Tracks[beat.Member("TrackIndex")] - .Staves[beat.Member("StaffIndex")] - .Bars[beat.Member("BarIndex")] - .Voices[beat.Member("VoiceIndex")] - .Beats[beat.Member("BeatIndex")]; + .Tracks[bd.TrackIndex] + .Staves[bd.StaffIndex] + .Bars[bd.BarIndex] + .Voices[bd.VoiceIndex] + .Beats[bd.BeatIndex]; if (beat.Notes != null) { @@ -124,7 +129,9 @@ public static BoundsLookup FromJson(object json, Score score) foreach (var note in beat.Notes) { var n = new NoteBounds(); - n.Note = bb.Beat.Notes[note.Member("Index")]; + dynamic nd = note; + n.Note = bb.Beat.Notes[nd.Index]; + n.NoteHeadBounds = note.NoteHeadBounds; bb.AddNote(n); } @@ -141,7 +148,7 @@ public static BoundsLookup FromJson(object json, Score score) private Bounds BoundsToJson(Bounds bounds) { - var json = Platform.Platform.NewObject(); + Bounds json = Platform.Platform.NewObject(); json.X = bounds.X; json.Y = bounds.Y; json.W = bounds.W; diff --git a/Source/AlphaTab.JavaScript/UI/BrowserUiFacade.cs b/Source/AlphaTab.JavaScript/UI/BrowserUiFacade.cs index dc58156d6..d5b6ab53f 100644 --- a/Source/AlphaTab.JavaScript/UI/BrowserUiFacade.cs +++ b/Source/AlphaTab.JavaScript/UI/BrowserUiFacade.cs @@ -95,11 +95,9 @@ public void Initialize(AlphaTabApi api, object raw) { _api = api; - dynamic options = raw; var dataAttributes = GetDataAttributes(); - var settings = Settings.FromJson(options, dataAttributes); + var settings = Settings.FromJson(raw, dataAttributes); api.Settings = settings; - if (settings.Engine == "default" || settings.Engine == "svg") { api.Container.Scroll += ShowSvgsInViewPort; @@ -110,6 +108,7 @@ public void Initialize(AlphaTabApi api, object raw) // get track data to parse object tracksData; + dynamic options = raw; if (options != null && options.tracks) { tracksData = options.tracks; diff --git a/Source/AlphaTab/Rendering/Layout/ScoreLayout.cs b/Source/AlphaTab/Rendering/Layout/ScoreLayout.cs index a04dc95f6..e18ae30d8 100644 --- a/Source/AlphaTab/Rendering/Layout/ScoreLayout.cs +++ b/Source/AlphaTab/Rendering/Layout/ScoreLayout.cs @@ -10,7 +10,7 @@ namespace AlphaTab.Rendering.Layout { /// - /// This is the base public class for creating new layouting engines for the score renderer. + /// This is the base public class for creating new layouting engines for the score renderer. /// internal abstract class ScoreLayout { @@ -213,7 +213,7 @@ protected StaveGroup CreateEmptyStaveGroup() { var staff = track.Staves[staffIndex]; - // use optimal profile for track + // use optimal profile for track string staveProfile; if (staff.IsPercussion) { @@ -291,7 +291,7 @@ public T GetRendererForBar(string key, Bar bar) public void RenderAnnotation() { // attention, you are not allowed to remove change this notice within any version of this library without permission! - var msg = "Rendered using alphaTab (https://www.alphaTab.net)"; + var msg = "rendered by alphaTab (https://alphaTab.net)"; var canvas = Renderer.Canvas; var resources = Renderer.Settings.RenderingResources; From 7448f9b0e97575c1a44143461d9de5ff04a2ce7d Mon Sep 17 00:00:00 2001 From: Danielku15 Date: Tue, 27 Aug 2019 19:04:33 +0200 Subject: [PATCH 5/7] Updated documentation pages --- .../input/examples/general/tracks.cshtml | 2 +- Documentation/input/features/layouts.cshtml | 2 +- .../input/reference/api/islooping.cshtml | 4 ++-- .../reference/api/isreadyforplayback.cshtml | 4 ++-- .../input/reference/api/mastervolume.cshtml | 4 ++-- .../input/reference/api/metronomevolume.cshtml | 4 ++-- .../input/reference/api/playbackrange.cshtml | 4 ++-- .../input/reference/api/playbackspeed.cshtml | 4 ++-- .../input/reference/api/playerfinished.cshtml | 16 ++++++++-------- .../input/reference/api/playerstate.cshtml | 4 ++-- .../input/reference/api/tickposition.cshtml | 4 ++-- .../input/reference/api/timeposition.cshtml | 4 ++-- .../input/reference/events/error.cshtml | 4 ++-- .../input/reference/events/loaded.cshtml | 4 ++-- .../input/reference/events/midiloaded.cshtml | 4 ++-- .../events/playerpositionchanged.cshtml | 4 ++-- .../reference/events/playerstatechanged.cshtml | 4 ++-- .../reference/events/postrenderfinished.cshtml | 4 ++-- .../reference/events/readyforplayback.cshtml | 4 ++-- .../reference/events/renderfinished.cshtml | 4 ++-- .../input/reference/events/resize.cshtml | 4 ++-- .../reference/events/soundfontloaded.cshtml | 4 ++-- TestData/Docs/TwoTracks.gp | Bin 0 -> 9133 bytes TestData/Docs/player/player.html | 12 ++++++------ 24 files changed, 54 insertions(+), 54 deletions(-) create mode 100644 TestData/Docs/TwoTracks.gp diff --git a/Documentation/input/examples/general/tracks.cshtml b/Documentation/input/examples/general/tracks.cshtml index aebeb3c8f..57a142ebe 100644 --- a/Documentation/input/examples/general/tracks.cshtml +++ b/Documentation/input/examples/general/tracks.cshtml @@ -38,7 +38,7 @@ Order: 1
-
+