SO create vector on class name

by pleclech forked from forked from: SO xml namespace attributes access (diff: 26)
♥0 | Line 39 | Modified 2012-10-15 17:25:17 | MIT License
play

ActionScript3 source code

/**
 * Copyright pleclech ( http://wonderfl.net/user/pleclech )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/pkjs
 */

package {
    import flash.utils.getDefinitionByName;
    import flash.utils.getQualifiedClassName;
    import flash.utils.describeType;
    import flash.utils.setTimeout;
    import com.bit101.components.TextArea;
    
    public class FlashTest extends TextArea {
        public function FlashTest() {
            width=400
            height=400
            setTimeout(doTest, 500)                        
        }
        public function createVector(cls:Class):*{
            var cn:String = getQualifiedClassName(cls);
            var o:Object = getDefinitionByName("__AS3__.vec::Vector.<"+cn+">");
            var array:Array = [];
            for(var i:int = 0; i < 10; i++){
                var element:* = new cls();
                array.push(element);
            }
            return o.prototype.constructor(array);
        }
        public function doTest():void {
            try {
                var vi:*=createVector(int);
                trace(vi);
                trace(describeType(vi));

                var vn:*=createVector(Number);
                trace(vn);
                trace(describeType(vn));
            } catch (e:*){
                trace(e);
            }

         }

        public function trace(...args):void {
            text=text+args.join(", ")+"\n"
        }
    }
}