How many of you use the "as" keyword as part of a test? IOW things like:
var foo:SomeType = someVar as SomeType; if (foo == null) IMO, I have yet to use "as" in this way in the FlexJS framework. I just use it to make the compiler happy. IOW things like: var foo:SomeType = someVar as SomeType; foo.someProp If foo really isn't of SomeType, I am going to get an NPE, but I know it will never be null, I am just casting/coercing so the compiler will check that someProp really exists on SomeType. The reason I'm asking is because the use of "as" as become a negative factor in several cases: 1) In JS, it results in a function call 2) As Om noted yesterday, it doesn't work for Native JS types 3) It causes unnecessary class dependencies which complicates the goog.requires list Currently there is an @flexjsignorecoercion hack you can use to tell FalconJX to skip code-generation for an "as" operation. However, we are adding more and more of these, and they are more frequently the cause of something not working, so I am thinking about flipping the logic and not generating code for any "as" operation unless you specifically ask for it via @flexjsgeneratecoercion or something like that. Thoughts? -Alex