is class1 extending a class2 ?
♥0 |
Line 37 |
Modified 2011-02-21 06:12:41 |
MIT License
archived:2017-03-10 04:03:31
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/h90R
*/
package {
import flash.utils.getQualifiedSuperclassName;
import flash.utils.getQualifiedClassName;
import flash.text.TextField;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.utils.describeType;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
// write as3 code here..
if (stage) _init()
else addEventListener(Event.ADDED_TO_STAGE, _init)
}
private var tf:TextField=new TextField()
private function trace(...args):void{
tf.appendText(args.join(", ")+"\n")
}
private function _init(e:Event=null):void {
removeEventListener(Event.ADDED_TO_STAGE, _init)
addChild(tf)
tf.autoSize="left"
tf.background=true
test()
}
private function isABaseOf(class1:Class, class2:Class):Boolean{
var xl:XMLList=describeType(class2)..extendsClass
trace(class2 + "extends " + xl)
trace("")
var qn:String=getQualifiedClassName(class1)
return xl.(@type==qn).length()!=0
}
private function test():void{
var ibo:Boolean=isABaseOf(Event, MouseEvent)
trace("Event is a base class of MouseEvent ", ibo)
}
}
}