robotlegs / robotlegs-framework

An ActionScript 3 application framework for Flash and Flex
https://robotlegs.tenderapp.com/
MIT License
966 stars 261 forks source link

"Type Coercion failed" Error in FlashBuilder 4.7 #97

Closed michahell closed 11 years ago

michahell commented 11 years ago

The new compiler that is included with FlashBuilder 4.7 has a problem with those ||= assignments and throws Runtime exeptions "Type Coercion failed".

I haven't provided a lot of info here i realize. i googled and found this issue for the starling plugin : https://github.com/s9tpepper/robotlegs-starling-plugin/pull/8. i copied the title, as it is exactly the same issue. Also, when you use Flash Builder 4.7 beta, and 'upgrade' your project, it seems impossible to go back to flash builder 4.6, so i tried to fix this the way Svelix did in the above mentioned issue, however, my project seems to freeze and i'm still trying to figure out why. I also use AS3 navigator which makes it more complicated.

Stray commented 11 years ago

Ouch. Thanks Michael, we'll dig in to that.

On 9 Oct 2012, at 14:11, Michael Trouw notifications@github.com wrote:

The new compiler that is included with FlashBuilder 4.7 has a problem with those ||= assignments and throws Runtime exeptions "Type Coercion failed".

— Reply to this email directly or view it on GitHub.

fljot commented 11 years ago

@Stray I was posting same issue at least month ago with a link to http://forum.starling-framework.org/topic/gestouch-%e2%80%94-multitouch-gestures-for-starling-and-classic-displaylist/page/2#post-11707 but it was deleted for some reason... ?

Stray commented 11 years ago

This is a bug in the compiler - we're hoping it'll be fixed along with some other similar nits.

makc commented 11 years ago

this may very well be not compiler bug but compiler breaking change. if all it takes to fix is to write if () {}, then I don't see why don't you do it?

alecmce commented 11 years ago

Urm... I think you would be very welcome to fork, branch, and fix yourself makc, if that's all it takes...

darscan commented 11 years ago

If anyone knows of an open Adobe issue for the lazy assignment thing in ASC2, please let me know.

Stray commented 11 years ago

Myself and Alec have both looked, to no avail.

On 11 Nov 2012, at 22:43, Shaun Smith notifications@github.com wrote:

If anyone knows of an open Adobe issue for the lazy assignment thing in ASC2, please let me know.

— Reply to this email directly or view it on GitHub.

alecmce commented 11 years ago

Yup, and despite several efforts, I cannot get anyone at Adobe to confirm or deny whether this functionality will be included or excluded from the final release :(.

Stray commented 11 years ago

Though Till did find (and blog) that the way it is actually compiled is pretty inefficient, so I had imagined that we would eventually put long-hand inline checks in place to avoid that continuous reassignment.

On 11 Nov 2012, at 23:11, Alec McEachran notifications@github.com wrote:

Yup, and despite several efforts, I cannot get anyone at Adobe to confirm or deny whether this functionality will be included or excluded from the final release :(.

— Reply to this email directly or view it on GitHub.

darscan commented 11 years ago

Yeh, I just went through the whole codebase and replaced all occurrences with long-hand. I've stashed it in a separate branch though as it makes me well sad.

If ASC2 allows the old syntax, but keeps the old behaviour (re-assignment) then we'll have to switch anyway.

darscan commented 11 years ago

That's actually why I want to find the Issue - to suggest that they allow it and make it more useful.

makc commented 11 years ago

someone also said it could be fixed by explicitly casting both operands to same type (so you could keep || if you like)

darscan commented 11 years ago

Closing, as will be resolved through #111