home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
404 Jogos
/
CLJG.iso
/
Esportes
/
CrossingCup.swf
/
scripts
/
__Packages
/
com
/
bourre
/
utils
/
ClassUtils.as
Wrap
Text File
|
2007-12-11
|
2KB
|
70 lines
class com.bourre.utils.ClassUtils
{
function ClassUtils()
{
}
static function getClassName(o)
{
var _loc1_ = com.bourre.utils.ClassUtils.getFullyQualifiedClassName(o);
return _loc1_.substr(_loc1_.lastIndexOf(".") + 1);
}
static function inheritsFromClass(o, clazz)
{
var _loc1_ = typeof o != "function" ? o.__proto__ : Function(o).prototype;
while(_loc1_ = _loc1_.__proto__)
{
if(clazz.prototype === _loc1_)
{
return true;
}
}
return false;
}
static function implementsInterface(o, interfaze)
{
if(com.bourre.utils.ClassUtils.inheritsFromClass(o,interfaze))
{
return false;
}
return o instanceof interfaze;
}
static function getFullyQualifiedClassName(o)
{
o = typeof o != "function" ? o.__proto__ : Function(o).prototype;
return !com.bourre.utils.ClassUtils._containsKey(o) ? com.bourre.utils.ClassUtils._buildPath("",_global,o) : com.bourre.utils.ClassUtils._getFullyQualifiedClassName(o);
}
static function _buildPath(s, pack, o)
{
for(var _loc5_ in pack)
{
var _loc1_ = pack[_loc5_];
if(_loc1_.__constructor__ === Object)
{
_loc5_ = com.bourre.utils.ClassUtils._buildPath(s + _loc5_ + ".",_loc1_,o);
if(_loc5_)
{
return _loc5_;
}
}
else if(_loc1_.prototype === o)
{
com.bourre.utils.ClassUtils._setFullyQualifiedClassName(o,s + _loc5_);
return s + _loc5_;
}
}
}
static function _containsKey(o)
{
return Boolean(o.__fullyQualifiedClassName.length > 0);
}
static function _getFullyQualifiedClassName(o)
{
return o.__fullyQualifiedClassName;
}
static function _setFullyQualifiedClassName(o, s)
{
o.__fullyQualifiedClassName = s;
_global.ASSetPropFlags(o,["__fullyQualifiedClassName"],7,1);
}
}