OSDN Git Service

Version 0.6.209, bug fixes X.Net.* & X.URL.
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 13_XClass.js
index f0dc784..a0b15cc 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
@@ -212,7 +214,7 @@ X_Class_CommonMethods =
                        proto  = sClass.prototype,\r
                        i      = X_Class_SUPER_CALLER.indexOf( me ),\r
                        args   = arguments,\r
-                       p, name, t, sFunc, ret;\r
+                       p, name, stack, t, sFunc, ret;\r
 \r
                if( X_Type_isFunction( myFunc ) ){\r
                        for( p in proto ){\r
@@ -662,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