If you’re only compiling for JS, using an “as” cast with ignoring coercions 
should work, although you’re actually lying about the type...

> On Oct 10, 2024, at 11:02 PM, Piotr Zarzycki <piotrzarzyck...@gmail.com> 
> wrote:
> 
> Sounds like casting to that fail. After running application I'm getting:
> 
> Uncaught TypeError: Error #1034: Type Coercion failed: cannot convert
> view.support.NewTicket to interfaces.ticket.IEmergencySupport
>    as
> https://localdev.prominic.net/prominic/bin/js-debug/org/apache/royale/utils/Language.js
> :113
>    MediatorNewTicket
> https://localdev.prominic.net/prominic/bin/js-debug/mediator/MediatorNewTicket.js
> :23
> 
> I will think how to manage that.
> 
> czw., 10 paź 2024 o 21:54 Piotr Zarzycki <piotrzarzyck...@gmail.com>
> napisał(a):
> 
>> Yep! This is what I did :)  Thank you. Let me test next apps in the next
>> few days and I will get back to you.
>> 
>> czw., 10 paź 2024 o 21:53 Josh Tynjala <joshtynj...@bowlerhat.dev>
>> napisał(a):
>> 
>>> Yes, that is most likely the result of my compiler fix. You should simply
>>> need to add a cast, probably like this:
>>> 
>>> super(IEmergencySupport(component));
>>> 
>>> --
>>> Josh Tynjala
>>> Bowler Hat LLC <https://bowlerhat.dev>
>>> 
>>> 
>>> On Thu, Oct 10, 2024 at 12:44 PM Piotr Zarzycki <
>>> piotrzarzyck...@gmail.com>
>>> wrote:
>>> 
>>>> Got it! I just rebuild framework and build our app with your code. I'm
>>>> having only one build error which wasn't present previously. I'm
>>> wondering
>>>> if this is because of your changes:
>>>> 
>>>> MediatorNewTicket.as(14): col: 10 Error: Implicit coercion of a value
>>> with
>>>> static type interfaces.ticket.INormalSupport to a possibly unrelated
>>> type
>>>> interfaces.ticket.IEmergencySupport.
>>>> : super(component);
>>>> 
>>>> MediatorNewTicket extends MediatorEmergencySupport
>>>> 
>>>> IEmergencySupport extends INormalSupport
>>>> 
>>>> MediatorNewTicket(component:INormalSupport) - constructor
>>>> MediatorEmergencySupport(component:IEmergencySupport) - constructor
>>>> 
>>>> I think I know how to fix this. Is this results of your changes ?
>>>> 
>>>> Thanks,
>>>> Piotr
>>>> 
>>>> 
>>>> czw., 10 paź 2024 o 17:29 Josh Tynjala <joshtynj...@bowlerhat.dev>
>>>> napisał(a):
>>>> 
>>>>> Oh, and make sure that the pom.xml files in your app projects are
>>> using
>>>>> version 0.9.12 for the compiler too.
>>>>> 
>>>>> --
>>>>> Josh Tynjala
>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>> 
>>>>> 
>>>>> On Thu, Oct 10, 2024 at 8:15 AM Josh Tynjala <
>>> joshtynj...@bowlerhat.dev>
>>>>> wrote:
>>>>> 
>>>>>> Hey Piotr,
>>>>>> 
>>>>>> I just pushed one more commit to the fix/super-signature-checks
>>> branch
>>>> of
>>>>>> royale-asjs.
>>>>>> 
>>>>>> I noticed that the Maven build was not using my changes in
>>>>> royale-compiler
>>>>>> because we're midway through the process of updating the repos from
>>>>> 0.9.11
>>>>>> to 0.9.12. So you might not have actually tested my changes if you
>>> were
>>>>>> building with Maven, unless you had manually made this tweak to
>>> pom.xml
>>>>> too.
>>>>>> 
>>>>>> --
>>>>>> Josh Tynjala
>>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>>> 
>>>>>> 
>>>>>> On Thu, Oct 10, 2024 at 2:18 AM Piotr Zarzycki <
>>>>> piotrzarzyck...@gmail.com>
>>>>>> wrote:
>>>>>> 
>>>>>>> Hi Josh,
>>>>>>> 
>>>>>>> I have used your branches to build locally Royale. I have checked
>>> our
>>>>> main
>>>>>>> application Jewel based with your changes and everything seems to
>>> be
>>>>> fine.
>>>>>>> Application is working like a charm debug and release version. No
>>>> errors
>>>>>>> in
>>>>>>> DOM elements on the console etc.
>>>>>>> 
>>>>>>> I will check soon another app to confirm, but currently it looks
>>>> really
>>>>>>> good.
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> Piotr
>>>>>>> 
>>>>>>> śr., 9 paź 2024 o 22:54 Josh Tynjala <joshtynj...@bowlerhat.dev>
>>>>>>> napisał(a):
>>>>>>> 
>>>>>>>> I too tend to be extra wary to make changes close to a release.
>>>>>>> Sometimes,
>>>>>>>> even seemingly minor bug fixes can introduce unexpected side
>>>> effects!
>>>>>>>> 
>>>>>>>> I totally don't mind waiting to merge this stuff.
>>>>>>>> 
>>>>>>>> --
>>>>>>>> Josh Tynjala
>>>>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Wed, Oct 9, 2024 at 11:20 AM Andrew Wetmore <
>>> cottag...@gmail.com
>>>>> 
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> I am always scared of putting a major, necessary fix that might
>>>> have
>>>>>>>>> downstream impact into a release that is about to go out the
>>>> door. I
>>>>>>>> would
>>>>>>>>> vote for making this part, perhaps the major part, of the next
>>>>>>> release,
>>>>>>>> and
>>>>>>>>> using the time between this one and that one to find and fix as
>>>> much
>>>>>>> as
>>>>>>>> we
>>>>>>>>> can in our own code...and maybe prepare some examples with
>>> fixes
>>>> to
>>>>>>> help
>>>>>>>>> Royale users.
>>>>>>>>> 
>>>>>>>>> On Wed, Oct 9, 2024 at 2:11 PM Josh Tynjala <
>>>>>>> joshtynj...@bowlerhat.dev>
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> Hey all,
>>>>>>>>>> 
>>>>>>>>>> A user of vscode-as3mxml pointed out to me recently that the
>>>>>>> arguments
>>>>>>>>>> passed to super() and super.method() calls are not currently
>>>>> checked
>>>>>>>> for
>>>>>>>>>> errors by our compiler. That includes checking the types of
>>> the
>>>>>>>>> arguments,
>>>>>>>>>> and even whether the number of arguments is actually correct!
>>>>>>> However,
>>>>>>>>>> regular function calls without super are correctly type
>>> checked,
>>>>> so
>>>>>>> it
>>>>>>>> is
>>>>>>>>>> only in cases of inheritance where super is used.
>>>>>>>>>> 
>>>>>>>>>> I have royale-compiler fixes ready to go.
>>>>>>>>>> 
>>>>>>>>>> This bug has been in the compiler since the code was donated
>>> by
>>>>>>> Adobe.
>>>>>>>> So
>>>>>>>>>> it's definitely not even remotely new, and it doesn't
>>>> necessarily
>>>>>>> need
>>>>>>>> to
>>>>>>>>>> delay the current release in progress.
>>>>>>>>>> 
>>>>>>>>>> However, it may impact a lot of existing code once the
>>> compiler
>>>>> can
>>>>>>>> start
>>>>>>>>>> detecting the wrong types. Several of our framework
>>> libraries in
>>>>>>>>>> royale-asjs are affected. It's likely that user projects,
>>>>> especially
>>>>>>>> ones
>>>>>>>>>> with a lot of inheritance, will be affected too.
>>>>>>>>>> 
>>>>>>>>>> In some cases, it just requires an extra cast. However, in a
>>> few
>>>>>>> cases
>>>>>>>>> that
>>>>>>>>>> I've seen so far, it is actually showing that there are bugs
>>> in
>>>>> our
>>>>>>>> code.
>>>>>>>>>> I'm working through the necessary fixes in royale-asjs now.
>>>>>>>>>> 
>>>>>>>>>> I just wanted to give a heads up about this, as it may have
>>> some
>>>>>>> impact
>>>>>>>>> on
>>>>>>>>>> everyone's projects.
>>>>>>>>>> 
>>>>>>>>>> Any thoughts on pushing this into the 0.9.12? Or would you
>>>> rather
>>>>>>> wait
>>>>>>>>> for
>>>>>>>>>> the next one?
>>>>>>>>>> 
>>>>>>>>>> --
>>>>>>>>>> Josh Tynjala
>>>>>>>>>> Bowler Hat LLC <https://bowlerhat.dev>
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> Andrew Wetmore
>>>>>>>>> 
>>>>>>>>> Editor, Moose House Publications <https://moosehousepress.com/
>>>> 
>>>>>>>>> Editor-Writer, The Apache Software Foundation <
>>>> https://apache.org/>
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> 
>>>>>>> Piotr Zarzycki
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> --
>>>> 
>>>> Piotr Zarzycki
>>>> 
>>> 
>> 
>> 
>> --
>> 
>> Piotr Zarzycki
>> 
> 
> 
> -- 
> 
> Piotr Zarzycki

Reply via email to