On 10/3/16, 10:51 AM, "Greg Dove" <greg.d...@gmail.com> wrote:
>That sounds great Alex. Good sleuthing. As keep as3 metadata provides for >specific metadata don't you think this could be default for the class >members with specific kept metadata? Given that the only reason for >keeping >it would be for reflection, I mean? I will be happy with the option here >no >matter how it is implemented though. Thanks! Not sure I understood what you meant. The default set of keep-as3-metadata includes things like [Bindable] and I think we want to allow unused [Bindable] properties to be removed by default. I think the set of keep-code-with-metadata we ship could be empty or include some FlexUnit metadata. In trying to implement this, there is an interesting issue. If we process keep-code-with-metadata in COMPJSC when cross-compiling a library, then you might end up with exportProperty calls in the .JS files and later when you use that library in building an app, we have to decide whether the keep-code-with-metadata assigned to the MXMLJSC run should also apply to the JS files it is linking to. If "yes", then we need to keep around data about why an exportProperty is in a JS file from COMPJSC so we can prune stuff out. Or we have MXMLJSC, but not COMPJSC, scan all .JS files, even from the SWCs, as the app is being prepared to be shoveled into GCC. That would also require keeping some easy-to-understand data in each .JS file so we don't have to parse the ReflectionData. If we say "no", the keep-code-with-metadata only gets processed at transpile-time, then the implementation is simpler. I'm going to try the "no' approach first. -Alex