Browse Source

Move Interested...Axes into Axxord.

Herbert Vojčík 6 years ago
parent
commit
4ed84f7659
2 changed files with 118 additions and 0 deletions
  1. 96 0
      src/Axxord.js
  2. 22 0
      src/Axxord.st

+ 96 - 0
src/Axxord.js

@@ -822,6 +822,102 @@ $globals.InterestedInEqual);
 
 
 
+$core.addClass("InterestedThruAxes", $globals.AxonInterest, [], "Axxord");
+$core.addMethod(
+$core.method({
+selector: "accepts:",
+protocol: "testing",
+fn: function (anAspect){
+var self=this,$self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+var $2,$3,$1,$5,$6,$4;
+$2=$recv(anAspect)._size();
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["size"]=1;
+//>>excludeEnd("ctx");
+$3=$recv($self["@aspect"])._size();
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["size"]=2;
+//>>excludeEnd("ctx");
+$1=$recv($2).__lt_eq($3);
+if($core.assert($1)){
+$5=$self["@aspect"];
+$6=$recv(anAspect)._size();
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["size"]=3;
+//>>excludeEnd("ctx");
+$4=$recv($5)._copyFrom_to_((1),$6);
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["copyFrom:to:"]=1;
+//>>excludeEnd("ctx");
+return $recv(anAspect).__eq($4);
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["="]=1;
+//>>excludeEnd("ctx");
+} else {
+return $recv($self["@aspect"]).__eq($recv(anAspect)._copyFrom_to_((1),$recv($self["@aspect"])._size()));
+}
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"accepts:",{anAspect:anAspect},$globals.InterestedThruAxes)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: ["anAspect"],
+source: "accepts: anAspect\x0a    ^anAspect size <= aspect size\x0a\x09\x09ifTrue: [anAspect = (aspect copyFrom: 1 to: anAspect size)]\x0a\x09\x09ifFalse: [aspect = (anAspect copyFrom: 1 to: aspect size)]",
+referencedClasses: [],
+//>>excludeEnd("ide");
+messageSends: ["ifTrue:ifFalse:", "<=", "size", "=", "copyFrom:to:"]
+}),
+$globals.InterestedThruAxes);
+
+
+
+$core.addClass("InterestedUpToAxes", $globals.AxonInterest, [], "Axxord");
+$core.addMethod(
+$core.method({
+selector: "accepts:",
+protocol: "testing",
+fn: function (anAspect){
+var self=this,$self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+var $2,$3,$1;
+$2=$recv(anAspect)._size();
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["size"]=1;
+//>>excludeEnd("ctx");
+$3=$recv($self["@aspect"])._size();
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+$ctx1.sendIdx["size"]=2;
+//>>excludeEnd("ctx");
+$1=$recv($2).__lt_eq($3);
+return $recv($1)._and_((function(){
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx2) {
+//>>excludeEnd("ctx");
+return $recv(anAspect).__eq($recv($self["@aspect"])._copyFrom_to_((1),$recv(anAspect)._size()));
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
+//>>excludeEnd("ctx");
+}));
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"accepts:",{anAspect:anAspect},$globals.InterestedUpToAxes)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: ["anAspect"],
+source: "accepts: anAspect\x0a    ^anAspect size <= aspect size and: [anAspect = (aspect copyFrom: 1 to: anAspect size)]",
+referencedClasses: [],
+//>>excludeEnd("ide");
+messageSends: ["and:", "<=", "size", "=", "copyFrom:to:"]
+}),
+$globals.InterestedUpToAxes);
+
+
+
 $core.addClass("AxonOff", $globals.Error, [], "Axxord");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.AxonOff.comment="Signal me from the subscription block to unsubscribe it.";

+ 22 - 0
src/Axxord.st

@@ -193,6 +193,28 @@ accepts: anAspect
     ^ anAspect = aspect
 ! !
 
+AxonInterest subclass: #InterestedThruAxes
+	instanceVariableNames: ''
+	package: 'Axxord'!
+
+!InterestedThruAxes methodsFor: 'testing'!
+
+accepts: anAspect
+    ^anAspect size <= aspect size
+		ifTrue: [anAspect = (aspect copyFrom: 1 to: anAspect size)]
+		ifFalse: [aspect = (anAspect copyFrom: 1 to: aspect size)]
+! !
+
+AxonInterest subclass: #InterestedUpToAxes
+	instanceVariableNames: ''
+	package: 'Axxord'!
+
+!InterestedUpToAxes methodsFor: 'testing'!
+
+accepts: anAspect
+    ^anAspect size <= aspect size and: [anAspect = (aspect copyFrom: 1 to: anAspect size)]
+! !
+
 Error subclass: #AxonOff
 	instanceVariableNames: ''
 	package: 'Axxord'!