Browse Source

Use includingPossibleMetaDo:.

Herby Vojčík 4 years ago
parent
commit
d0226b7a93
2 changed files with 13 additions and 18 deletions
  1. 11 15
      src/Helios-References.js
  2. 2 3
      src/Helios-References.st

+ 11 - 15
src/Helios-References.js

@@ -1293,26 +1293,22 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$receiver;
 $self.classesAndMetaclassesCache=$recv($globals.OrderedCollection)._new();
-$recv($recv($self._environment())._classes())._do_((function(each){
+$recv($recv($self._environment())._classes())._do_((function(eachClass){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$recv($self.classesAndMetaclassesCache)._add_(each);
+return $recv(eachClass)._includingPossibleMetaDo_((function(each){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx2.sendIdx["add:"]=1;
+return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
-$1=$recv(each)._theMetaClass();
-if(($receiver = $1) == null || $receiver.a$nil){
-return $1;
-} else {
-var meta;
-meta=$receiver;
-return $recv($self.classesAndMetaclassesCache)._add_(meta);
-}
+return $recv($self.classesAndMetaclassesCache)._add_(each);
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
+}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2,2)});
+//>>excludeEnd("ctx");
+}));
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx2) {$ctx2.fillBlock({eachClass:eachClass},$ctx1,1)});
 //>>excludeEnd("ctx");
 }));
 return self;
@@ -1322,11 +1318,11 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "updateClassesAndMetaclassesCache\x0a\x09classesAndMetaclassesCache := OrderedCollection new.\x0a\x09\x0a\x09self environment classes do: [ :each |\x0a\x09\x09classesAndMetaclassesCache add: each.\x0a\x09\x09each theMetaClass ifNotNil: [ :meta | classesAndMetaclassesCache add: meta ] ]",
+source: "updateClassesAndMetaclassesCache\x0a\x09classesAndMetaclassesCache := OrderedCollection new.\x0a\x09\x0a\x09self environment classes do: [ :eachClass | eachClass includingPossibleMetaDo: [ :each |\x0a\x09\x09classesAndMetaclassesCache add: each ] ]",
 referencedClasses: ["OrderedCollection"],
 //>>excludeEnd("ide");
 pragmas: [],
-messageSends: ["new", "do:", "classes", "environment", "add:", "ifNotNil:", "theMetaClass"]
+messageSends: ["new", "do:", "classes", "environment", "includingPossibleMetaDo:", "add:"]
 }),
 $globals.HLReferencesModel);
 

+ 2 - 3
src/Helios-References.st

@@ -319,9 +319,8 @@ updateCaches
 updateClassesAndMetaclassesCache
 	classesAndMetaclassesCache := OrderedCollection new.
 	
-	self environment classes do: [ :each |
-		classesAndMetaclassesCache add: each.
-		each theMetaClass ifNotNil: [ :meta | classesAndMetaclassesCache add: meta ] ]
+	self environment classes do: [ :eachClass | eachClass includingPossibleMetaDo: [ :each |
+		classesAndMetaclassesCache add: each ] ]
 !
 
 updateMethodsCache