smalltalk.addPackage('Kernel-Collections', {}); smalltalk.addClass('Association', smalltalk.Object, ['key', 'value'], 'Kernel-Collections'); smalltalk.addMethod( "__eq", smalltalk.method({ selector: "=", fn: function (anAssociation){ var self=this; var $1; $1=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 $1; } }), smalltalk.Association); smalltalk.addMethod( "_key", smalltalk.method({ selector: "key", fn: function (){ var self=this; return self["@key"]; } }), smalltalk.Association); smalltalk.addMethod( "_key_", smalltalk.method({ selector: "key:", fn: function (aKey){ var self=this; self["@key"]=aKey; return self} }), smalltalk.Association); smalltalk.addMethod( "_printString", smalltalk.method({ selector: "printString", fn: function (){ var self=this; var $1; $1=smalltalk.send((smalltalk.String || String),"_streamContents_",[(function(aStream){ return smalltalk.send(self,"_storeOn_",[aStream]); })]); return $1; } }), smalltalk.Association); smalltalk.addMethod( "_storeOn_", smalltalk.method({ selector: "storeOn:", fn: function (aStream){ var self=this; smalltalk.send(self["@key"],"_storeOn_",[aStream]); smalltalk.send(aStream,"_nextPutAll_",["->"]); smalltalk.send(self["@value"],"_storeOn_",[aStream]); return self} }), smalltalk.Association); smalltalk.addMethod( "_value", smalltalk.method({ selector: "value", fn: function (){ var self=this; return self["@value"]; } }), smalltalk.Association); smalltalk.addMethod( "_value_", smalltalk.method({ selector: "value:", fn: function (aValue){ var self=this; self["@value"]=aValue; return self} }), smalltalk.Association); smalltalk.addMethod( "_key_value_", smalltalk.method({ selector: "key:value:", fn: function (aKey,aValue){ var self=this; var $2,$3,$1; $2=smalltalk.send(self,"_new",[]); smalltalk.send($2,"_key_",[aKey]); smalltalk.send($2,"_value_",[aValue]); $3=smalltalk.send($2,"_yourself",[]); $1=$3; return $1; } }), smalltalk.Association.klass); smalltalk.addClass('Collection', smalltalk.Object, [], 'Kernel-Collections'); smalltalk.addMethod( "__comma", smalltalk.method({ selector: ",", fn: function (aCollection){ var self=this; var $2,$3,$1; $2=smalltalk.send(self,"_copy",[]); smalltalk.send($2,"_addAll_",[aCollection]); $3=smalltalk.send($2,"_yourself",[]); $1=$3; return $1; } }), smalltalk.Collection); smalltalk.addMethod( "_add_", smalltalk.method({ selector: "add:", fn: function (anObject){ var self=this; smalltalk.send(self,"_subclassResponsibility",[]); return self} }), smalltalk.Collection); smalltalk.addMethod( "_addAll_", smalltalk.method({ selector: "addAll:", fn: function (aCollection){ var self=this; smalltalk.send(aCollection,"_do_",[(function(each){ return smalltalk.send(self,"_add_",[each]); })]); return aCollection; } }), smalltalk.Collection); smalltalk.addMethod( "_asArray", smalltalk.method({ selector: "asArray", fn: function (){ var self=this; var $1; $1=smalltalk.send((smalltalk.Array || Array),"_withAll_",[self]); return $1; } }), smalltalk.Collection); smalltalk.addMethod( "_asJSON", smalltalk.method({ selector: "asJSON", fn: function (){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(self,"_asArray",[]),"_collect_",[(function(each){ return smalltalk.send(each,"_asJSON",[]); })]); return $1; } }), smalltalk.Collection); smalltalk.addMethod( "_asOrderedCollection", smalltalk.method({ selector: "asOrderedCollection", fn: function (){ var self=this; var $1; $1=smalltalk.send(self,"_asArray",[]); return $1; } }), smalltalk.Collection); smalltalk.addMethod( "_asSet", smalltalk.method({ selector: "asSet", fn: function (){ var self=this; var $1; $1=smalltalk.send((smalltalk.Set || Set),"_withAll_",[self]); return $1; } }), smalltalk.Collection); smalltalk.addMethod( "_collect_", smalltalk.method({ selector: "collect:", fn: function (aBlock){ var self=this; var $1; var stream; stream=smalltalk.send(smalltalk.send(smalltalk.send(self,"_class",[]),"_new",[]),"_writeStream",[]); smalltalk.send(self,"_do_",[(function(each){ return smalltalk.send(stream,"_nextPut_",[smalltalk.send(aBlock,"_value_",[each])]); })]); $1=smalltalk.send(stream,"_contents",[]); return $1; } }), smalltalk.Collection); smalltalk.addMethod( "_copyWith_", smalltalk.method({ selector: "copyWith:", fn: function (anObject){ var self=this; var $2,$3,$1; $2=smalltalk.send(self,"_copy",[]); smalltalk.send($2,"_add_",[anObject]); $3=smalltalk.send($2,"_yourself",[]); $1=$3; return $1; } }), smalltalk.Collection); smalltalk.addMethod( "_copyWithAll_", smalltalk.method({ selector: "copyWithAll:", fn: function (aCollection){ var self=this; var $2,$3,$1; $2=smalltalk.send(self,"_copy",[]); smalltalk.send($2,"_addAll_",[aCollection]); $3=smalltalk.send($2,"_yourself",[]); $1=$3; return $1; } }), smalltalk.Collection); smalltalk.addMethod( "_copyWithoutAll_", smalltalk.method({ selector: "copyWithoutAll:", fn: function (aCollection){ var self=this; var $1; $1=smalltalk.send(self,"_reject_",[(function(each){ return smalltalk.send(aCollection,"_includes_",[each]); })]); return $1; } }), smalltalk.Collection); smalltalk.addMethod( "_detect_", smalltalk.method({ selector: "detect:", fn: function (aBlock){ var self=this; var $1; $1=smalltalk.send(self,"_detect_ifNone_",[aBlock,(function(){ return smalltalk.send(self,"_errorNotFound",[]); })]); return $1; } }), smalltalk.Collection); smalltalk.addMethod( "_detect_ifNone_", smalltalk.method({ selector: "detect:ifNone:", fn: function (aBlock,anotherBlock){ var self=this; for(var i = 0; i < self.length; i++) if(aBlock(self[i])) return self[i]; return anotherBlock(); ; ; return self} }), smalltalk.Collection); smalltalk.addMethod( "_do_", smalltalk.method({ selector: "do:", fn: function (aBlock){ var self=this; for(var i=0;i", fn: function (aString){ var self=this; return String(self) > aString._asString(); ; return self} }), smalltalk.String); smalltalk.addMethod( "__gt_eq", smalltalk.method({ selector: ">=", fn: function (aString){ var self=this; return String(self) >= aString._asString(); ; return self} }), smalltalk.String); smalltalk.addMethod( "_asJSON", smalltalk.method({ selector: "asJSON", fn: function (){ var self=this; return self; } }), smalltalk.String); smalltalk.addMethod( "_asJavaScriptSelector", smalltalk.method({ selector: "asJavaScriptSelector", fn: function (){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_asSelector",[]),"_replace_with_",["^_",""]),"_replace_with_",["_.*",""]); return $1; } }), smalltalk.String); smalltalk.addMethod( "_asJavascript", smalltalk.method({ selector: "asJavascript", fn: function (){ var self=this; if(self.search(/^[a-zA-Z0-9_:.$ ]*$/) == -1) return "\"" + self.replace(/[\x00-\x1f"\\\x7f-\x9f]/g, function(ch){var c=ch.charCodeAt(0);return "\\x"+("0"+c.toString(16)).slice(-2)}) + "\""; else return "\"" + self + "\""; ; ; return self} }), smalltalk.String); smalltalk.addMethod( "_asLowercase", smalltalk.method({ selector: "asLowercase", fn: function (){ var self=this; return self.toLowerCase(); ; return self} }), smalltalk.String); smalltalk.addMethod( "_asNumber", smalltalk.method({ selector: "asNumber", fn: function (){ var self=this; return Number(self); ; return self} }), smalltalk.String); smalltalk.addMethod( "_asSelector", smalltalk.method({ selector: "asSelector", fn: function (){ var self=this; var selector; selector=smalltalk.send("_","__comma",[self]); selector=smalltalk.send(selector,"_replace_with_",[":","_"]); selector=smalltalk.send(selector,"_replace_with_",["[+]","_plus"]); selector=smalltalk.send(selector,"_replace_with_",["-","_minus"]); selector=smalltalk.send(selector,"_replace_with_",["[*]","_star"]); selector=smalltalk.send(selector,"_replace_with_",["[/]","_slash"]); selector=smalltalk.send(selector,"_replace_with_",[">","_gt"]); selector=smalltalk.send(selector,"_replace_with_",["<","_lt"]); selector=smalltalk.send(selector,"_replace_with_",["=","_eq"]); selector=smalltalk.send(selector,"_replace_with_",[",","_comma"]); selector=smalltalk.send(selector,"_replace_with_",["[@]","_at"]); return selector; } }), smalltalk.String); smalltalk.addMethod( "_asString", smalltalk.method({ selector: "asString", fn: function (){ var self=this; return self; } }), smalltalk.String); smalltalk.addMethod( "_asSymbol", smalltalk.method({ selector: "asSymbol", fn: function (){ var self=this; var $1; $1=smalltalk.send((smalltalk.Symbol || Symbol),"_lookup_",[self]); return $1; } }), smalltalk.String); smalltalk.addMethod( "_asUppercase", smalltalk.method({ selector: "asUppercase", fn: function (){ var self=this; return self.toUpperCase(); ; return self} }), smalltalk.String); smalltalk.addMethod( "_asciiValue", smalltalk.method({ selector: "asciiValue", fn: function (){ var self=this; return self.charCodeAt(0);; ; return self} }), smalltalk.String); smalltalk.addMethod( "_at_ifAbsent_", smalltalk.method({ selector: "at:ifAbsent:", fn: function (anIndex,aBlock){ var self=this; return String(self).charAt(anIndex - 1) || aBlock(); ; return self} }), smalltalk.String); smalltalk.addMethod( "_copyFrom_to_", smalltalk.method({ selector: "copyFrom:to:", fn: function (anIndex,anotherIndex){ var self=this; return self.substring(anIndex - 1, anotherIndex); ; return self} }), smalltalk.String); smalltalk.addMethod( "_deepCopy", smalltalk.method({ selector: "deepCopy", fn: function (){ var self=this; var $1; $1=smalltalk.send(self,"_shallowCopy",[]); return $1; } }), smalltalk.String); smalltalk.addMethod( "_do_", smalltalk.method({ selector: "do:", fn: function (aBlock){ var self=this; for(var i=0;i", fn: function (aSymbol){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"__gt",[smalltalk.send(aSymbol,"_asString",[])]); return $1; } }), smalltalk.Symbol); smalltalk.addMethod( "__gt_eq", smalltalk.method({ selector: ">=", fn: function (aSymbol){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"__gt_eq",[smalltalk.send(aSymbol,"_asString",[])]); return $1; } }), smalltalk.Symbol); smalltalk.addMethod( "_asJSON", smalltalk.method({ selector: "asJSON", fn: function (){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"_asJSON",[]); return $1; } }), smalltalk.Symbol); smalltalk.addMethod( "_asJavascript", smalltalk.method({ selector: "asJavascript", fn: function (){ var self=this; var $1; $1=smalltalk.send(smalltalk.send("smalltalk.symbolFor(\x22","__comma",[smalltalk.send(self,"_asString",[])]),"__comma",["\x22)"]); return $1; } }), smalltalk.Symbol); smalltalk.addMethod( "_asSelector", smalltalk.method({ selector: "asSelector", fn: function (){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"_asSelector",[]); return $1; } }), smalltalk.Symbol); smalltalk.addMethod( "_asString", smalltalk.method({ selector: "asString", fn: function (){ var self=this; return self.value; ; return self} }), smalltalk.Symbol); smalltalk.addMethod( "_asSymbol", smalltalk.method({ selector: "asSymbol", fn: function (){ var self=this; return self; } }), smalltalk.Symbol); smalltalk.addMethod( "_at_ifAbsent_", smalltalk.method({ selector: "at:ifAbsent:", fn: function (anIndex,aBlock){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"_at_ifAbsent_",[anIndex,aBlock]); return $1; } }), smalltalk.Symbol); smalltalk.addMethod( "_collect_", smalltalk.method({ selector: "collect:", fn: function (aBlock){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_asString",[]),"_collect_",[aBlock]),"_asSymbol",[]); return $1; } }), smalltalk.Symbol); smalltalk.addMethod( "_copyFrom_to_", smalltalk.method({ selector: "copyFrom:to:", fn: function (anIndex,anotherIndex){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(self,"_class",[]),"_fromString_",[smalltalk.send(smalltalk.send(self,"_asString",[]),"_copyFrom_to_",[anIndex,anotherIndex])]); return $1; } }), smalltalk.Symbol); smalltalk.addMethod( "_deepCopy", smalltalk.method({ selector: "deepCopy", fn: function (){ var self=this; return self; } }), smalltalk.Symbol); smalltalk.addMethod( "_detect_", smalltalk.method({ selector: "detect:", fn: function (aBlock){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"_detect_",[aBlock]); return $1; } }), smalltalk.Symbol); smalltalk.addMethod( "_do_", smalltalk.method({ selector: "do:", fn: function (aBlock){ var self=this; smalltalk.send(smalltalk.send(self,"_asString",[]),"_do_",[aBlock]); return self} }), smalltalk.Symbol); smalltalk.addMethod( "_isSymbol", smalltalk.method({ selector: "isSymbol", fn: function (){ var self=this; return true; } }), smalltalk.Symbol); smalltalk.addMethod( "_printString", smalltalk.method({ selector: "printString", fn: function (){ var self=this; var $1; $1=smalltalk.send("#","__comma",[smalltalk.send(self,"_asString",[])]); return $1; } }), smalltalk.Symbol); smalltalk.addMethod( "_select_", smalltalk.method({ selector: "select:", fn: function (aBlock){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_asString",[]),"_select_",[aBlock]),"_asSymbol",[]); return $1; } }), smalltalk.Symbol); smalltalk.addMethod( "_shallowCopy", smalltalk.method({ selector: "shallowCopy", fn: function (){ var self=this; return self; } }), smalltalk.Symbol); smalltalk.addMethod( "_size", smalltalk.method({ selector: "size", fn: function (){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(self,"_asString",[]),"_size",[]); return $1; } }), smalltalk.Symbol); smalltalk.addMethod( "_withIndexDo_", smalltalk.method({ selector: "withIndexDo:", fn: function (aBlock){ var self=this; smalltalk.send(smalltalk.send(self,"_asString",[]),"_withIndexDo_",[aBlock]); return self} }), smalltalk.Symbol); smalltalk.addMethod( "_basicNew", smalltalk.method({ selector: "basicNew", fn: function (){ var self=this; smalltalk.send(self,"_shouldNotImplement",[]); return self} }), smalltalk.Symbol.klass); smalltalk.addMethod( "_fromString_", smalltalk.method({ selector: "fromString:", fn: function (aString){ var self=this; var $1; $1=smalltalk.send(self,"_lookup_",[aString]); return $1; } }), smalltalk.Symbol.klass); smalltalk.addMethod( "_lookup_", smalltalk.method({ selector: "lookup:", fn: function (aString){ var self=this; return smalltalk.symbolFor(aString);; ; return self} }), smalltalk.Symbol.klass); smalltalk.addClass('Set', smalltalk.Collection, ['elements'], 'Kernel-Collections'); smalltalk.addMethod( "__eq", smalltalk.method({ selector: "=", fn: function (aCollection){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(smalltalk.send(self,"_class",[]),"__eq",[smalltalk.send(aCollection,"_class",[])]),"_and_",[(function(){ return smalltalk.send(self["@elements"],"__eq",[smalltalk.send(aCollection,"_asArray",[])]); })]); return $1; } }), smalltalk.Set); smalltalk.addMethod( "_add_", smalltalk.method({ selector: "add:", fn: function (anObject){ var self=this; var found; for(var i=0; i < self['@elements'].length; i++) { if(anObject == self['@elements'][i]) { found = true; break; } } if(!found) {self['@elements'].push(anObject)} ; ; return self} }), smalltalk.Set); smalltalk.addMethod( "_asArray", smalltalk.method({ selector: "asArray", fn: function (){ var self=this; var $1; $1=smalltalk.send(self["@elements"],"_copy",[]); return $1; } }), smalltalk.Set); smalltalk.addMethod( "_detect_ifNone_", smalltalk.method({ selector: "detect:ifNone:", fn: function (aBlock,anotherBlock){ var self=this; var $1; $1=smalltalk.send(self["@elements"],"_detect_ifNone_",[aBlock,anotherBlock]); return $1; } }), smalltalk.Set); smalltalk.addMethod( "_do_", smalltalk.method({ selector: "do:", fn: function (aBlock){ var self=this; smalltalk.send(self["@elements"],"_do_",[aBlock]); return self} }), smalltalk.Set); smalltalk.addMethod( "_includes_", smalltalk.method({ selector: "includes:", fn: function (anObject){ var self=this; var $1; $1=smalltalk.send(self["@elements"],"_includes_",[anObject]); return $1; } }), smalltalk.Set); smalltalk.addMethod( "_initialize", smalltalk.method({ selector: "initialize", fn: function (){ var self=this; smalltalk.send(self,"_initialize",[],smalltalk.Collection); self["@elements"]=[]; return self} }), smalltalk.Set); smalltalk.addMethod( "_remove_", smalltalk.method({ selector: "remove:", fn: function (anObject){ var self=this; smalltalk.send(self["@elements"],"_remove_",[anObject]); return self} }), smalltalk.Set); smalltalk.addMethod( "_select_", smalltalk.method({ selector: "select:", fn: function (aBlock){ var self=this; var $1; var collection; collection=smalltalk.send(smalltalk.send(self,"_class",[]),"_new",[]); smalltalk.send(self,"_do_",[(function(each){ $1=smalltalk.send(aBlock,"_value_",[each]); if(smalltalk.assert($1)){ return smalltalk.send(collection,"_add_",[each]); }; })]); return collection; } }), smalltalk.Set); smalltalk.addMethod( "_size", smalltalk.method({ selector: "size", fn: function (){ var self=this; var $1; $1=smalltalk.send(self["@elements"],"_size",[]); return $1; } }), smalltalk.Set); smalltalk.addClass('RegularExpression', smalltalk.Object, [], 'Kernel-Collections'); smalltalk.addMethod( "_compile_", smalltalk.method({ selector: "compile:", fn: function (aString){ var self=this; return self.compile(aString); ; return self} }), smalltalk.RegularExpression); smalltalk.addMethod( "_exec_", smalltalk.method({ selector: "exec:", fn: function (aString){ var self=this; return self.exec(aString) || nil; ; return self} }), smalltalk.RegularExpression); smalltalk.addMethod( "_test_", smalltalk.method({ selector: "test:", fn: function (aString){ var self=this; return self.test(aString); ; return self} }), smalltalk.RegularExpression); smalltalk.addMethod( "_fromString_", smalltalk.method({ selector: "fromString:", fn: function (aString){ var self=this; var $1; $1=smalltalk.send(self,"_fromString_flag_",[aString,""]); return $1; } }), smalltalk.RegularExpression.klass); smalltalk.addMethod( "_fromString_flag_", smalltalk.method({ selector: "fromString:flag:", fn: function (aString,anotherString){ var self=this; return new RegExp(aString, anotherString); ; return self} }), smalltalk.RegularExpression.klass); smalltalk.addClass('Stream', smalltalk.Object, ['collection', 'position', 'streamSize'], 'Kernel-Collections'); smalltalk.addMethod( "_atEnd", smalltalk.method({ selector: "atEnd", fn: function (){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(self,"_position",[]),"__eq",[smalltalk.send(self,"_size",[])]); return $1; } }), smalltalk.Stream); smalltalk.addMethod( "_atStart", smalltalk.method({ selector: "atStart", fn: function (){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(self,"_position",[]),"__eq",[(0)]); return $1; } }), smalltalk.Stream); smalltalk.addMethod( "_close", smalltalk.method({ selector: "close", fn: function (){ var self=this; return self} }), smalltalk.Stream); smalltalk.addMethod( "_collection", smalltalk.method({ selector: "collection", fn: function (){ var self=this; return self["@collection"]; } }), smalltalk.Stream); smalltalk.addMethod( "_contents", smalltalk.method({ selector: "contents", fn: function (){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(self,"_collection",[]),"_copyFrom_to_",[(1),smalltalk.send(self,"_streamSize",[])]); return $1; } }), smalltalk.Stream); smalltalk.addMethod( "_do_", smalltalk.method({ selector: "do:", fn: function (aBlock){ var self=this; smalltalk.send((function(){ return smalltalk.send(self,"_atEnd",[]); }),"_whileFalse_",[(function(){ return smalltalk.send(aBlock,"_value_",[smalltalk.send(self,"_next",[])]); })]); return self} }), smalltalk.Stream); smalltalk.addMethod( "_flush", smalltalk.method({ selector: "flush", fn: function (){ var self=this; return self} }), smalltalk.Stream); smalltalk.addMethod( "_isEmpty", smalltalk.method({ selector: "isEmpty", fn: function (){ var self=this; var $1; $1=smalltalk.send(smalltalk.send(self,"_size",[]),"__eq",[(0)]); return $1; } }), smalltalk.Stream); smalltalk.addMethod( "_next", smalltalk.method({ selector: "next", fn: function (){ var self=this; var $2,$1; $2=smalltalk.send(self,"_atEnd",[]); if(smalltalk.assert($2)){ $1=nil; } else { smalltalk.send(self,"_position_",[smalltalk.send(smalltalk.send(self,"_position",[]),"__plus",[(1)])]); $1=smalltalk.send(self["@collection"],"_at_",[smalltalk.send(self,"_position",[])]); }; return $1; } }), smalltalk.Stream); smalltalk.addMethod( "_next_", smalltalk.method({ selector: "next:", fn: function (anInteger){ var self=this; var $1; var tempCollection; tempCollection=smalltalk.send(smalltalk.send(smalltalk.send(self,"_collection",[]),"_class",[]),"_new",[]); smalltalk.send(anInteger,"_timesRepeat_",[(function(){ $1=smalltalk.send(self,"_atEnd",[]); if(! smalltalk.assert($1)){ return smalltalk.send(tempCollection,"_add_",[smalltalk.send(self,"_next",[])]); }; })]); return tempCollection; } }), smalltalk.Stream); smalltalk.addMethod( "_nextPut_", smalltalk.method({ selector: "nextPut:", fn: function (anObject){ var self=this; smalltalk.send(self,"_position_",[smalltalk.send(smalltalk.send(self,"_position",[]),"__plus",[(1)])]); smalltalk.send(smalltalk.send(self,"_collection",[]),"_at_put_",[smalltalk.send(self,"_position",[]),anObject]); smalltalk.send(self,"_setStreamSize_",[smalltalk.send(smalltalk.send(self,"_streamSize",[]),"_max_",[smalltalk.send(self,"_position",[])])]); return self} }), smalltalk.Stream); smalltalk.addMethod( "_nextPutAll_", smalltalk.method({ selector: "nextPutAll:", fn: function (aCollection){ var self=this; smalltalk.send(aCollection,"_do_",[(function(each){ return smalltalk.send(self,"_nextPut_",[each]); })]); return self} }), smalltalk.Stream); smalltalk.addMethod( "_peek", smalltalk.method({ selector: "peek", fn: function (){ var self=this; var $2,$1; $2=smalltalk.send(self,"_atEnd",[]); if(! smalltalk.assert($2)){ $1=smalltalk.send(smalltalk.send(self,"_collection",[]),"_at_",[smalltalk.send(smalltalk.send(self,"_position",[]),"__plus",[(1)])]); }; return $1; } }), smalltalk.Stream); smalltalk.addMethod( "_position", smalltalk.method({ selector: "position", fn: function (){ var self=this; var $1; if(($receiver = self["@position"]) == nil || $receiver == undefined){ self["@position"]=(0); $1=self["@position"]; } else { $1=self["@position"]; }; return $1; } }), smalltalk.Stream); smalltalk.addMethod( "_position_", smalltalk.method({ selector: "position:", fn: function (anInteger){ var self=this; self["@position"]=anInteger; return self} }), smalltalk.Stream); smalltalk.addMethod( "_reset", smalltalk.method({ selector: "reset", fn: function (){ var self=this; smalltalk.send(self,"_position_",[(0)]); return self} }), smalltalk.Stream); smalltalk.addMethod( "_resetContents", smalltalk.method({ selector: "resetContents", fn: function (){ var self=this; smalltalk.send(self,"_reset",[]); smalltalk.send(self,"_setStreamSize_",[(0)]); return self} }), smalltalk.Stream); smalltalk.addMethod( "_setCollection_", smalltalk.method({ selector: "setCollection:", fn: function (aCollection){ var self=this; self["@collection"]=aCollection; return self} }), smalltalk.Stream); smalltalk.addMethod( "_setStreamSize_", smalltalk.method({ selector: "setStreamSize:", fn: function (anInteger){ var self=this; self["@streamSize"]=anInteger; return self} }), smalltalk.Stream); smalltalk.addMethod( "_setToEnd", smalltalk.method({ selector: "setToEnd", fn: function (){ var self=this; smalltalk.send(self,"_position_",[smalltalk.send(self,"_size",[])]); return self} }), smalltalk.Stream); smalltalk.addMethod( "_size", smalltalk.method({ selector: "size", fn: function (){ var self=this; var $1; $1=smalltalk.send(self,"_streamSize",[]); return $1; } }), smalltalk.Stream); smalltalk.addMethod( "_skip_", smalltalk.method({ selector: "skip:", fn: function (anInteger){ var self=this; smalltalk.send(self,"_position_",[smalltalk.send(smalltalk.send(smalltalk.send(self,"_position",[]),"__plus",[anInteger]),"_min_max_",[smalltalk.send(self,"_size",[]),(0)])]); return self} }), smalltalk.Stream); smalltalk.addMethod( "_streamSize", smalltalk.method({ selector: "streamSize", fn: function (){ var self=this; return self["@streamSize"]; } }), smalltalk.Stream); smalltalk.addMethod( "_on_", smalltalk.method({ selector: "on:", fn: function (aCollection){ var self=this; var $2,$3,$1; $2=smalltalk.send(self,"_new",[]); smalltalk.send($2,"_setCollection_",[aCollection]); smalltalk.send($2,"_setStreamSize_",[smalltalk.send(aCollection,"_size",[])]); $3=smalltalk.send($2,"_yourself",[]); $1=$3; return $1; } }), smalltalk.Stream.klass); smalltalk.addClass('StringStream', smalltalk.Stream, [], 'Kernel-Collections'); smalltalk.addMethod( "_cr", smalltalk.method({ selector: "cr", fn: function (){ var self=this; var $1; $1=smalltalk.send(self,"_nextPutAll_",[smalltalk.send((smalltalk.String || String),"_cr",[])]); return $1; } }), smalltalk.StringStream); smalltalk.addMethod( "_crlf", smalltalk.method({ selector: "crlf", fn: function (){ var self=this; var $1; $1=smalltalk.send(self,"_nextPutAll_",[smalltalk.send((smalltalk.String || String),"_crlf",[])]); return $1; } }), smalltalk.StringStream); smalltalk.addMethod( "_lf", smalltalk.method({ selector: "lf", fn: function (){ var self=this; var $1; $1=smalltalk.send(self,"_nextPutAll_",[smalltalk.send((smalltalk.String || String),"_lf",[])]); return $1; } }), smalltalk.StringStream); smalltalk.addMethod( "_next_", smalltalk.method({ selector: "next:", fn: function (anInteger){ var self=this; var $1; var tempCollection; tempCollection=smalltalk.send(smalltalk.send(smalltalk.send(self,"_collection",[]),"_class",[]),"_new",[]); smalltalk.send(anInteger,"_timesRepeat_",[(function(){ $1=smalltalk.send(self,"_atEnd",[]); if(! smalltalk.assert($1)){ tempCollection=smalltalk.send(tempCollection,"__comma",[smalltalk.send(self,"_next",[])]); return tempCollection; }; })]); return tempCollection; } }), smalltalk.StringStream); smalltalk.addMethod( "_nextPut_", smalltalk.method({ selector: "nextPut:", fn: function (aString){ var self=this; smalltalk.send(self,"_nextPutAll_",[aString]); return self} }), smalltalk.StringStream); smalltalk.addMethod( "_nextPutAll_", smalltalk.method({ selector: "nextPutAll:", fn: function (aString){ var self=this; smalltalk.send(self,"_setCollection_",[smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self,"_collection",[]),"_copyFrom_to_",[(1),smalltalk.send(self,"_position",[])]),"__comma",[aString]),"__comma",[smalltalk.send(smalltalk.send(self,"_collection",[]),"_copyFrom_to_",[smalltalk.send(smalltalk.send(smalltalk.send(self,"_position",[]),"__plus",[(1)]),"__plus",[smalltalk.send(aString,"_size",[])]),smalltalk.send(smalltalk.send(self,"_collection",[]),"_size",[])])])]); smalltalk.send(self,"_position_",[smalltalk.send(smalltalk.send(self,"_position",[]),"__plus",[smalltalk.send(aString,"_size",[])])]); smalltalk.send(self,"_setStreamSize_",[smalltalk.send(smalltalk.send(self,"_streamSize",[]),"_max_",[smalltalk.send(self,"_position",[])])]); return self} }), smalltalk.StringStream); smalltalk.addMethod( "_space", smalltalk.method({ selector: "space", fn: function (){ var self=this; smalltalk.send(self,"_nextPut_",[" "]); return self} }), smalltalk.StringStream);