Browse Source

Find references commands

Mariano Montone 2 years ago
parent
commit
c18f9354a4
2 changed files with 284 additions and 0 deletions
  1. 214 0
      src/Helios-Commands-Tools.js
  2. 70 0
      src/Helios-Commands-Tools.st

+ 214 - 0
src/Helios-Commands-Tools.js

@@ -766,6 +766,220 @@ return "Find class";
 $globals.HLFindClassCommand.a$cls);
 
 
+$core.addClass("HLFindClassReferencesCommand", $globals.HLFindCommand, "Helios-Commands-Tools");
+$core.addMethod(
+$core.method({
+selector: "category",
+protocol: "accessing",
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "category\x0a\x09^ 'Classes'",
+referencedClasses: [],
+//>>excludeEnd("ide");
+pragmas: [],
+messageSends: []
+}, function ($methodClass){ return function (){
+var self=this,$self=this;
+return "Classes";
+
+}; }),
+$globals.HLFindClassReferencesCommand);
+
+$core.addMethod(
+$core.method({
+selector: "execute",
+protocol: "executing",
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "execute\x0a\x0a\x09HLReferences new \x0a\x09\x09openAsTab;\x0a\x09\x09search: self model selectedClass theNonMetaClass name",
+referencedClasses: ["HLReferences"],
+//>>excludeEnd("ide");
+pragmas: [],
+messageSends: ["openAsTab", "new", "search:", "name", "theNonMetaClass", "selectedClass", "model"]
+}, function ($methodClass){ return function (){
+var self=this,$self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+var $1;
+$1=$recv($globals.HLReferences)._new();
+$recv($1)._openAsTab();
+$recv($1)._search_($recv($recv($recv($self._model())._selectedClass())._theNonMetaClass())._name());
+return self;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"execute",{})});
+//>>excludeEnd("ctx");
+}; }),
+$globals.HLFindClassReferencesCommand);
+
+$core.addMethod(
+$core.method({
+selector: "isActive",
+protocol: "testing",
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "isActive\x0a\x09^ self model selectedClass notNil",
+referencedClasses: [],
+//>>excludeEnd("ide");
+pragmas: [],
+messageSends: ["notNil", "selectedClass", "model"]
+}, function ($methodClass){ return function (){
+var self=this,$self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+return $recv($recv($self._model())._selectedClass())._notNil();
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"isActive",{})});
+//>>excludeEnd("ctx");
+}; }),
+$globals.HLFindClassReferencesCommand);
+
+$core.addMethod(
+$core.method({
+selector: "isInputRequired",
+protocol: "testing",
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "isInputRequired\x0a\x09^ false",
+referencedClasses: [],
+//>>excludeEnd("ide");
+pragmas: [],
+messageSends: []
+}, function ($methodClass){ return function (){
+var self=this,$self=this;
+return false;
+
+}; }),
+$globals.HLFindClassReferencesCommand);
+
+
+$core.addMethod(
+$core.method({
+selector: "menuLabel",
+protocol: "accessing",
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "menuLabel\x0a\x09^ 'Find class references...'",
+referencedClasses: [],
+//>>excludeEnd("ide");
+pragmas: [],
+messageSends: []
+}, function ($methodClass){ return function (){
+var self=this,$self=this;
+return "Find class references...";
+
+}; }),
+$globals.HLFindClassReferencesCommand.a$cls);
+
+
+$core.addClass("HLFindMethodReferencesCommand", $globals.HLFindCommand, "Helios-Commands-Tools");
+$core.addMethod(
+$core.method({
+selector: "category",
+protocol: "accessing",
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "category\x0a\x09^ 'Methods'",
+referencedClasses: [],
+//>>excludeEnd("ide");
+pragmas: [],
+messageSends: []
+}, function ($methodClass){ return function (){
+var self=this,$self=this;
+return "Methods";
+
+}; }),
+$globals.HLFindMethodReferencesCommand);
+
+$core.addMethod(
+$core.method({
+selector: "execute",
+protocol: "executing",
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "execute\x0a\x0a\x09HLReferences new \x0a\x09\x09openAsTab;\x0a\x09\x09search: self model selectedMethod selector",
+referencedClasses: ["HLReferences"],
+//>>excludeEnd("ide");
+pragmas: [],
+messageSends: ["openAsTab", "new", "search:", "selector", "selectedMethod", "model"]
+}, function ($methodClass){ return function (){
+var self=this,$self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+var $1;
+$1=$recv($globals.HLReferences)._new();
+$recv($1)._openAsTab();
+$recv($1)._search_($recv($recv($self._model())._selectedMethod())._selector());
+return self;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"execute",{})});
+//>>excludeEnd("ctx");
+}; }),
+$globals.HLFindMethodReferencesCommand);
+
+$core.addMethod(
+$core.method({
+selector: "isActive",
+protocol: "testing",
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "isActive\x0a\x09^ self model selectedMethod notNil",
+referencedClasses: [],
+//>>excludeEnd("ide");
+pragmas: [],
+messageSends: ["notNil", "selectedMethod", "model"]
+}, function ($methodClass){ return function (){
+var self=this,$self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+return $recv($recv($self._model())._selectedMethod())._notNil();
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"isActive",{})});
+//>>excludeEnd("ctx");
+}; }),
+$globals.HLFindMethodReferencesCommand);
+
+$core.addMethod(
+$core.method({
+selector: "isInputRequired",
+protocol: "testing",
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "isInputRequired\x0a\x09^ false",
+referencedClasses: [],
+//>>excludeEnd("ide");
+pragmas: [],
+messageSends: []
+}, function ($methodClass){ return function (){
+var self=this,$self=this;
+return false;
+
+}; }),
+$globals.HLFindMethodReferencesCommand);
+
+
+$core.addMethod(
+$core.method({
+selector: "menuLabel",
+protocol: "accessing",
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: [],
+source: "menuLabel\x0a\x09^ 'Find method references...'",
+referencedClasses: [],
+//>>excludeEnd("ide");
+pragmas: [],
+messageSends: []
+}, function ($methodClass){ return function (){
+var self=this,$self=this;
+return "Find method references...";
+
+}; }),
+$globals.HLFindMethodReferencesCommand.a$cls);
+
+
 $core.addClass("HLFindReferencesCommand", $globals.HLFindCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({

+ 70 - 0
src/Helios-Commands-Tools.st

@@ -225,6 +225,76 @@ label
 	^ 'Find class'
 ! !
 
+HLFindCommand subclass: #HLFindClassReferencesCommand
+	slots: {}
+	package: 'Helios-Commands-Tools'!
+
+!HLFindClassReferencesCommand methodsFor: 'accessing'!
+
+category
+	^ 'Classes'
+! !
+
+!HLFindClassReferencesCommand methodsFor: 'executing'!
+
+execute
+
+	HLReferences new 
+		openAsTab;
+		search: self model selectedClass theNonMetaClass name
+! !
+
+!HLFindClassReferencesCommand methodsFor: 'testing'!
+
+isActive
+	^ self model selectedClass notNil
+!
+
+isInputRequired
+	^ false
+! !
+
+!HLFindClassReferencesCommand class methodsFor: 'accessing'!
+
+menuLabel
+	^ 'Find class references...'
+! !
+
+HLFindCommand subclass: #HLFindMethodReferencesCommand
+	slots: {}
+	package: 'Helios-Commands-Tools'!
+
+!HLFindMethodReferencesCommand methodsFor: 'accessing'!
+
+category
+	^ 'Methods'
+! !
+
+!HLFindMethodReferencesCommand methodsFor: 'executing'!
+
+execute
+
+	HLReferences new 
+		openAsTab;
+		search: self model selectedMethod selector
+! !
+
+!HLFindMethodReferencesCommand methodsFor: 'testing'!
+
+isActive
+	^ self model selectedMethod notNil
+!
+
+isInputRequired
+	^ false
+! !
+
+!HLFindMethodReferencesCommand class methodsFor: 'accessing'!
+
+menuLabel
+	^ 'Find method references...'
+! !
+
 HLFindCommand subclass: #HLFindReferencesCommand
 	slots: {}
 	package: 'Helios-Commands-Tools'!