|
@@ -1,4 +1,121 @@
|
|
|
smalltalk.addPackage('Kernel-Collections', {});
|
|
|
+smalltalk.addClass('Association', smalltalk.Object, ['key', 'value'], 'Kernel-Collections');
|
|
|
+smalltalk.addMethod(
|
|
|
+unescape('__eq'),
|
|
|
+smalltalk.method({
|
|
|
+selector: unescape('%3D'),
|
|
|
+category: 'comparing',
|
|
|
+fn: function (anAssociation) {
|
|
|
+var self=this;
|
|
|
+return smalltalk.send(smalltalk.send(smalltalk.send(self, "_class", []), "__eq", [smalltalk.send(anAssociation, "_class", [])]), "_and_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(self, "_key", []), "__eq", [smalltalk.send(anAssociation, "_key", [])]), "_and_", [(function(){return smalltalk.send(smalltalk.send(self, "_value", []), "__eq", [smalltalk.send(anAssociation, "_value", [])]);})]);})]);
|
|
|
+return self;},
|
|
|
+args: ["anAssociation"],
|
|
|
+source: unescape('%3D%20anAssociation%0A%09%5Eself%20class%20%3D%20anAssociation%20class%20and%3A%20%5B%0A%09%20%20%20%20self%20key%20%3D%20anAssociation%20key%20and%3A%20%5B%0A%09%09self%20value%20%3D%20anAssociation%20value%5D%5D'),
|
|
|
+messageSends: ["and:", unescape("%3D"), "class", "key", "value"],
|
|
|
+referencedClasses: []
|
|
|
+}),
|
|
|
+smalltalk.Association);
|
|
|
+
|
|
|
+smalltalk.addMethod(
|
|
|
+unescape('_key_'),
|
|
|
+smalltalk.method({
|
|
|
+selector: unescape('key%3A'),
|
|
|
+category: 'accessing',
|
|
|
+fn: function (aKey) {
|
|
|
+var self=this;
|
|
|
+(self['@key']=aKey);
|
|
|
+return self;},
|
|
|
+args: ["aKey"],
|
|
|
+source: unescape('key%3A%20aKey%0A%09key%20%3A%3D%20aKey'),
|
|
|
+messageSends: [],
|
|
|
+referencedClasses: []
|
|
|
+}),
|
|
|
+smalltalk.Association);
|
|
|
+
|
|
|
+smalltalk.addMethod(
|
|
|
+unescape('_key'),
|
|
|
+smalltalk.method({
|
|
|
+selector: unescape('key'),
|
|
|
+category: 'accessing',
|
|
|
+fn: function () {
|
|
|
+var self=this;
|
|
|
+return self['@key'];
|
|
|
+return self;},
|
|
|
+args: [],
|
|
|
+source: unescape('key%0A%09%5Ekey'),
|
|
|
+messageSends: [],
|
|
|
+referencedClasses: []
|
|
|
+}),
|
|
|
+smalltalk.Association);
|
|
|
+
|
|
|
+smalltalk.addMethod(
|
|
|
+unescape('_value_'),
|
|
|
+smalltalk.method({
|
|
|
+selector: unescape('value%3A'),
|
|
|
+category: 'accessing',
|
|
|
+fn: function (aValue) {
|
|
|
+var self=this;
|
|
|
+(self['@value']=aValue);
|
|
|
+return self;},
|
|
|
+args: ["aValue"],
|
|
|
+source: unescape('value%3A%20aValue%0A%09value%20%3A%3D%20aValue'),
|
|
|
+messageSends: [],
|
|
|
+referencedClasses: []
|
|
|
+}),
|
|
|
+smalltalk.Association);
|
|
|
+
|
|
|
+smalltalk.addMethod(
|
|
|
+unescape('_value'),
|
|
|
+smalltalk.method({
|
|
|
+selector: unescape('value'),
|
|
|
+category: 'accessing',
|
|
|
+fn: function () {
|
|
|
+var self=this;
|
|
|
+return self['@value'];
|
|
|
+return self;},
|
|
|
+args: [],
|
|
|
+source: unescape('value%0A%09%5Evalue'),
|
|
|
+messageSends: [],
|
|
|
+referencedClasses: []
|
|
|
+}),
|
|
|
+smalltalk.Association);
|
|
|
+
|
|
|
+smalltalk.addMethod(
|
|
|
+unescape('_storeOn_'),
|
|
|
+smalltalk.method({
|
|
|
+selector: unescape('storeOn%3A'),
|
|
|
+category: 'comparing',
|
|
|
+fn: function (aStream) {
|
|
|
+var self=this;
|
|
|
+smalltalk.send(self['@key'], "_storeOn_", [aStream]);
|
|
|
+smalltalk.send(aStream, "_nextPutAll_", [unescape("-%3E")]);
|
|
|
+smalltalk.send(self['@value'], "_storeOn_", [aStream]);
|
|
|
+return self;},
|
|
|
+args: ["aStream"],
|
|
|
+source: unescape('storeOn%3A%20aStream%0A%09%22Store%20in%20the%20format%20%28key-%3Evalue%29%22%0A%0A%09%22aStream%20nextPutAll%3A%20%27%28%27.%22%0A%09key%20storeOn%3A%20aStream.%0A%09aStream%20nextPutAll%3A%20%27-%3E%27.%0A%09value%20storeOn%3A%20aStream.%0A%09%22aStream%20nextPutAll%3A%20%27%29%27%22'),
|
|
|
+messageSends: ["storeOn:", "nextPutAll:"],
|
|
|
+referencedClasses: []
|
|
|
+}),
|
|
|
+smalltalk.Association);
|
|
|
+
|
|
|
+
|
|
|
+smalltalk.addMethod(
|
|
|
+unescape('_key_value_'),
|
|
|
+smalltalk.method({
|
|
|
+selector: unescape('key%3Avalue%3A'),
|
|
|
+category: 'instance creation',
|
|
|
+fn: function (aKey, aValue) {
|
|
|
+var self=this;
|
|
|
+return (function($rec){smalltalk.send($rec, "_key_", [aKey]);smalltalk.send($rec, "_value_", [aValue]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
|
|
|
+return self;},
|
|
|
+args: ["aKey", "aValue"],
|
|
|
+source: unescape('key%3A%20aKey%20value%3A%20aValue%0A%09%20%20%20%20%5Eself%20new%0A%09%09key%3A%20aKey%3B%0A%09%09value%3A%20aValue%3B%0A%09%09yourself'),
|
|
|
+messageSends: ["key:", "value:", "yourself", "new"],
|
|
|
+referencedClasses: []
|
|
|
+}),
|
|
|
+smalltalk.Association.klass);
|
|
|
+
|
|
|
+
|
|
|
smalltalk.addClass('Stream', smalltalk.Object, ['collection', 'position', 'streamSize'], 'Kernel-Collections');
|
|
|
smalltalk.addMethod(
|
|
|
unescape('_collection'),
|
|
@@ -392,123 +509,6 @@ referencedClasses: []
|
|
|
smalltalk.Stream.klass);
|
|
|
|
|
|
|
|
|
-smalltalk.addClass('Association', smalltalk.Object, ['key', 'value'], 'Kernel-Collections');
|
|
|
-smalltalk.addMethod(
|
|
|
-unescape('__eq'),
|
|
|
-smalltalk.method({
|
|
|
-selector: unescape('%3D'),
|
|
|
-category: 'comparing',
|
|
|
-fn: function (anAssociation) {
|
|
|
-var self=this;
|
|
|
-return smalltalk.send(smalltalk.send(smalltalk.send(self, "_class", []), "__eq", [smalltalk.send(anAssociation, "_class", [])]), "_and_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(self, "_key", []), "__eq", [smalltalk.send(anAssociation, "_key", [])]), "_and_", [(function(){return smalltalk.send(smalltalk.send(self, "_value", []), "__eq", [smalltalk.send(anAssociation, "_value", [])]);})]);})]);
|
|
|
-return self;},
|
|
|
-args: ["anAssociation"],
|
|
|
-source: unescape('%3D%20anAssociation%0A%09%5Eself%20class%20%3D%20anAssociation%20class%20and%3A%20%5B%0A%09%20%20%20%20self%20key%20%3D%20anAssociation%20key%20and%3A%20%5B%0A%09%09self%20value%20%3D%20anAssociation%20value%5D%5D'),
|
|
|
-messageSends: ["and:", unescape("%3D"), "class", "key", "value"],
|
|
|
-referencedClasses: []
|
|
|
-}),
|
|
|
-smalltalk.Association);
|
|
|
-
|
|
|
-smalltalk.addMethod(
|
|
|
-unescape('_key_'),
|
|
|
-smalltalk.method({
|
|
|
-selector: unescape('key%3A'),
|
|
|
-category: 'accessing',
|
|
|
-fn: function (aKey) {
|
|
|
-var self=this;
|
|
|
-(self['@key']=aKey);
|
|
|
-return self;},
|
|
|
-args: ["aKey"],
|
|
|
-source: unescape('key%3A%20aKey%0A%09key%20%3A%3D%20aKey'),
|
|
|
-messageSends: [],
|
|
|
-referencedClasses: []
|
|
|
-}),
|
|
|
-smalltalk.Association);
|
|
|
-
|
|
|
-smalltalk.addMethod(
|
|
|
-unescape('_key'),
|
|
|
-smalltalk.method({
|
|
|
-selector: unescape('key'),
|
|
|
-category: 'accessing',
|
|
|
-fn: function () {
|
|
|
-var self=this;
|
|
|
-return self['@key'];
|
|
|
-return self;},
|
|
|
-args: [],
|
|
|
-source: unescape('key%0A%09%5Ekey'),
|
|
|
-messageSends: [],
|
|
|
-referencedClasses: []
|
|
|
-}),
|
|
|
-smalltalk.Association);
|
|
|
-
|
|
|
-smalltalk.addMethod(
|
|
|
-unescape('_value_'),
|
|
|
-smalltalk.method({
|
|
|
-selector: unescape('value%3A'),
|
|
|
-category: 'accessing',
|
|
|
-fn: function (aValue) {
|
|
|
-var self=this;
|
|
|
-(self['@value']=aValue);
|
|
|
-return self;},
|
|
|
-args: ["aValue"],
|
|
|
-source: unescape('value%3A%20aValue%0A%09value%20%3A%3D%20aValue'),
|
|
|
-messageSends: [],
|
|
|
-referencedClasses: []
|
|
|
-}),
|
|
|
-smalltalk.Association);
|
|
|
-
|
|
|
-smalltalk.addMethod(
|
|
|
-unescape('_value'),
|
|
|
-smalltalk.method({
|
|
|
-selector: unescape('value'),
|
|
|
-category: 'accessing',
|
|
|
-fn: function () {
|
|
|
-var self=this;
|
|
|
-return self['@value'];
|
|
|
-return self;},
|
|
|
-args: [],
|
|
|
-source: unescape('value%0A%09%5Evalue'),
|
|
|
-messageSends: [],
|
|
|
-referencedClasses: []
|
|
|
-}),
|
|
|
-smalltalk.Association);
|
|
|
-
|
|
|
-smalltalk.addMethod(
|
|
|
-unescape('_storeOn_'),
|
|
|
-smalltalk.method({
|
|
|
-selector: unescape('storeOn%3A'),
|
|
|
-category: 'comparing',
|
|
|
-fn: function (aStream) {
|
|
|
-var self=this;
|
|
|
-smalltalk.send(self['@key'], "_storeOn_", [aStream]);
|
|
|
-smalltalk.send(aStream, "_nextPutAll_", [unescape("-%3E")]);
|
|
|
-smalltalk.send(self['@value'], "_storeOn_", [aStream]);
|
|
|
-return self;},
|
|
|
-args: ["aStream"],
|
|
|
-source: unescape('storeOn%3A%20aStream%0A%09%22Store%20in%20the%20format%20%28key-%3Evalue%29%22%0A%0A%09%22aStream%20nextPutAll%3A%20%27%28%27.%22%0A%09key%20storeOn%3A%20aStream.%0A%09aStream%20nextPutAll%3A%20%27-%3E%27.%0A%09value%20storeOn%3A%20aStream.%0A%09%22aStream%20nextPutAll%3A%20%27%29%27%22'),
|
|
|
-messageSends: ["storeOn:", "nextPutAll:"],
|
|
|
-referencedClasses: []
|
|
|
-}),
|
|
|
-smalltalk.Association);
|
|
|
-
|
|
|
-
|
|
|
-smalltalk.addMethod(
|
|
|
-unescape('_key_value_'),
|
|
|
-smalltalk.method({
|
|
|
-selector: unescape('key%3Avalue%3A'),
|
|
|
-category: 'instance creation',
|
|
|
-fn: function (aKey, aValue) {
|
|
|
-var self=this;
|
|
|
-return (function($rec){smalltalk.send($rec, "_key_", [aKey]);smalltalk.send($rec, "_value_", [aValue]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
|
|
|
-return self;},
|
|
|
-args: ["aKey", "aValue"],
|
|
|
-source: unescape('key%3A%20aKey%20value%3A%20aValue%0A%09%20%20%20%20%5Eself%20new%0A%09%09key%3A%20aKey%3B%0A%09%09value%3A%20aValue%3B%0A%09%09yourself'),
|
|
|
-messageSends: ["key:", "value:", "yourself", "new"],
|
|
|
-referencedClasses: []
|
|
|
-}),
|
|
|
-smalltalk.Association.klass);
|
|
|
-
|
|
|
-
|
|
|
smalltalk.addClass('RegularExpression', smalltalk.Object, [], 'Kernel-Collections');
|
|
|
smalltalk.addMethod(
|
|
|
unescape('_compile_'),
|
|
@@ -1081,33 +1081,33 @@ referencedClasses: []
|
|
|
smalltalk.Collection);
|
|
|
|
|
|
smalltalk.addMethod(
|
|
|
-unescape('_asJSONString'),
|
|
|
+unescape('_asOrderedCollection'),
|
|
|
smalltalk.method({
|
|
|
-selector: unescape('asJSONString'),
|
|
|
+selector: unescape('asOrderedCollection'),
|
|
|
category: 'converting',
|
|
|
fn: function () {
|
|
|
var self=this;
|
|
|
-return smalltalk.send((smalltalk.JSON || JSON), "_stringify_", [smalltalk.send(self, "_collect_", [(function(each){return smalltalk.send(each, "_asJSONString", []);})])]);
|
|
|
+return smalltalk.send(self, "_asArray", []);
|
|
|
return self;},
|
|
|
args: [],
|
|
|
-source: unescape('asJSONString%0A%09%5EJSON%20stringify%3A%20%28self%20collect%3A%20%5B%3Aeach%20%7C%20each%20asJSONString%5D%29'),
|
|
|
-messageSends: ["stringify:", "collect:", "asJSONString"],
|
|
|
-referencedClasses: ["JSON"]
|
|
|
+source: unescape('asOrderedCollection%0A%09%5Eself%20asArray'),
|
|
|
+messageSends: ["asArray"],
|
|
|
+referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.Collection);
|
|
|
|
|
|
smalltalk.addMethod(
|
|
|
-unescape('_asOrderedCollection'),
|
|
|
+unescape('_asJSON'),
|
|
|
smalltalk.method({
|
|
|
-selector: unescape('asOrderedCollection'),
|
|
|
+selector: unescape('asJSON'),
|
|
|
category: 'converting',
|
|
|
-fn: function () {
|
|
|
+fn: function (){
|
|
|
var self=this;
|
|
|
-return smalltalk.send(self, "_asArray", []);
|
|
|
+return smalltalk.send(smalltalk.send(self, "_asArray", []), "_collect_", [(function(each){return smalltalk.send(each, "_asJSON", []);})]);
|
|
|
return self;},
|
|
|
args: [],
|
|
|
-source: unescape('asOrderedCollection%0A%09%5Eself%20asArray'),
|
|
|
-messageSends: ["asArray"],
|
|
|
+source: unescape('asJSON%0A%09%5Eself%20asArray%20collect%3A%20%5B%3Aeach%20%7C%20each%20asJSON%5D'),
|
|
|
+messageSends: ["collect:", "asArray", "asJSON"],
|
|
|
referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.Collection);
|
|
@@ -2534,34 +2534,34 @@ referencedClasses: []
|
|
|
smalltalk.String);
|
|
|
|
|
|
smalltalk.addMethod(
|
|
|
-unescape('_asJSONString'),
|
|
|
+unescape('_asSymbol'),
|
|
|
smalltalk.method({
|
|
|
-selector: unescape('asJSONString'),
|
|
|
+selector: unescape('asSymbol'),
|
|
|
category: 'converting',
|
|
|
fn: function () {
|
|
|
var self=this;
|
|
|
-return self;
|
|
|
+return smalltalk.send((smalltalk.Symbol || Symbol), "_lookup_", [self]);
|
|
|
return self;},
|
|
|
args: [],
|
|
|
-source: unescape('asJSONString%0A%09%5Eself'),
|
|
|
-messageSends: [],
|
|
|
-referencedClasses: []
|
|
|
+source: unescape('asSymbol%0A%09%5ESymbol%20lookup%3A%20self'),
|
|
|
+messageSends: ["lookup:"],
|
|
|
+referencedClasses: ["Symbol"]
|
|
|
}),
|
|
|
smalltalk.String);
|
|
|
|
|
|
smalltalk.addMethod(
|
|
|
-unescape('_asSymbol'),
|
|
|
+unescape('_asJSON'),
|
|
|
smalltalk.method({
|
|
|
-selector: unescape('asSymbol'),
|
|
|
+selector: unescape('asJSON'),
|
|
|
category: 'converting',
|
|
|
-fn: function () {
|
|
|
+fn: function (){
|
|
|
var self=this;
|
|
|
-return smalltalk.send((smalltalk.Symbol || Symbol), "_lookup_", [self]);
|
|
|
+return self;
|
|
|
return self;},
|
|
|
args: [],
|
|
|
-source: unescape('asSymbol%0A%09%5ESymbol%20lookup%3A%20self'),
|
|
|
-messageSends: ["lookup:"],
|
|
|
-referencedClasses: ["Symbol"]
|
|
|
+source: unescape('asJSON%0A%09%5Eself'),
|
|
|
+messageSends: [],
|
|
|
+referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.String);
|
|
|
|
|
@@ -2973,6 +2973,22 @@ referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.Symbol);
|
|
|
|
|
|
+smalltalk.addMethod(
|
|
|
+unescape('_asJSON'),
|
|
|
+smalltalk.method({
|
|
|
+selector: unescape('asJSON'),
|
|
|
+category: 'converting',
|
|
|
+fn: function (){
|
|
|
+var self=this;
|
|
|
+return smalltalk.send(smalltalk.send(self, "_asString", []), "_asJSON", []);
|
|
|
+return self;},
|
|
|
+args: [],
|
|
|
+source: unescape('asJSON%0A%09%5Eself%20asString%20asJSON'),
|
|
|
+messageSends: ["asJSON", "asString"],
|
|
|
+referencedClasses: []
|
|
|
+}),
|
|
|
+smalltalk.Symbol);
|
|
|
+
|
|
|
|
|
|
smalltalk.addMethod(
|
|
|
unescape('_lookup_'),
|
|
@@ -4470,6 +4486,25 @@ referencedClasses: ["Dictionary"]
|
|
|
}),
|
|
|
smalltalk.HashedCollection);
|
|
|
|
|
|
+smalltalk.addMethod(
|
|
|
+unescape('_asJSON'),
|
|
|
+smalltalk.method({
|
|
|
+selector: unescape('asJSON'),
|
|
|
+category: 'converting',
|
|
|
+fn: function (){
|
|
|
+var self=this;
|
|
|
+var c=nil;
|
|
|
+(c=smalltalk.send(smalltalk.send(self, "_class", []), "_new", []));
|
|
|
+smalltalk.send(self, "_keysAndValuesDo_", [(function(key, value){return smalltalk.send(c, "_at_put_", [key, smalltalk.send(value, "_asJSON", [])]);})]);
|
|
|
+return c;
|
|
|
+return self;},
|
|
|
+args: [],
|
|
|
+source: unescape('asJSON%0A%09%7C%20c%20%7C%0A%09c%20%3A%3D%20self%20class%20new.%0A%09self%20keysAndValuesDo%3A%20%5B%3Akey%20%3Avalue%20%7C%0A%09%09c%20at%3A%20key%20put%3A%20value%20asJSON%5D.%0A%09%5Ec'),
|
|
|
+messageSends: ["new", "class", "keysAndValuesDo:", "at:put:", "asJSON"],
|
|
|
+referencedClasses: []
|
|
|
+}),
|
|
|
+smalltalk.HashedCollection);
|
|
|
+
|
|
|
|
|
|
smalltalk.addMethod(
|
|
|
unescape('_fromPairs_'),
|
|
@@ -4652,17 +4687,17 @@ referencedClasses: ["HashedCollection"]
|
|
|
smalltalk.Dictionary);
|
|
|
|
|
|
smalltalk.addMethod(
|
|
|
-unescape('_asJSONString'),
|
|
|
+unescape('_asJSON'),
|
|
|
smalltalk.method({
|
|
|
-selector: unescape('asJSONString'),
|
|
|
+selector: unescape('asJSON'),
|
|
|
category: 'converting',
|
|
|
-fn: function () {
|
|
|
+fn: function (){
|
|
|
var self=this;
|
|
|
-return smalltalk.send(smalltalk.send(self, "_asHashedCollection", []), "_asJSONString", []);
|
|
|
+return smalltalk.send(smalltalk.send(self, "_asHashedCollection", []), "_asJSON", []);
|
|
|
return self;},
|
|
|
args: [],
|
|
|
-source: unescape('asJSONString%0A%09%5Eself%20asHashedCollection%20asJSONString'),
|
|
|
-messageSends: ["asJSONString", "asHashedCollection"],
|
|
|
+source: unescape('asJSON%0A%09%5Eself%20asHashedCollection%20asJSON'),
|
|
|
+messageSends: ["asJSON", "asHashedCollection"],
|
|
|
referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.Dictionary);
|