1
0
Просмотр исходного кода

var i in foo => Object.keys(foo).forEach(function(i)

Herbert Vojčík 11 лет назад
Родитель
Сommit
1ccc1e24d3

+ 3 - 3
js/Kernel-Classes.js

@@ -637,15 +637,15 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 var dict = smalltalk.HashedCollection._new();
 	var methods = self.methods;
-	for(var i in methods) {
+	Object.keys(methods).forEach(function(i) {
 		if(methods[i].selector) {
 			dict._at_put_(methods[i].selector, methods[i]);
 		}
-	};
+	});
 	return dict;
 return self}, function($ctx1) {$ctx1.fill(self,"methodDictionary",{},smalltalk.Behavior)})},
 args: [],
-source: "methodDictionary\x0a\x09<var dict = smalltalk.HashedCollection._new();\x0a\x09var methods = self.methods;\x0a\x09for(var i in methods) {\x0a\x09\x09if(methods[i].selector) {\x0a\x09\x09\x09dict._at_put_(methods[i].selector, methods[i]);\x0a\x09\x09}\x0a\x09};\x0a\x09return dict>",
+source: "methodDictionary\x0a\x09<var dict = smalltalk.HashedCollection._new();\x0a\x09var methods = self.methods;\x0a\x09Object.keys(methods).forEach(function(i) {\x0a\x09\x09if(methods[i].selector) {\x0a\x09\x09\x09dict._at_put_(methods[i].selector, methods[i]);\x0a\x09\x09}\x0a\x09});\x0a\x09return dict>",
 messageSends: [],
 referencedClasses: []
 }),

+ 4 - 6
js/Kernel-Infrastructure.js

@@ -2671,15 +2671,13 @@ fn: function (){
 var self=this;
 return smalltalk.withContext(function($ctx1) { 
 
-		var packages = [];
-		for(var key in self.packages) {
-			packages.push(self.packages[key]);
-		}
-		return packages;
+		return Object.keys(self.packages).map(function(k) {
+			return self.packages[k];
+		})
 	;
 return self}, function($ctx1) {$ctx1.fill(self,"packages",{},smalltalk.Smalltalk)})},
 args: [],
-source: "packages\x0a\x09\x22Return all Package instances in the system.\x22\x0a\x0a\x09<\x0a\x09\x09var packages = [];\x0a\x09\x09for(var key in self.packages) {\x0a\x09\x09\x09packages.push(self.packages[key]);\x0a\x09\x09}\x0a\x09\x09return packages;\x0a\x09>",
+source: "packages\x0a\x09\x22Return all Package instances in the system.\x22\x0a\x0a\x09<\x0a\x09\x09return Object.keys(self.packages).map(function(k) {\x0a\x09\x09\x09return self.packages[k];\x0a\x09\x09})\x0a\x09>",
 messageSends: [],
 referencedClasses: []
 }),

+ 6 - 6
js/Kernel-Objects.js

@@ -266,16 +266,16 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 
 		var copy = self.klass._new();
-		for(var i in self) {
+		Object.keys(self).forEach(function (i) {
 		if(/^@.+/.test(i)) {
 			copy[i] = self[i]._deepCopy();
 		}
-		}
+		});
 		return copy;
 	;
 return self}, function($ctx1) {$ctx1.fill(self,"deepCopy",{},smalltalk.Object)})},
 args: [],
-source: "deepCopy\x0a\x09<\x0a\x09\x09var copy = self.klass._new();\x0a\x09\x09for(var i in self) {\x0a\x09\x09if(/^@.+/.test(i)) {\x0a\x09\x09\x09copy[i] = self[i]._deepCopy();\x0a\x09\x09}\x0a\x09\x09}\x0a\x09\x09return copy;\x0a\x09>",
+source: "deepCopy\x0a\x09<\x0a\x09\x09var copy = self.klass._new();\x0a\x09\x09Object.keys(self).forEach(function (i) {\x0a\x09\x09if(/^@.+/.test(i)) {\x0a\x09\x09\x09copy[i] = self[i]._deepCopy();\x0a\x09\x09}\x0a\x09\x09});\x0a\x09\x09return copy;\x0a\x09>",
 messageSends: [],
 referencedClasses: []
 }),
@@ -943,16 +943,16 @@ var self=this;
 return smalltalk.withContext(function($ctx1) { 
 
 		var copy = self.klass._new();
-		for(var i in self) {
+		Object.keys(self).forEach(function(i) {
 		if(/^@.+/.test(i)) {
 			copy[i] = self[i];
 		}
-		}
+		});
 		return copy;
 	;
 return self}, function($ctx1) {$ctx1.fill(self,"shallowCopy",{},smalltalk.Object)})},
 args: [],
-source: "shallowCopy\x0a\x09<\x0a\x09\x09var copy = self.klass._new();\x0a\x09\x09for(var i in self) {\x0a\x09\x09if(/^@.+/.test(i)) {\x0a\x09\x09\x09copy[i] = self[i];\x0a\x09\x09}\x0a\x09\x09}\x0a\x09\x09return copy;\x0a\x09>",
+source: "shallowCopy\x0a\x09<\x0a\x09\x09var copy = self.klass._new();\x0a\x09\x09Object.keys(self).forEach(function(i) {\x0a\x09\x09if(/^@.+/.test(i)) {\x0a\x09\x09\x09copy[i] = self[i];\x0a\x09\x09}\x0a\x09\x09});\x0a\x09\x09return copy;\x0a\x09>",
 messageSends: [],
 referencedClasses: []
 }),

+ 2 - 2
st/Kernel-Classes.st

@@ -121,11 +121,11 @@ methodAt: aString
 methodDictionary
 	<var dict = smalltalk.HashedCollection._new();
 	var methods = self.methods;
-	for(var i in methods) {
+	Object.keys(methods).forEach(function(i) {
 		if(methods[i].selector) {
 			dict._at_put_(methods[i].selector, methods[i]);
 		}
-	};
+	});
 	return dict>
 !
 

+ 3 - 5
st/Kernel-Infrastructure.st

@@ -1013,11 +1013,9 @@ packages
 	"Return all Package instances in the system."
 
 	<
-		var packages = [];
-		for(var key in self.packages) {
-			packages.push(self.packages[key]);
-		}
-		return packages;
+		return Object.keys(self.packages).map(function(k) {
+			return self.packages[k];
+		})
 	>
 !
 

+ 4 - 4
st/Kernel-Objects.st

@@ -140,11 +140,11 @@ copy
 deepCopy
 	<
 		var copy = self.klass._new();
-		for(var i in self) {
+		Object.keys(self).forEach(function (i) {
 		if(/^@.+/.test(i)) {
 			copy[i] = self[i]._deepCopy();
 		}
-		}
+		});
 		return copy;
 	>
 !
@@ -155,11 +155,11 @@ postCopy
 shallowCopy
 	<
 		var copy = self.klass._new();
-		for(var i in self) {
+		Object.keys(self).forEach(function(i) {
 		if(/^@.+/.test(i)) {
 			copy[i] = self[i];
 		}
-		}
+		});
 		return copy;
 	>
 ! !