Hi, congrats Greg for get this one complete! I shared this in twitter, Linkedin and facebook Royale social media accounts:
https://twitter.com/ApacheRoyale/status/1138438001971871744 @all: please share so we can spread the word! :) Best Carlos El mar., 11 jun. 2019 a las 8:24, Greg Dove (<[email protected]>) escribió: > Hi all, > > Just a quick summary of things merged in via recent commit. See below for > "How do I get things 'how they were' ?" if you want to switch off any of > the new stuff. > > More reliable actionscript support. > The new settings provide greater compatibility. But they can also be tuned > out (Hello world is a good example, and it is smaller now in gzipped format > for release build, than it was before) > -More things will 'just work' when porting from older actionscript libs. > Vector behaviour is virtually identical to swf, other types of implicit > type coercions are generated by default (but avoidable by config), and > certain uses of int, uint and Class are more reliable and avoid compiler or > runtime errors compared to before. > Reflection now has PAYG/opt-in support for including top level as3 types > (Array, Number, int, Vector etc). These roughly match the results you see > with reflection in swf (actually reflection info for these swf items quite > light). This is via a plugin style setup that is only included in release > build if you use it. See here: > > https://github.com/apache/royale-asjs/blob/c6379b85d8aa9d164d49b09402a23f30cb4aee3a/frameworks/projects/Reflection/src/main/royale/org/apache/royale/reflection/ExtraData.as#L127 > This same approach could be used with externs reflection data if it could > be generated in a similar format, e.g. to provide possible reflection pack > support for sets of javascript native classes. > I plan to use the same ExtraData class to add support for Vector to > AMFBinaryData, Vector is a low level type that has its own serialization > rules. In this way there will also be no hard dependency on vector support > in AMFBinaryData and it is therefore opt-in/PAYG via the ExtraData class. > > How do I get things 'how they were' ? > maven (via additionalCompilerOptions): > -js-complex-implicit-coercions=false; > -js-vector-index-checks=false; > -js-resolve-uncertain=false; > -js-vector-emulation-class=Array; > (note that you should also now be able to have these on separate lines in > the pom - I find this much easier to read) > > ant: > in compile-js-config.xml example > [js-complex-implicit-coercions]false[/js-complex-implicit-coercions] > [js-resolve-uncertain]false[/js-resolve-uncertain] > [js-vector-index-checks]false[/js-vector-index-checks] > [js-vector-emulation-class]Array[/js-vector-emulation-class] > (angle brackets are substituted here with square brackets above in case > they mess with some email clients) > > The first 3 options above have doc comment directives (@royalesuppress... ) > so they can be tuned off or on inside method definitions also. > > Fixes > Vector-as-Array emulation now supports insertAt/removeAt (same as Array) > vectorEmulationClass receives the fully qualified name as the string > parameter for the elementType > > > Other > -Added a lot of compiler tests for the vector emulation options and default > vector implementation > -RoyaleUnit: I ported a start of the manualtest unit tests to RoyaleUnit. > @josh... these are actually language tests, but I thought they could not > run in the Language project because it does not have all dependencies to > run the tests themselves, perhaps I am wrong about that? I put them in Core > for now, and they do run correctly in both swf and JS. But please tell me > what you prefer for these (maybe they do need to go in Language...). Also I > made some small changes in the js ant scripts for tests to correctly clean > the test folder. > -Added more reflection unit tests (manualtests) > -Started to collate unit tests for XML and updated code to fix some > observed issues (compiler and framework). > -Hello world is approx 600 bytes smaller after gzip compression than it was > before > > I might have forgotten some things, I will add extra info tomorrow if I > recall more. Please ask questions if you have them. > -- Carlos Rovira http://about.me/carlosrovira
