It's worth mentioning that IntelliJ IDEA doesn't respect [Exclude] metadata.
- Josh On Wed, Jul 27, 2016 at 10:42 AM, Alex Harui <aha...@adobe.com> wrote: > > > On 7/27/16, 1:14 AM, "Harbs" <harbs.li...@gmail.com> wrote: > > >I’m running into lots of issues with the fact that HTMLElementWrapper > >extends Sprite. The underlying problem is because all the native Flash > >properties and methods are being exposed to the compiler for all > >sub-classed objects. > > > >For my port this is causing two issues: > > > >1. It’s hard to find all the dependancies on Flash. Ideally, I’d like to > >base my components off FlexJS ones instead of Spark and native Flash ones > >and have the compiler find the pieces I’m missing. This is not working > >because a lot of pieces appear to the compiler as fine because Sprite is > >the base class. > > > >2. I’m getting lots of conflicts with property and method names. This is > >mostly happening with components which were based off of Spark, but I’m > >getting lots of compiler errors where pieces are not marked as overrides. > >They should not have to be marked as overrides because FlexJS does not > >implement them, but Flash does. > > > >The third issue is related to code completion help. The user should not > >get hints for Flash properties and methods because they will not work in > >HTML. > > > >It seems to me that HTMLElementWrapper needs to be changed to compose a > >Flash Sprite and proxy drawing and properties to that, but not actually > >expose it any more than the underlying HTML element is being exposed. It > >probably makes sense to have an element property on Flash as well which > >is a Sprite. > > > >Any clues on how much work this will be? > > Sounds like a significant change, but feel free to try it in a branch. It > might in fact be the right thing to do. I think there may be a lot of > assumptions about components parenting components and event flow through > the DOM that would need to be changed. > > Regarding code-hinting, it should be as simple as adding [Exclude] > metadata to block all the Flash things we don't want. > > -Alex > >