瀏覽代碼

Optimization of HashedCollection >> keys as per GH-174.

Herbert Vojčík 12 年之前
父節點
當前提交
22478f8567
共有 3 個文件被更改,包括 4 次插入1 次删除
  1. 1 0
      js/Kernel-Collections.deploy.js
  2. 2 1
      js/Kernel-Collections.js
  3. 1 0
      st/Kernel-Collections.st

+ 1 - 0
js/Kernel-Collections.deploy.js

@@ -769,6 +769,7 @@ selector: unescape('keys'),
 fn: function () {
 var self=this;
 
+		if ('function'===typeof Object.keys) return Object.keys(self);
 		var keys = [];
 		for(var i in self) {
 			if(self.hasOwnProperty(i)) {

+ 2 - 1
js/Kernel-Collections.js

@@ -1096,6 +1096,7 @@ category: 'accessing',
 fn: function () {
 var self=this;
 
+		if ('function'===typeof Object.keys) return Object.keys(self);
 		var keys = [];
 		for(var i in self) {
 			if(self.hasOwnProperty(i)) {
@@ -1106,7 +1107,7 @@ var self=this;
 	;
 return self;},
 args: [],
-source: unescape('keys%0A%09%3C%0A%09%09var%20keys%20%3D%20%5B%5D%3B%0A%09%09for%28var%20i%20in%20self%29%20%7B%0A%09%09%09if%28self.hasOwnProperty%28i%29%29%20%7B%0A%09%09%09%09keys.push%28i%29%3B%0A%09%09%09%7D%0A%09%09%7D%3B%0A%09%09return%20keys%3B%0A%09%3E'),
+source: unescape('keys%0A%09%3C%0A%09%09if%20%28%27function%27%3D%3D%3Dtypeof%20Object.keys%29%20return%20Object.keys%28self%29%3B%0A%09%09var%20keys%20%3D%20%5B%5D%3B%0A%09%09for%28var%20i%20in%20self%29%20%7B%0A%09%09%09if%28self.hasOwnProperty%28i%29%29%20%7B%0A%09%09%09%09keys.push%28i%29%3B%0A%09%09%09%7D%0A%09%09%7D%3B%0A%09%09return%20keys%3B%0A%09%3E'),
 messageSends: [],
 referencedClasses: []
 }),

+ 1 - 0
st/Kernel-Collections.st

@@ -319,6 +319,7 @@ at: aKey put: aValue
 
 keys
 	<
+		if ('function'===typeof Object.keys) return Object.keys(self);
 		var keys = [];
 		for(var i in self) {
 			if(self.hasOwnProperty(i)) {