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