The examples I see seem to use COMPILE blocks. I’m not sure how this translates to the app level. Is there a way to define a single method which overrides a SWF one and implements a new JS one (without using COMPILE blocks)? That seems to me like a pretty common use case for migrated apps.
> On Jun 1, 2017, at 2:18 AM, Alex Harui <aha...@adobe.com.INVALID> wrote: > > > > On 5/31/17, 2:38 PM, "Harbs" <harbs.li...@gmail.com > <mailto:harbs.li...@gmail.com>> wrote: > >> I just switched to dual and I’m getting lots of errors. These errors seem >> to be exactly what I was afraid of, and I’m not sure how to resolve >> without being restricted by naming of properties and methods. >> >> 1. I’m using a mask setter and getter for images it’s now giving override >> errors. >> 2. contains() is an incompatible override. >> 3. scaleX and scaleY >> 4. blendMode >> 5. rotation >> 6. filters >> 7. mouseEnabled >> etc…. >> >> I thought there was supposed to be something built into the compiler to >> hide the flash-specific APIs and allow reuse of them. > > Not just in the compiler, but in metadata. Search the source for > [SWFOverride]. I guess I don't understand why you want/need to change the > type of scaleX/Y, blendMode, etc. Wouldn't mouseEnabled always be a > boolean? > > SWFOverride is designed for properties like mask and methods like > contains() that are defined as a flash.display.DisplayObject by Flash and > we probably want to use UIBase instead. SWFOverride will work because > UIBase is a DisplayObject on Flash. I did not anticipate a requirement > that mouseEnabled would be something other than a boolean. What types are > you using for these other properties? Or maybe you just need COMPILE::JS > on mouseEnabled? > > HTH, > -Alex