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;
}
}
}