Browse Source

CompiledMethod >> {origin,methodClass}

Herby Vojčík 5 years ago
parent
commit
e3fd486287
3 changed files with 31 additions and 59 deletions
  1. 1 1
      package.json
  2. 24 52
      src/IDE.js
  3. 6 6
      src/IDE.st

+ 1 - 1
package.json

@@ -28,7 +28,7 @@
   },
   "dependencies": {
     "@ambers/contrib-web": ">=0.6.0",
-    "@ambers/lang": ">0.22.6",
+    "@ambers/lang": ">0.23.0",
     "codemirror": ">=5.39.2 <5.43.0",
     "jquery-ui-dist": ">=1.9.2",
     "require-css": "^0.1.10"

+ 24 - 52
src/IDE.js

@@ -4756,7 +4756,7 @@ var $1,$2,$3;
 klass=$self._selectedClassOrMetaClass();
 $1=$self._cancelChanges();
 if($core.assert($1)){
-$2=$recv($recv($self.selectedMethod)._methodClass()).__eq(klass);
+$2=$recv($recv($self.selectedMethod)._origin()).__eq(klass);
 if($core.assert($2)){
 $3=$recv($self._protocols())._includes_(aString);
 if($core.assert($3)){
@@ -4780,11 +4780,11 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aString"],
-source: "setMethodProtocol: aString\x0a\x09| klass |\x0a\x09klass := self selectedClassOrMetaClass.\x0a\x09self cancelChanges ifTrue: [ selectedMethod methodClass = klass\x0a\x09\x09ifFalse: [ Terminal alert: 'Method is from trait composition.' ]\x0a\x09\x09ifTrue: [ (self protocols includes: aString)\x0a\x09\x09\x09ifFalse: [ self addNewProtocol ]\x0a\x09\x09\x09ifTrue: [\x0a\x09\x09\x09\x09selectedMethod protocol: aString.\x0a\x09\x09\x09\x09klass compile: selectedMethod source protocol: aString.\x0a\x09\x09\x09\x09selectedProtocol := aString.\x0a\x09\x09\x09\x09self\x0a\x09\x09\x09\x09\x09updateProtocolsList;\x0a\x09\x09\x09\x09\x09updateMethodsList;\x0a\x09\x09\x09\x09\x09updateSourceAndButtons ]]]",
+source: "setMethodProtocol: aString\x0a\x09| klass |\x0a\x09klass := self selectedClassOrMetaClass.\x0a\x09self cancelChanges ifTrue: [ selectedMethod origin = klass\x0a\x09\x09ifFalse: [ Terminal alert: 'Method is from trait composition.' ]\x0a\x09\x09ifTrue: [ (self protocols includes: aString)\x0a\x09\x09\x09ifFalse: [ self addNewProtocol ]\x0a\x09\x09\x09ifTrue: [\x0a\x09\x09\x09\x09selectedMethod protocol: aString.\x0a\x09\x09\x09\x09klass compile: selectedMethod source protocol: aString.\x0a\x09\x09\x09\x09selectedProtocol := aString.\x0a\x09\x09\x09\x09self\x0a\x09\x09\x09\x09\x09updateProtocolsList;\x0a\x09\x09\x09\x09\x09updateMethodsList;\x0a\x09\x09\x09\x09\x09updateSourceAndButtons ]]]",
 referencedClasses: ["Terminal"],
 //>>excludeEnd("ide");
 pragmas: [],
-messageSends: ["selectedClassOrMetaClass", "ifTrue:", "cancelChanges", "ifFalse:ifTrue:", "=", "methodClass", "alert:", "includes:", "protocols", "addNewProtocol", "protocol:", "compile:protocol:", "source", "updateProtocolsList", "updateMethodsList", "updateSourceAndButtons"]
+messageSends: ["selectedClassOrMetaClass", "ifTrue:", "cancelChanges", "ifFalse:ifTrue:", "=", "origin", "alert:", "includes:", "protocols", "addNewProtocol", "protocol:", "compile:protocol:", "source", "updateProtocolsList", "updateMethodsList", "updateSourceAndButtons"]
 }),
 $globals.Browser);
 
@@ -5009,15 +5009,15 @@ $recv($2)._with_($recv(each)._selector());
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx3.sendIdx["with:"]=1;
 //>>excludeEnd("ctx");
-$5=$recv(each)._methodClass();
+$5=$recv(each)._origin();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx3.sendIdx["methodClass"]=1;
+$ctx3.sendIdx["origin"]=1;
 //>>excludeEnd("ctx");
 $4=$recv($5).__eq($self._selectedClassOrMetaClass());
 if($core.assert($4)){
 $3="";
 } else {
-$3=$recv(" (".__comma($recv($recv(each)._methodClass())._name())).__comma(")");
+$3=$recv(" (".__comma($recv($recv(each)._origin())._name())).__comma(")");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx3.sendIdx[","]=1;
 //>>excludeEnd("ctx");
@@ -5047,11 +5047,11 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "updateMethodsList\x0a\x09methodsList contents: [ :html |\x0a\x09self methods do: [ :each || li |\x0a\x09\x09li := html li.\x0a\x09\x09selectedMethod = each ifTrue: [\x0a\x09\x09li class: 'selected' ].\x0a\x09\x09li\x0a\x09\x09with: each selector;\x0a\x09\x09with: (each methodClass = self selectedClassOrMetaClass ifTrue: [''] ifFalse: [ ' (', each methodClass name, ')' ]);\x0a\x09\x09onClick: [ self selectMethod: each ]] ]",
+source: "updateMethodsList\x0a\x09methodsList contents: [ :html |\x0a\x09self methods do: [ :each || li |\x0a\x09\x09li := html li.\x0a\x09\x09selectedMethod = each ifTrue: [\x0a\x09\x09li class: 'selected' ].\x0a\x09\x09li\x0a\x09\x09with: each selector;\x0a\x09\x09with: (each origin = self selectedClassOrMetaClass ifTrue: [''] ifFalse: [ ' (', each origin name, ')' ]);\x0a\x09\x09onClick: [ self selectMethod: each ]] ]",
 referencedClasses: [],
 //>>excludeEnd("ide");
 pragmas: [],
-messageSends: ["contents:", "do:", "methods", "li", "ifTrue:", "=", "class:", "with:", "selector", "ifTrue:ifFalse:", "methodClass", "selectedClassOrMetaClass", ",", "name", "onClick:", "selectMethod:"]
+messageSends: ["contents:", "do:", "methods", "li", "ifTrue:", "=", "class:", "with:", "selector", "ifTrue:ifFalse:", "origin", "selectedClassOrMetaClass", ",", "name", "onClick:", "selectMethod:"]
 }),
 $globals.Browser);
 
@@ -8796,7 +8796,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$6,$5,$4,$3,$2,$7,$8;
+var $1,$6,$5,$4,$3,$2,$7;
 $recv($self.implementorsList)._contents_((function(html){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -8816,9 +8816,6 @@ $4=$recv($5)._asString();
 $ctx2.sendIdx["asString"]=1;
 //>>excludeEnd("ctx");
 $3="Implementors (".__comma($4);
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx2.sendIdx[","]=2;
-//>>excludeEnd("ctx");
 $2=$recv($3).__comma(")");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx2.sendIdx[","]=1;
@@ -8835,11 +8832,7 @@ return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
 li=$recv(html)._li();
 $7=li;
-$8=$recv($recv($recv($recv(each)._methodClass())._asString()).__comma(" >> ")).__comma($self._selector());
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx3.sendIdx[","]=3;
-//>>excludeEnd("ctx");
-$recv($7)._with_($8);
+$recv($7)._with_($recv(each)._asString());
 return $recv($7)._onClick_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx4) {
@@ -8864,11 +8857,11 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "updateImplementorsList\x0a\x09implementorsList contents: [ :html |\x0a\x09html li\x0a\x09\x09class: 'column_label';\x0a\x09\x09with: 'Implementors (', self implementors size asString, ')';\x0a\x09\x09style: 'font-weight: bold'.\x0a\x09self implementors do: [ :each || li |\x0a\x09\x09li := html li.\x0a\x09\x09li\x0a\x09\x09with: (each methodClass asString, ' >> ', self selector);\x0a\x09\x09onClick: [ self openBrowserOn: each ]] ]",
+source: "updateImplementorsList\x0a\x09implementorsList contents: [ :html |\x0a\x09html li\x0a\x09\x09class: 'column_label';\x0a\x09\x09with: 'Implementors (', self implementors size asString, ')';\x0a\x09\x09style: 'font-weight: bold'.\x0a\x09self implementors do: [ :each || li |\x0a\x09\x09li := html li.\x0a\x09\x09li\x0a\x09\x09with: each asString;\x0a\x09\x09onClick: [ self openBrowserOn: each ]] ]",
 referencedClasses: [],
 //>>excludeEnd("ide");
 pragmas: [],
-messageSends: ["contents:", "class:", "li", "with:", ",", "asString", "size", "implementors", "style:", "do:", "methodClass", "selector", "onClick:", "openBrowserOn:"]
+messageSends: ["contents:", "class:", "li", "with:", ",", "asString", "size", "implementors", "style:", "do:", "onClick:", "openBrowserOn:"]
 }),
 $globals.ReferencesBrowser);
 
@@ -8881,7 +8874,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$6,$5,$4,$3,$2,$7,$8;
+var $1,$6,$5,$4,$3,$2,$7;
 $recv($self.matchesList)._contents_((function(html){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -8901,9 +8894,6 @@ $4=$recv($5)._asString();
 $ctx2.sendIdx["asString"]=1;
 //>>excludeEnd("ctx");
 $3="Regex matches (".__comma($4);
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx2.sendIdx[","]=2;
-//>>excludeEnd("ctx");
 $2=$recv($3).__comma(")");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx2.sendIdx[","]=1;
@@ -8920,11 +8910,7 @@ return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
 li=$recv(html)._li();
 $7=li;
-$8=$recv($recv($recv($recv(each)._methodClass())._asString()).__comma(" >> ")).__comma($recv(each)._selector());
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx3.sendIdx[","]=3;
-//>>excludeEnd("ctx");
-$recv($7)._with_($8);
+$recv($7)._with_($recv(each)._asString());
 return $recv($7)._onClick_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx4) {
@@ -8949,11 +8935,11 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "updateMatchesList\x0a\x09matchesList contents: [ :html |\x0a\x09html li\x0a\x09\x09class: 'column_label';\x0a\x09\x09with: 'Regex matches (', self matches size asString, ')';\x0a\x09\x09style: 'font-weight: bold'.\x0a\x09self matches do: [ :each || li |\x0a\x09\x09li := html li.\x0a\x09\x09li\x0a\x09\x09with: (each methodClass asString, ' >> ', each selector);\x0a\x09\x09onClick: [ self openBrowserOn: each ]] ]",
+source: "updateMatchesList\x0a\x09matchesList contents: [ :html |\x0a\x09html li\x0a\x09\x09class: 'column_label';\x0a\x09\x09with: 'Regex matches (', self matches size asString, ')';\x0a\x09\x09style: 'font-weight: bold'.\x0a\x09self matches do: [ :each || li |\x0a\x09\x09li := html li.\x0a\x09\x09li\x0a\x09\x09with: each asString;\x0a\x09\x09onClick: [ self openBrowserOn: each ]] ]",
 referencedClasses: [],
 //>>excludeEnd("ide");
 pragmas: [],
-messageSends: ["contents:", "class:", "li", "with:", ",", "asString", "size", "matches", "style:", "do:", "methodClass", "selector", "onClick:", "openBrowserOn:"]
+messageSends: ["contents:", "class:", "li", "with:", ",", "asString", "size", "matches", "style:", "do:", "onClick:", "openBrowserOn:"]
 }),
 $globals.ReferencesBrowser);
 
@@ -8966,7 +8952,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$6,$5,$4,$3,$2,$7,$8;
+var $1,$6,$5,$4,$3,$2,$7;
 $recv($self.referencedClassesList)._contents_((function(html){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -8986,9 +8972,6 @@ $4=$recv($5)._asString();
 $ctx2.sendIdx["asString"]=1;
 //>>excludeEnd("ctx");
 $3="Class references (".__comma($4);
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx2.sendIdx[","]=2;
-//>>excludeEnd("ctx");
 $2=$recv($3).__comma(")");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx2.sendIdx[","]=1;
@@ -9003,11 +8986,7 @@ return $recv($self._referencedClasses())._do_((function(each){
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
 $7=$recv(html)._li();
-$8=$recv($recv($recv($recv(each)._methodClass())._asString()).__comma(" >> ")).__comma($recv(each)._selector());
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx3.sendIdx[","]=3;
-//>>excludeEnd("ctx");
-$recv($7)._with_($8);
+$recv($7)._with_($recv(each)._asString());
 return $recv($7)._onClick_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx4) {
@@ -9032,11 +9011,11 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "updateReferencedClassesList\x0a\x09referencedClassesList contents: [ :html |\x0a\x09html li\x0a\x09\x09class: 'column_label';\x0a\x09\x09with: 'Class references (', self referencedClasses size asString, ')';\x0a\x09\x09style: 'font-weight: bold'.\x0a\x09self referencedClasses do: [ :each |\x0a\x09\x09html li\x0a\x09\x09\x09with: (each methodClass asString, ' >> ', each selector);\x0a\x09\x09\x09onClick: [ self openBrowserOn: each ]] ]",
+source: "updateReferencedClassesList\x0a\x09referencedClassesList contents: [ :html |\x0a\x09html li\x0a\x09\x09class: 'column_label';\x0a\x09\x09with: 'Class references (', self referencedClasses size asString, ')';\x0a\x09\x09style: 'font-weight: bold'.\x0a\x09self referencedClasses do: [ :each |\x0a\x09\x09html li\x0a\x09\x09\x09with: each asString;\x0a\x09\x09\x09onClick: [ self openBrowserOn: each ]] ]",
 referencedClasses: [],
 //>>excludeEnd("ide");
 pragmas: [],
-messageSends: ["contents:", "class:", "li", "with:", ",", "asString", "size", "referencedClasses", "style:", "do:", "methodClass", "selector", "onClick:", "openBrowserOn:"]
+messageSends: ["contents:", "class:", "li", "with:", ",", "asString", "size", "referencedClasses", "style:", "do:", "onClick:", "openBrowserOn:"]
 }),
 $globals.ReferencesBrowser);
 
@@ -9049,7 +9028,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1,$6,$5,$4,$3,$2,$7,$8;
+var $1,$6,$5,$4,$3,$2,$7;
 $recv($self.sendersList)._contents_((function(html){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx2) {
@@ -9069,9 +9048,6 @@ $4=$recv($5)._asString();
 $ctx2.sendIdx["asString"]=1;
 //>>excludeEnd("ctx");
 $3="Senders (".__comma($4);
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx2.sendIdx[","]=2;
-//>>excludeEnd("ctx");
 $2=$recv($3).__comma(")");
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx2.sendIdx[","]=1;
@@ -9086,11 +9062,7 @@ return $recv($self._senders())._do_((function(each){
 return $core.withContext(function($ctx3) {
 //>>excludeEnd("ctx");
 $7=$recv(html)._li();
-$8=$recv($recv($recv($recv(each)._methodClass())._asString()).__comma(" >> ")).__comma($recv(each)._selector());
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-$ctx3.sendIdx[","]=3;
-//>>excludeEnd("ctx");
-$recv($7)._with_($8);
+$recv($7)._with_($recv(each)._asString());
 return $recv($7)._onClick_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx4) {
@@ -9115,11 +9087,11 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "updateSendersList\x0a\x09sendersList contents: [ :html |\x0a\x09html li\x0a\x09\x09class: 'column_label';\x0a\x09\x09with: 'Senders (', self senders size asString, ')';\x0a\x09\x09style: 'font-weight: bold'.\x0a\x09self senders do: [ :each |\x0a\x09\x09html li\x0a\x09\x09\x09with: (each methodClass asString, ' >> ', each selector);\x0a\x09\x09\x09onClick: [ self openBrowserOn: each ]] ]",
+source: "updateSendersList\x0a\x09sendersList contents: [ :html |\x0a\x09html li\x0a\x09\x09class: 'column_label';\x0a\x09\x09with: 'Senders (', self senders size asString, ')';\x0a\x09\x09style: 'font-weight: bold'.\x0a\x09self senders do: [ :each |\x0a\x09\x09html li\x0a\x09\x09\x09with: each asString;\x0a\x09\x09\x09onClick: [ self openBrowserOn: each ]] ]",
 referencedClasses: [],
 //>>excludeEnd("ide");
 pragmas: [],
-messageSends: ["contents:", "class:", "li", "with:", ",", "asString", "size", "senders", "style:", "do:", "methodClass", "selector", "onClick:", "openBrowserOn:"]
+messageSends: ["contents:", "class:", "li", "with:", ",", "asString", "size", "senders", "style:", "do:", "onClick:", "openBrowserOn:"]
 }),
 $globals.ReferencesBrowser);
 

+ 6 - 6
src/IDE.st

@@ -973,7 +973,7 @@ selectTab: aString
 setMethodProtocol: aString
 	| klass |
 	klass := self selectedClassOrMetaClass.
-	self cancelChanges ifTrue: [ selectedMethod methodClass = klass
+	self cancelChanges ifTrue: [ selectedMethod origin = klass
 		ifFalse: [ Terminal alert: 'Method is from trait composition.' ]
 		ifTrue: [ (self protocols includes: aString)
 			ifFalse: [ self addNewProtocol ]
@@ -1117,7 +1117,7 @@ updateMethodsList
 		li class: 'selected' ].
 		li
 		with: each selector;
-		with: (each methodClass = self selectedClassOrMetaClass ifTrue: [''] ifFalse: [ ' (', each methodClass name, ')' ]);
+		with: (each origin = self selectedClassOrMetaClass ifTrue: [''] ifFalse: [ ' (', each origin name, ')' ]);
 		onClick: [ self selectMethod: each ]] ]
 !
 
@@ -1899,7 +1899,7 @@ updateImplementorsList
 	self implementors do: [ :each || li |
 		li := html li.
 		li
-		with: (each methodClass asString, ' >> ', self selector);
+		with: each asString;
 		onClick: [ self openBrowserOn: each ]] ]
 !
 
@@ -1912,7 +1912,7 @@ updateMatchesList
 	self matches do: [ :each || li |
 		li := html li.
 		li
-		with: (each methodClass asString, ' >> ', each selector);
+		with: each asString;
 		onClick: [ self openBrowserOn: each ]] ]
 !
 
@@ -1924,7 +1924,7 @@ updateReferencedClassesList
 		style: 'font-weight: bold'.
 	self referencedClasses do: [ :each |
 		html li
-			with: (each methodClass asString, ' >> ', each selector);
+			with: each asString;
 			onClick: [ self openBrowserOn: each ]] ]
 !
 
@@ -1936,7 +1936,7 @@ updateSendersList
 		style: 'font-weight: bold'.
 	self senders do: [ :each |
 		html li
-			with: (each methodClass asString, ' >> ', each selector);
+			with: each asString;
 			onClick: [ self openBrowserOn: each ]] ]
 ! !