I don't recommend attempting a fix until we have a good set of parser unit 
tests for properties of various types. Otherwise, you might introduce a 
regression in another area related to properties and their values.

- Gordon

-----Original Message-----
From: Gordon Smith 
Sent: Wednesday, November 14, 2012 11:44 AM
To: flex-dev@incubator.apache.org
Subject: RE: [jira] [Commented] (FLEX-33238) Falcon Compile Error when using id 
attribute with ConstraintRow, ConstraintColumn, AddChild, GradientGlowFilter or 
GlowFilter

I looked into the "This id is not unique" error on <ConstraintRow> and 
<ConstraintColumn> last Friday but didn't come up with a fix. The bug is in how 
"implicit arrays" are handled. Background:

<Instance>
    <arrayProperty>
        <Instance/>
        <Instance/>
    </arrayProeprty>
</Instance>

it's really shorthand for

<Instance>
    <arrayProperty>
        <Array>
            <Instance/>
            <Instance/>
        <Array>
    </arrayProperty>
</Instance>

and this even applies when arrayProperty is the default property, so that

<Instance>
        <Instance/>
        <Instance/>
</Instance>

is shorthand for

<Instance>
    <arrayProperty>
        <Array>
            <Instance/>
            <Instance/>
        <Array>
    </arrayProperty>
</Instance>

When I create more parser unit test to deal with the various permutations of 
MXMLPropertyNode for various property types, including properties of type 
array, I will work on fixing this.

Basically, the problem is that the <Instance/> tags representing the array 
elements are getting processed twice and the second time the id is already in 
the map.

- Gordon

-----Original Message-----
From: Michael Schmalle (JIRA) [mailto:j...@apache.org] 
Sent: Wednesday, November 14, 2012 11:18 AM
To: flex-dev@incubator.apache.org
Subject: [jira] [Commented] (FLEX-33238) Falcon Compile Error when using id 
attribute with ConstraintRow, ConstraintColumn, AddChild, GradientGlowFilter or 
GlowFilter


    [ 
https://issues.apache.org/jira/browse/FLEX-33238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13497361#comment-13497361
 ] 

Michael Schmalle commented on FLEX-33238:
-----------------------------------------

Ok I figured out what is causing this, the AddChild node gets has two 
MXMLInstanceNode with different memory locations. So the next step is to figure 
out why there are two instance nodes.

BTW the check addNodeWithID() comes back with the previously created 
MXMLInstanceNode.

                
> Falcon Compile Error when using id attribute with ConstraintRow, 
> ConstraintColumn, AddChild, GradientGlowFilter or GlowFilter
> ----------------------------------------------------------------------
> -------------------------------------------------------
>
>                 Key: FLEX-33238
>                 URL: https://issues.apache.org/jira/browse/FLEX-33238
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: MXML Compiler
>    Affects Versions: Apache Flex Next
>            Reporter: Cyrill Zadra
>              Labels: Falcon
>             Fix For: Apache Flex 4.9.0
>
>         Attachments: AddChildRowIdTest.mxml, ConstraintRowIdTest.mxml
>
>
> Using the id attribute in <mx:ConstraintRow /> or <mx:ConstraintColumn> 
> throws the error:
> C:\dev\ie8-git\flexclient\FalconTest\src\FalconTest.mxml:11
> Error: This id is not unique. It will be ignored.
>                         <mx:ConstraintColumn id="col2" />
>                                              ^
> C:\dev\ie8-git\flexclient\FalconTest\src\FalconTest.mxml:14
> Error: This id is not unique. It will be ignored.
>                         <mx:ConstraintRow id="row2"  /> Using the id 
> attribute in <mx:AddChild /> throws the error:
> Error: This id is not unique. It will be ignored.
>                           <mx:AddChild id="addChild0">
> Using the id attribute in <s:GradientGlowFilter/> throws the error:
>      [java] Error: This id is not unique. It will be ignored.
>      [java]             <s:GradientGlowFilter id="glow1" >
> Using the id attribute in <s:GlowFilter/> throws the error:
>      [java] Error: This id is not unique. It will be ignored.
>      [java]             <s:GradientGlowFilter id="glow1" >

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators 
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to