Thanks Darrell. Here are my answers to Alex's questions:
> Should a complex assignment statement like the above know about the > destination type as the clauses of the ternary statement are being reduced? No. > Is it safe to add a coerce_a before an assignment to a Dictionary? Yes. > If so, what would be the recommended way to determine the assignment is to a > Dictionary? The compile-time type of foo[bar], where foo has any type (not just Dictionary), is type *. So I think it is OK to codegen coerce_a before assignment to any foo[bar] expression. Darrell, do you agree or disagree? - Gordon -----Original Message----- From: Darrell Loverin [mailto:darrell.love...@gmail.com] Sent: Monday, September 30, 2013 3:41 PM To: dev@flex.apache.org Subject: Re: [FALCON] using coerce_a coerce_a Operation Coerce a value to the any type. Format coerce_a Forms Stack ..., value => ..., value Description Indicates to the verifier that the value on the stack is of the any type (*). Does nothing to value. On Mon, Sep 30, 2013 at 6:03 PM, Gordon Smith <gosm...@adobe.com> wrote: > Can you remind me what the "a" in coerce_a means? > > - Gordon > > -----Original Message----- > From: Alex Harui [mailto:aha...@adobe.com] > Sent: Monday, September 30, 2013 2:43 PM > To: dev@flex.apache.org > Subject: [FALCON] using coerce_a > > Gordon, Darrell (mostly) > > My latest problem appears to be in assigning to a Dictionary. For the > following code: > > var dict:Dictionary = new Dictionary(); Var i:int; Dict["foo"] = (i == > 0 ? new SomeClass() : new SomeOtherClass()); > > MXMLC generates a coerce_a after the constructProp for both SomeClass > and SomeOtherClass. > For some reason, FlashPlayer doesn't care if the coerce_a is missing, > but AIR seems to. > > The question is, should a complex assignment statement like the above > know about the destination type as the clauses of the ternary > statement are being reduced? And if so, how would we get that knowledge into > the reducer. > > Alternatively, is it safe to add a coerce_a before an assignment to a > Dictionary? If so, what would be the recommended way to determine the > assignment is to a Dictionary? > > Thanks, > -Alex > >