OSDN Git Service

Version 0.6.207, Modification of variable scope leaks.
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 13_XClass.js
index 9f6b05a..a107366 100644 (file)
@@ -36,7 +36,7 @@ X_Class_CommonMethods =
         * 全ての動的メンバを削除して、インスタンスを破棄する。<br>\r
         * インスタンスが X.EventDispatcher とそのサブクラスの場合、次の動作をする。\r
         * <ol>\r
-        * <li>X.Event.BEFORE_KILL_INSTANCE を発火する。戻り値のビットフラグに X_Callback.PREVENT_DEFAULT が立つ場合、破棄をキャンセルし X.Event.KILL_INSTANCE_CANCELED を発火する。この間に kill() が呼ばれても無視される。\r
+        * <li>X.Event.BEFORE_KILL_INSTANCE を発火する。戻り値のビットフラグに X.Callback.PREVENT_DEFAULT が立つ場合、破棄をキャンセルし X.Event.KILL_INSTANCE_CANCELED を発火する。この間に kill() が呼ばれても無視される。\r
         * <li>破棄に進む場合は、X.Event.KILL_INSTANCE を発火する。\r
         * <li>dispatch 中は、インスタンスの全ての dispatch が終了するまで実際の破棄を待つ。\r
         * <li>実際の破棄では、インスタンスのメンバの削除に加えて全てのイベントリスナを解除する。\r
@@ -171,7 +171,9 @@ X_Class_CommonMethods =
                // index が替わっている可能性があるので取り直し\r
                if( X_Class_SUPER_CALLER[ i ] !== me ) i = X_Class_SUPER_CALLER.indexOf( me );\r
                \r
-               if( X_Class_SUPER_STACKS[ i ] === stack ) console.log( 'スーパークラス、またはスーパークラスのコンストラクタは存在しません' );\r
+               if( X_Class_SUPER_STACKS[ i ] === stack ){\r
+                       //console.log( 'スーパークラス、またはスーパークラスのコンストラクタは存在しません' );\r
+               };\r
                \r
                if( stack === 0 ){\r
                        X_Class_SUPER_CALLER.splice( i, 1 );\r
@@ -351,6 +353,7 @@ X[ 'Class' ] = /** @lends X.Class */ {
      */        \r
        'NONE'         : X_Class.NONE,\r
        \r
+       // TODO この指定、フレームワーク内だけ!\r
     /**\r
      * インスタンスは破棄時(this.kill())に回収され、次回の new MyClass() 時に再利用されます。\r
      * @const\r
@@ -661,7 +664,7 @@ function X_Class_actualConstructor( f, args ){
 \r
        obj = def.Constructor ?\r
                        def.Constructor.apply( instance, args ) :\r
-                       instance[ 'Super' ].apply( instance, args );\r
+                       def.SuperClass && instance[ 'Super' ].apply( instance, args );\r
 \r
        if( obj !== instance && ( X_Type_isObject( obj ) || X_Type_isFunction( obj ) ) ){ // Class\r
                instance[ 'kill' ]();\r