Hello, the compiler asks me to include the "ExtraReflectionDataBead" bead when 
analyzing a specific class. [1]
I've added it to my main application and the warning has disappeared, but it's 
not clear to me why it's asking me...

In the description of the Bead we can read:
The ExtraReflectionDataBead class the registers additional pseudo-types for 
javascript reflection support
These include: Array, Number, String, int, uint, Boolean and all Vector.<> type 
variants.

the ItemTreeNode class is no different from others I have. The only thing I can 
think of is that the "constructor" requires a parameter [2]
Could this be the cause?

Thx.
Hiedra

[1]
You may need to add ExtraData to support this application's reflection 
Requirements. Check Reflection Beads for 'ExtraReflectionDataBead'. This 
warning will not appear in release builds
ObjectUtil.as:1402
This warning was generated when trying to classify : (3) 
[org.apache.royale.externsjs.inspiretree.vos.ItemTreeNode, 
org.apache.royale.externsjs.inspiretree.vos.ItemTreeNode, 
org.apache.royale.externsjs.inspiretree.vos.ItemTreeNode]

[2]
package org.apache.royale.externsjs.inspiretree.vos
{
    /**
     * Value applies natively to InspireTreeDOM, and will require added support 
if you're using a custom DOM renderer.
     *
     * Some internal-use-only states are not listed.
     */
    public class ItemTreeNode
    {
        /**
         * text - Text used in display.
         */
        public var text:String = "";
        /**
         * id - Unique ID. If missing, one will be generated.
         */
        public var id:String = "";

        /**
         * children - An array of child nodes.
         */
        public var children:Array = new Array();
        public var itree:Object;

        public function ItemTreeNode( treeNode:Object = null){
            if(treeNode == null)
            {
                itree = getItreeDefault();
            }else{
                this.text = treeNode.text;
                this.id = treeNode.id;
                this.children = treeNode.children;
                this.itree = treeNode.itree;
            }
        }

        /**
         * Items states (in TreeNode.itree)
         *
         * We cannot create a separate 'ItemStatesTree' class because the 
'drop-target' attribute is not a valid property name in as3.
         *
         * @return Default object Item
         */
        private function getItreeDefault():Object
        {
            var res:Object = new Object;
            res.a = { attributes:{} };
            res.li = { attributes:{} };
            res.icon = null;

            var resstate:Object = {checked:false,
                            collapsed:true, draggable:true,  editable:false,  
focused:false, hidden:false, indeterminate:false, loading:false, matched:false, 
removed:false, rendered:true, selectable:true, selected:false};
            resstate['drop-target']=true;
            res.state = resstate;

            return res;
        }

        public function fillFromTreeNode(node:Object):ItemTreeNode
        {
            this.text = node.text;
            this.id = node.id;
            this.children = node.children;
            this.itree = node.itree;
            return this;
        }
    }

}

Reply via email to