diff --git a/build.xml b/build.xml index ee9d17f0a..cfbac6004 100644 --- a/build.xml +++ b/build.xml @@ -91,12 +91,6 @@ - - - - - - @@ -110,46 +104,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/player/com/threerings/util/env/Environment.as b/src/player/com/threerings/util/env/Environment.as deleted file mode 100644 index bc9ac22fe..000000000 --- a/src/player/com/threerings/util/env/Environment.as +++ /dev/null @@ -1,98 +0,0 @@ -// -// $Id$ -// -// Narya library - tools for developing networked games -// Copyright (C) 2002-2009 Three Rings Design, Inc., All Rights Reserved -// http://www.threerings.net/code/narya/ -// -// This library is free software; you can redistribute it and/or modify it -// under the terms of the GNU Lesser General Public License as published -// by the Free Software Foundation; either version 2.1 of the License, or -// (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -package com.threerings.util.env { - -import flash.utils.describeType; -import flash.utils.getDefinitionByName; - -/** - * Flash Player specific implementation of Environment. - */ -public class Environment -{ - /** - * Return an array containing all the public field names of the object - */ - public static function enumerateFields (obj :Object) :Array - { - var result :Array = [ ]; - for each (var bit :String in describeType(obj)..variable.@name) { - result.push(bit); - } - return result; - } - - /** - * Returns true if an object of type srcClass is a subclass of or - * implements the interface represented by the asClass paramter. - * - * - * if (ClassUtil.isAssignableAs(Streamable, someClass)) { - * var s :Streamable = (new someClass() as Streamable); - * - */ - public static function isAssignableAs ( - asClass :Class, srcClass :Class) :Boolean - { - if (asClass == srcClass) { - return true; - - // if not the same class and srcClass is Object, we're done - } else if (srcClass == Object) { - return false; - } - - // ok, let's introspect on the class and see what we've got. - var typeInfo :XMLList = describeType(srcClass).child("factory"); - - // See which classes we extend. - var exts :XMLList = typeInfo.child("extendsClass").attribute("type"); - var type :String; - for each (type in exts) { - if (asClass == getClassByName(type)) { - return true; - } - } - - // See which interfaces we implement. - var imps :XMLList = typeInfo.child("implementsInterface") - .attribute("type"); - for each (type in imps) { - if (asClass == getClassByName(type)) { - return true; - } - } - - return false; - } - - private static function getClassByName (cname :String) :Class - { - try { - return (getDefinitionByName(cname.replace("::", ".")) as Class); - - } catch (error :ReferenceError) { } - return null; - } -} -} - diff --git a/src/thane/com/threerings/util/env/Environment.as b/src/thane/com/threerings/util/env/Environment.as deleted file mode 100644 index fdbe7d52a..000000000 --- a/src/thane/com/threerings/util/env/Environment.as +++ /dev/null @@ -1,61 +0,0 @@ -// -// $Id$ -// -// Narya library - tools for developing networked games -// Copyright (C) 2002-2009 Three Rings Design, Inc., All Rights Reserved -// http://www.threerings.net/code/narya/ -// -// This library is free software; you can redistribute it and/or modify it -// under the terms of the GNU Lesser General Public License as published -// by the Free Software Foundation; either version 2.1 of the License, or -// (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -package com.threerings.util.env { - -import flash.utils.getQualifiedClassName; -import flash.utils.getDefinitionByName; -import avmplus.*; - -/** - * Tamarin specific implementation of Environment. - */ -public class Environment -{ - /** - * Return an array containing all the public field names of the object - */ - public static function enumerateFields (obj :Object) :Array - { - if (obj != null) { - return Domain.currentDomain.getVariables(obj); - } - return new Array(); - } - - /** - * Returns true if an object of type srcClass is a subclass of or - * implements the interface represented by the asClass paramter. - * - * - * if (ClassUtil.isAssignableAs(Streamable, someClass)) { - * var s :Streamable = (new someClass() as Streamable); - * - */ - public static function isAssignableAs (asClass :Class, srcClass :Class) :Boolean - { - if (asClass != null && srcClass != null) { - return Domain.currentDomain.isAssignableAs(asClass, srcClass); - } - return false; - } -} -}