Browse Source

kernel: .className => .name

Deprecation getters / setters in place.
Herbert Vojčík 6 years ago
parent
commit
c838996e90

+ 9 - 9
src/Kernel-Classes.js

@@ -1426,8 +1426,8 @@ return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 
 		$globals[aString] = aClass;
-		delete $globals[aClass.className];
-		aClass.className = aString;
+		delete $globals[aClass.name];
+		aClass.name = aString;
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1436,7 +1436,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aClass", "aString"],
-source: "basicRenameClass: aClass to: aString\x0a\x09<inlineJS: '\x0a\x09\x09$globals[aString] = aClass;\x0a\x09\x09delete $globals[aClass.className];\x0a\x09\x09aClass.className = aString;\x0a\x09'>",
+source: "basicRenameClass: aClass to: aString\x0a\x09<inlineJS: '\x0a\x09\x09$globals[aString] = aClass;\x0a\x09\x09delete $globals[aClass.name];\x0a\x09\x09aClass.name = aString;\x0a\x09'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -1453,9 +1453,9 @@ var self=this,$self=this;
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 
-		var tmp = aClass.className;
-		aClass.className = anotherClass.className;
-		anotherClass.className = tmp;
+		var tmp = aClass.name;
+		aClass.name = anotherClass.name;
+		anotherClass.name = tmp;
 	;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -1464,7 +1464,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aClass", "anotherClass"],
-source: "basicSwapClassNames: aClass with: anotherClass\x0a\x09<inlineJS: '\x0a\x09\x09var tmp = aClass.className;\x0a\x09\x09aClass.className = anotherClass.className;\x0a\x09\x09anotherClass.className = tmp;\x0a\x09'>",
+source: "basicSwapClassNames: aClass with: anotherClass\x0a\x09<inlineJS: '\x0a\x09\x09var tmp = aClass.name;\x0a\x09\x09aClass.name = anotherClass.name;\x0a\x09\x09anotherClass.name = tmp;\x0a\x09'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
@@ -3475,7 +3475,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-return self.className;
+return self.name;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"name",{},$globals.TMasterBehavior)});
@@ -3483,7 +3483,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "name\x0a\x09<inlineJS: 'return self.className'>",
+source: "name\x0a\x09<inlineJS: 'return self.name'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []

+ 6 - 6
src/Kernel-Classes.st

@@ -489,16 +489,16 @@ basicRemoveClass: aClass
 basicRenameClass: aClass to: aString
 	<inlineJS: '
 		$globals[aString] = aClass;
-		delete $globals[aClass.className];
-		aClass.className = aString;
+		delete $globals[aClass.name];
+		aClass.name = aString;
 	'>
 !
 
 basicSwapClassNames: aClass with: anotherClass
 	<inlineJS: '
-		var tmp = aClass.className;
-		aClass.className = anotherClass.className;
-		anotherClass.className = tmp;
+		var tmp = aClass.name;
+		aClass.name = anotherClass.name;
+		anotherClass.name = tmp;
 	'>
 !
 
@@ -874,7 +874,7 @@ leaveOrganization
 !
 
 name
-	<inlineJS: 'return self.className'>
+	<inlineJS: 'return self.name'>
 !
 
 package: aPackage

+ 2 - 2
src/Kernel-Collections.js

@@ -8195,7 +8195,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-return anObject.a$cls != null && anObject.a$cls.className;
+return anObject.a$cls != null && anObject.a$cls.name;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"classNameOf:",{anObject:anObject},$globals.Set)});
@@ -8203,7 +8203,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["anObject"],
-source: "classNameOf: anObject\x0a\x09\x22Answer the class name of `anObject`, or `undefined` \x0a\x09if `anObject` is not an Smalltalk object\x22\x0a\x09\x0a\x09<inlineJS: 'return anObject.a$cls != null && anObject.a$cls.className'>",
+source: "classNameOf: anObject\x0a\x09\x22Answer the class name of `anObject`, or `undefined` \x0a\x09if `anObject` is not an Smalltalk object\x22\x0a\x09\x0a\x09<inlineJS: 'return anObject.a$cls != null && anObject.a$cls.name'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []

+ 1 - 1
src/Kernel-Collections.st

@@ -2078,7 +2078,7 @@ classNameOf: anObject
 	"Answer the class name of `anObject`, or `undefined` 
 	if `anObject` is not an Smalltalk object"
 	
-	<inlineJS: 'return anObject.a$cls !!= null && anObject.a$cls.className'>
+	<inlineJS: 'return anObject.a$cls !!= null && anObject.a$cls.name'>
 !
 
 includes: anObject in: anotherObject

+ 3 - 4
support/kernel-fundamentals.js

@@ -140,8 +140,7 @@ define(function () {
         var traitsOrClasses = [];
 
         this.buildTraitOrClass = function (category, builder) {
-            // TODO remove .className, have .name
-            var traitOrClass = globals.hasOwnProperty(builder.className) && globals[builder.className];
+            var traitOrClass = globals.hasOwnProperty(builder.name) && globals[builder.name];
             if (traitOrClass) {
                 builder.updateExisting(traitOrClass);
             } else {
@@ -154,7 +153,7 @@ define(function () {
         };
 
         function addTraitOrClass (traitOrClass) {
-            globals[traitOrClass.className] = traitOrClass;
+            globals[traitOrClass.name] = traitOrClass;
             addElement(traitsOrClasses, traitOrClass);
             traitOrClass.added();
         }
@@ -162,7 +161,7 @@ define(function () {
         function removeTraitOrClass (traitOrClass) {
             traitOrClass.removed();
             removeElement(traitsOrClasses, traitOrClass);
-            delete globals[traitOrClass.className];
+            delete globals[traitOrClass.name];
         }
 
         this.removeTraitOrClass = removeTraitOrClass;

+ 31 - 9
support/kernel-language.js

@@ -77,7 +77,7 @@ define(function () {
         SmalltalkTrait.prototype.trait = true;
 
         defineMethod(SmalltalkTrait, "toString", function () {
-            return 'Smalltalk Trait ' + this.className;
+            return 'Smalltalk Trait ' + this.name;
         });
         declareEvent("traitAdded");
         defineMethod(SmalltalkTrait, "added", function () {
@@ -104,12 +104,23 @@ define(function () {
             emit.traitMethodRemoved(method, this);
         });
 
-        function traitBuilder (className) {
+        function traitBuilder (traitName) {
             return {
-                className: className,
+                name: traitName,
                 make: function () {
                     var that = new SmalltalkTrait();
-                    that.className = className;
+                    // TODO deprecation helper; remove
+                    Object.defineProperty(that, "className", {
+                        get: function () {
+                            console.warn("Use of .className deprecated, use .name");
+                            return that.name;
+                        },
+                        set: function (v) {
+                            console.warn("Use of .className= deprecated, use .name=");
+                            that.name = v;
+                        }
+                    });
+                    that.name = traitName;
                     that.traitUsers = [];
                     setupMethods(that);
                     return that;
@@ -287,10 +298,10 @@ define(function () {
         SmalltalkMetaclass.prototype.meta = true;
 
         defineMethod(SmalltalkClass, "toString", function () {
-            return 'Smalltalk ' + this.className;
+            return 'Smalltalk ' + this.name;
         });
         defineMethod(SmalltalkMetaclass, "toString", function () {
-            return 'Smalltalk Metaclass ' + this.instanceClass.className;
+            return 'Smalltalk Metaclass ' + this.instanceClass.name;
         });
         declareEvent("classAdded");
         defineMethod(SmalltalkClass, "added", function () {
@@ -340,7 +351,18 @@ define(function () {
                     }, superclass.fn);
                 that.iVarNames = iVarNames || [];
 
-                that.className = className;
+                // TODO deprecation helper; remove
+                Object.defineProperty(that, "className", {
+                    get: function () {
+                        console.warn("Use of .className deprecated, use .name");
+                        return that.name;
+                    },
+                    set: function (v) {
+                        console.warn("Use of .className= deprecated, use .name=");
+                        that.name = v;
+                    }
+                });
+                that.name = className;
                 that.subclasses = [];
 
                 setupMethods(that);
@@ -363,12 +385,12 @@ define(function () {
             }
 
             return {
-                className: className,
+                name: className,
                 make: klass,
                 updateExisting: function (klass) {
                     if (klass.superclass == logicalSuperclass && (!fn || fn === klass.fn)) {
                         if (iVarNames) klass.iVarNames = iVarNames;
-                    } else throw new Error("Incompatible change of class: " + klass.className);
+                    } else throw new Error("Incompatible change of class: " + klass.name);
                 }
             };
         }