Kernel-Objects.js 197 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864
  1. define(["amber/boot", "require", "amber/core/Kernel-Helpers"], function($boot,requirejs){"use strict";
  2. var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
  3. var $pkg = $core.addPackage("Kernel-Objects");
  4. $pkg.innerEval = function (expr) { return eval(expr); };
  5. $pkg.transport = {"type":"amd","amdNamespace":"amber/core"};
  6. $core.addClass("ProtoObject", null, [], "Kernel-Objects");
  7. //>>excludeStart("ide", pragmas.excludeIdeData);
  8. $globals.ProtoObject.comment="I implement the basic behavior required for any object in Amber.\x0a\x0aIn most cases, subclassing `ProtoObject` is wrong and `Object` should be used instead. However subclassing `ProtoObject` can be useful in some special cases like proxy implementations.";
  9. //>>excludeEnd("ide");
  10. $core.addMethod(
  11. $core.method({
  12. selector: "=",
  13. protocol: "comparing",
  14. fn: function (anObject){
  15. var self=this,$self=this;
  16. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  17. return $core.withContext(function($ctx1) {
  18. //>>excludeEnd("ctx");
  19. return $self.__eq_eq(anObject);
  20. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  21. }, function($ctx1) {$ctx1.fill(self,"=",{anObject:anObject})});
  22. //>>excludeEnd("ctx");
  23. },
  24. //>>excludeStart("ide", pragmas.excludeIdeData);
  25. args: ["anObject"],
  26. source: "= anObject\x0a\x09^ self == anObject",
  27. referencedClasses: [],
  28. //>>excludeEnd("ide");
  29. pragmas: [],
  30. messageSends: ["=="]
  31. }),
  32. $globals.ProtoObject);
  33. $core.addMethod(
  34. $core.method({
  35. selector: "==",
  36. protocol: "comparing",
  37. fn: function (anObject){
  38. var self=this,$self=this;
  39. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  40. return $core.withContext(function($ctx1) {
  41. //>>excludeEnd("ctx");
  42. return self === anObject;
  43. return self;
  44. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  45. }, function($ctx1) {$ctx1.fill(self,"==",{anObject:anObject})});
  46. //>>excludeEnd("ctx");
  47. },
  48. //>>excludeStart("ide", pragmas.excludeIdeData);
  49. args: ["anObject"],
  50. source: "== anObject\x0a<inlineJS: 'return self === anObject'>",
  51. referencedClasses: [],
  52. //>>excludeEnd("ide");
  53. pragmas: [["inlineJS:", ["return self === anObject"]]],
  54. messageSends: []
  55. }),
  56. $globals.ProtoObject);
  57. $core.addMethod(
  58. $core.method({
  59. selector: "asString",
  60. protocol: "converting",
  61. fn: function (){
  62. var self=this,$self=this;
  63. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  64. return $core.withContext(function($ctx1) {
  65. //>>excludeEnd("ctx");
  66. return $self._printString();
  67. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  68. }, function($ctx1) {$ctx1.fill(self,"asString",{})});
  69. //>>excludeEnd("ctx");
  70. },
  71. //>>excludeStart("ide", pragmas.excludeIdeData);
  72. args: [],
  73. source: "asString\x0a\x09^ self printString",
  74. referencedClasses: [],
  75. //>>excludeEnd("ide");
  76. pragmas: [],
  77. messageSends: ["printString"]
  78. }),
  79. $globals.ProtoObject);
  80. $core.addMethod(
  81. $core.method({
  82. selector: "class",
  83. protocol: "accessing",
  84. fn: function (){
  85. var self=this,$self=this;
  86. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  87. return $core.withContext(function($ctx1) {
  88. //>>excludeEnd("ctx");
  89. return $self.a$cls;
  90. return self;
  91. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  92. }, function($ctx1) {$ctx1.fill(self,"class",{})});
  93. //>>excludeEnd("ctx");
  94. },
  95. //>>excludeStart("ide", pragmas.excludeIdeData);
  96. args: [],
  97. source: "class\x0a\x09<inlineJS: 'return $self.a$cls'>",
  98. referencedClasses: [],
  99. //>>excludeEnd("ide");
  100. pragmas: [["inlineJS:", ["return $self.a$cls"]]],
  101. messageSends: []
  102. }),
  103. $globals.ProtoObject);
  104. $core.addMethod(
  105. $core.method({
  106. selector: "doesNotUnderstand:",
  107. protocol: "error handling",
  108. fn: function (aMessage){
  109. var self=this,$self=this;
  110. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  111. return $core.withContext(function($ctx1) {
  112. //>>excludeEnd("ctx");
  113. var $1;
  114. $1=$recv($globals.MessageNotUnderstood)._new();
  115. $recv($1)._receiver_(self);
  116. $recv($1)._message_(aMessage);
  117. $recv($1)._signal();
  118. return self;
  119. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  120. }, function($ctx1) {$ctx1.fill(self,"doesNotUnderstand:",{aMessage:aMessage})});
  121. //>>excludeEnd("ctx");
  122. },
  123. //>>excludeStart("ide", pragmas.excludeIdeData);
  124. args: ["aMessage"],
  125. source: "doesNotUnderstand: aMessage\x0a\x09MessageNotUnderstood new\x0a\x09\x09receiver: self;\x0a\x09\x09message: aMessage;\x0a\x09\x09signal",
  126. referencedClasses: ["MessageNotUnderstood"],
  127. //>>excludeEnd("ide");
  128. pragmas: [],
  129. messageSends: ["receiver:", "new", "message:", "signal"]
  130. }),
  131. $globals.ProtoObject);
  132. $core.addMethod(
  133. $core.method({
  134. selector: "evaluate:on:",
  135. protocol: "evaluating",
  136. fn: function (aString,anEvaluator){
  137. var self=this,$self=this;
  138. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  139. return $core.withContext(function($ctx1) {
  140. //>>excludeEnd("ctx");
  141. return $recv(anEvaluator)._evaluate_receiver_(aString,self);
  142. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  143. }, function($ctx1) {$ctx1.fill(self,"evaluate:on:",{aString:aString,anEvaluator:anEvaluator})});
  144. //>>excludeEnd("ctx");
  145. },
  146. //>>excludeStart("ide", pragmas.excludeIdeData);
  147. args: ["aString", "anEvaluator"],
  148. source: "evaluate: aString on: anEvaluator\x0a\x09^ anEvaluator evaluate: aString receiver: self",
  149. referencedClasses: [],
  150. //>>excludeEnd("ide");
  151. pragmas: [],
  152. messageSends: ["evaluate:receiver:"]
  153. }),
  154. $globals.ProtoObject);
  155. $core.addMethod(
  156. $core.method({
  157. selector: "identityHash",
  158. protocol: "accessing",
  159. fn: function (){
  160. var self=this,$self=this;
  161. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  162. return $core.withContext(function($ctx1) {
  163. //>>excludeEnd("ctx");
  164. self._deprecatedAPI();
  165. var hash=self.identityHash;
  166. if (hash) return hash;
  167. hash=$core.nextId();
  168. Object.defineProperty(self, 'identityHash', {value:hash});
  169. return hash;
  170. ;
  171. return self;
  172. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  173. }, function($ctx1) {$ctx1.fill(self,"identityHash",{})});
  174. //>>excludeEnd("ctx");
  175. },
  176. //>>excludeStart("ide", pragmas.excludeIdeData);
  177. args: [],
  178. source: "identityHash\x0a\x09<inlineJS: '\x0a\x09\x09self._deprecatedAPI();\x0a\x09\x09var hash=self.identityHash;\x0a\x09\x09if (hash) return hash;\x0a\x09\x09hash=$core.nextId();\x0a\x09\x09Object.defineProperty(self, ''identityHash'', {value:hash});\x0a\x09\x09return hash;\x0a\x09'>",
  179. referencedClasses: [],
  180. //>>excludeEnd("ide");
  181. pragmas: [["inlineJS:", ["\x0a\x09\x09self._deprecatedAPI();\x0a\x09\x09var hash=self.identityHash;\x0a\x09\x09if (hash) return hash;\x0a\x09\x09hash=$core.nextId();\x0a\x09\x09Object.defineProperty(self, 'identityHash', {value:hash});\x0a\x09\x09return hash;\x0a\x09"]]],
  182. messageSends: []
  183. }),
  184. $globals.ProtoObject);
  185. $core.addMethod(
  186. $core.method({
  187. selector: "ifNil:",
  188. protocol: "testing",
  189. fn: function (aBlock){
  190. var self=this,$self=this;
  191. return self;
  192. },
  193. //>>excludeStart("ide", pragmas.excludeIdeData);
  194. args: ["aBlock"],
  195. source: "ifNil: aBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09^ self",
  196. referencedClasses: [],
  197. //>>excludeEnd("ide");
  198. pragmas: [],
  199. messageSends: []
  200. }),
  201. $globals.ProtoObject);
  202. $core.addMethod(
  203. $core.method({
  204. selector: "ifNil:ifNotNil:",
  205. protocol: "testing",
  206. fn: function (aBlock,anotherBlock){
  207. var self=this,$self=this;
  208. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  209. return $core.withContext(function($ctx1) {
  210. //>>excludeEnd("ctx");
  211. return $recv(anotherBlock)._value_(self);
  212. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  213. }, function($ctx1) {$ctx1.fill(self,"ifNil:ifNotNil:",{aBlock:aBlock,anotherBlock:anotherBlock})});
  214. //>>excludeEnd("ctx");
  215. },
  216. //>>excludeStart("ide", pragmas.excludeIdeData);
  217. args: ["aBlock", "anotherBlock"],
  218. source: "ifNil: aBlock ifNotNil: anotherBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09^ anotherBlock value: self",
  219. referencedClasses: [],
  220. //>>excludeEnd("ide");
  221. pragmas: [],
  222. messageSends: ["value:"]
  223. }),
  224. $globals.ProtoObject);
  225. $core.addMethod(
  226. $core.method({
  227. selector: "ifNotNil:",
  228. protocol: "testing",
  229. fn: function (aBlock){
  230. var self=this,$self=this;
  231. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  232. return $core.withContext(function($ctx1) {
  233. //>>excludeEnd("ctx");
  234. return $recv(aBlock)._value_(self);
  235. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  236. }, function($ctx1) {$ctx1.fill(self,"ifNotNil:",{aBlock:aBlock})});
  237. //>>excludeEnd("ctx");
  238. },
  239. //>>excludeStart("ide", pragmas.excludeIdeData);
  240. args: ["aBlock"],
  241. source: "ifNotNil: aBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09^ aBlock value: self",
  242. referencedClasses: [],
  243. //>>excludeEnd("ide");
  244. pragmas: [],
  245. messageSends: ["value:"]
  246. }),
  247. $globals.ProtoObject);
  248. $core.addMethod(
  249. $core.method({
  250. selector: "ifNotNil:ifNil:",
  251. protocol: "testing",
  252. fn: function (aBlock,anotherBlock){
  253. var self=this,$self=this;
  254. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  255. return $core.withContext(function($ctx1) {
  256. //>>excludeEnd("ctx");
  257. return $recv(aBlock)._value_(self);
  258. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  259. }, function($ctx1) {$ctx1.fill(self,"ifNotNil:ifNil:",{aBlock:aBlock,anotherBlock:anotherBlock})});
  260. //>>excludeEnd("ctx");
  261. },
  262. //>>excludeStart("ide", pragmas.excludeIdeData);
  263. args: ["aBlock", "anotherBlock"],
  264. source: "ifNotNil: aBlock ifNil: anotherBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09^ aBlock value: self",
  265. referencedClasses: [],
  266. //>>excludeEnd("ide");
  267. pragmas: [],
  268. messageSends: ["value:"]
  269. }),
  270. $globals.ProtoObject);
  271. $core.addMethod(
  272. $core.method({
  273. selector: "initialize",
  274. protocol: "initialization",
  275. fn: function (){
  276. var self=this,$self=this;
  277. return self;
  278. },
  279. //>>excludeStart("ide", pragmas.excludeIdeData);
  280. args: [],
  281. source: "initialize",
  282. referencedClasses: [],
  283. //>>excludeEnd("ide");
  284. pragmas: [],
  285. messageSends: []
  286. }),
  287. $globals.ProtoObject);
  288. $core.addMethod(
  289. $core.method({
  290. selector: "inspect",
  291. protocol: "inspecting",
  292. fn: function (){
  293. var self=this,$self=this;
  294. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  295. return $core.withContext(function($ctx1) {
  296. //>>excludeEnd("ctx");
  297. $recv($globals.Inspector)._inspect_(self);
  298. return self;
  299. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  300. }, function($ctx1) {$ctx1.fill(self,"inspect",{})});
  301. //>>excludeEnd("ctx");
  302. },
  303. //>>excludeStart("ide", pragmas.excludeIdeData);
  304. args: [],
  305. source: "inspect\x0a\x09Inspector inspect: self",
  306. referencedClasses: ["Inspector"],
  307. //>>excludeEnd("ide");
  308. pragmas: [],
  309. messageSends: ["inspect:"]
  310. }),
  311. $globals.ProtoObject);
  312. $core.addMethod(
  313. $core.method({
  314. selector: "inspectOn:",
  315. protocol: "inspecting",
  316. fn: function (anInspector){
  317. var self=this,$self=this;
  318. return self;
  319. },
  320. //>>excludeStart("ide", pragmas.excludeIdeData);
  321. args: ["anInspector"],
  322. source: "inspectOn: anInspector",
  323. referencedClasses: [],
  324. //>>excludeEnd("ide");
  325. pragmas: [],
  326. messageSends: []
  327. }),
  328. $globals.ProtoObject);
  329. $core.addMethod(
  330. $core.method({
  331. selector: "instVarAt:",
  332. protocol: "accessing",
  333. fn: function (aString){
  334. var self=this,$self=this;
  335. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  336. return $core.withContext(function($ctx1) {
  337. //>>excludeEnd("ctx");
  338. return $self[aString];
  339. return self;
  340. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  341. }, function($ctx1) {$ctx1.fill(self,"instVarAt:",{aString:aString})});
  342. //>>excludeEnd("ctx");
  343. },
  344. //>>excludeStart("ide", pragmas.excludeIdeData);
  345. args: ["aString"],
  346. source: "instVarAt: aString\x0a\x09<inlineJS: 'return $self[aString]'>",
  347. referencedClasses: [],
  348. //>>excludeEnd("ide");
  349. pragmas: [["inlineJS:", ["return $self[aString]"]]],
  350. messageSends: []
  351. }),
  352. $globals.ProtoObject);
  353. $core.addMethod(
  354. $core.method({
  355. selector: "instVarAt:put:",
  356. protocol: "accessing",
  357. fn: function (aString,anObject){
  358. var self=this,$self=this;
  359. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  360. return $core.withContext(function($ctx1) {
  361. //>>excludeEnd("ctx");
  362. $self[aString] = anObject;
  363. return self;
  364. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  365. }, function($ctx1) {$ctx1.fill(self,"instVarAt:put:",{aString:aString,anObject:anObject})});
  366. //>>excludeEnd("ctx");
  367. },
  368. //>>excludeStart("ide", pragmas.excludeIdeData);
  369. args: ["aString", "anObject"],
  370. source: "instVarAt: aString put: anObject\x0a\x09<inlineJS: '$self[aString] = anObject'>",
  371. referencedClasses: [],
  372. //>>excludeEnd("ide");
  373. pragmas: [["inlineJS:", ["$self[aString] = anObject"]]],
  374. messageSends: []
  375. }),
  376. $globals.ProtoObject);
  377. $core.addMethod(
  378. $core.method({
  379. selector: "isKindOf:",
  380. protocol: "testing",
  381. fn: function (aClass){
  382. var self=this,$self=this;
  383. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  384. return $core.withContext(function($ctx1) {
  385. //>>excludeEnd("ctx");
  386. var $1;
  387. $1=$self._isMemberOf_(aClass);
  388. if($core.assert($1)){
  389. return true;
  390. } else {
  391. return $recv($self._class())._inheritsFrom_(aClass);
  392. }
  393. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  394. }, function($ctx1) {$ctx1.fill(self,"isKindOf:",{aClass:aClass})});
  395. //>>excludeEnd("ctx");
  396. },
  397. //>>excludeStart("ide", pragmas.excludeIdeData);
  398. args: ["aClass"],
  399. source: "isKindOf: aClass\x0a\x09^ (self isMemberOf: aClass)\x0a\x09\x09ifTrue: [ true ]\x0a\x09\x09ifFalse: [ self class inheritsFrom: aClass ]",
  400. referencedClasses: [],
  401. //>>excludeEnd("ide");
  402. pragmas: [],
  403. messageSends: ["ifTrue:ifFalse:", "isMemberOf:", "inheritsFrom:", "class"]
  404. }),
  405. $globals.ProtoObject);
  406. $core.addMethod(
  407. $core.method({
  408. selector: "isNil",
  409. protocol: "testing",
  410. fn: function (){
  411. var self=this,$self=this;
  412. return false;
  413. },
  414. //>>excludeStart("ide", pragmas.excludeIdeData);
  415. args: [],
  416. source: "isNil\x0a\x09^ false",
  417. referencedClasses: [],
  418. //>>excludeEnd("ide");
  419. pragmas: [],
  420. messageSends: []
  421. }),
  422. $globals.ProtoObject);
  423. $core.addMethod(
  424. $core.method({
  425. selector: "notNil",
  426. protocol: "testing",
  427. fn: function (){
  428. var self=this,$self=this;
  429. return true;
  430. },
  431. //>>excludeStart("ide", pragmas.excludeIdeData);
  432. args: [],
  433. source: "notNil\x0a\x09^ true",
  434. referencedClasses: [],
  435. //>>excludeEnd("ide");
  436. pragmas: [],
  437. messageSends: []
  438. }),
  439. $globals.ProtoObject);
  440. $core.addMethod(
  441. $core.method({
  442. selector: "perform:",
  443. protocol: "message handling",
  444. fn: function (aString){
  445. var self=this,$self=this;
  446. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  447. return $core.withContext(function($ctx1) {
  448. //>>excludeEnd("ctx");
  449. return $self._perform_withArguments_(aString,[]);
  450. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  451. }, function($ctx1) {$ctx1.fill(self,"perform:",{aString:aString})});
  452. //>>excludeEnd("ctx");
  453. },
  454. //>>excludeStart("ide", pragmas.excludeIdeData);
  455. args: ["aString"],
  456. source: "perform: aString\x0a\x09^ self perform: aString withArguments: #()",
  457. referencedClasses: [],
  458. //>>excludeEnd("ide");
  459. pragmas: [],
  460. messageSends: ["perform:withArguments:"]
  461. }),
  462. $globals.ProtoObject);
  463. $core.addMethod(
  464. $core.method({
  465. selector: "perform:withArguments:",
  466. protocol: "message handling",
  467. fn: function (aString,aCollection){
  468. var self=this,$self=this;
  469. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  470. return $core.withContext(function($ctx1) {
  471. //>>excludeEnd("ctx");
  472. return $core.send2(self, aString, aCollection);
  473. return self;
  474. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  475. }, function($ctx1) {$ctx1.fill(self,"perform:withArguments:",{aString:aString,aCollection:aCollection})});
  476. //>>excludeEnd("ctx");
  477. },
  478. //>>excludeStart("ide", pragmas.excludeIdeData);
  479. args: ["aString", "aCollection"],
  480. source: "perform: aString withArguments: aCollection\x0a\x09<inlineJS: 'return $core.send2(self, aString, aCollection)'>",
  481. referencedClasses: [],
  482. //>>excludeEnd("ide");
  483. pragmas: [["inlineJS:", ["return $core.send2(self, aString, aCollection)"]]],
  484. messageSends: []
  485. }),
  486. $globals.ProtoObject);
  487. $core.addMethod(
  488. $core.method({
  489. selector: "printOn:",
  490. protocol: "printing",
  491. fn: function (aStream){
  492. var self=this,$self=this;
  493. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  494. return $core.withContext(function($ctx1) {
  495. //>>excludeEnd("ctx");
  496. var $5,$4,$3,$2,$1;
  497. $5=$self._class();
  498. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  499. $ctx1.sendIdx["class"]=1;
  500. //>>excludeEnd("ctx");
  501. $4=$recv($5)._name();
  502. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  503. $ctx1.sendIdx["name"]=1;
  504. //>>excludeEnd("ctx");
  505. $3=$recv($4)._first();
  506. $2=$recv($3)._isVowel();
  507. if($core.assert($2)){
  508. $1="an ";
  509. } else {
  510. $1="a ";
  511. }
  512. $recv(aStream)._nextPutAll_($1);
  513. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  514. $ctx1.sendIdx["nextPutAll:"]=1;
  515. //>>excludeEnd("ctx");
  516. $recv(aStream)._nextPutAll_($recv($self._class())._name());
  517. return self;
  518. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  519. }, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream})});
  520. //>>excludeEnd("ctx");
  521. },
  522. //>>excludeStart("ide", pragmas.excludeIdeData);
  523. args: ["aStream"],
  524. source: "printOn: aStream\x0a\x09aStream nextPutAll: (self class name first isVowel\x0a\x09\x09ifTrue: [ 'an ' ]\x0a\x09\x09ifFalse: [ 'a ' ]).\x0a\x09aStream nextPutAll: self class name",
  525. referencedClasses: [],
  526. //>>excludeEnd("ide");
  527. pragmas: [],
  528. messageSends: ["nextPutAll:", "ifTrue:ifFalse:", "isVowel", "first", "name", "class"]
  529. }),
  530. $globals.ProtoObject);
  531. $core.addMethod(
  532. $core.method({
  533. selector: "printString",
  534. protocol: "printing",
  535. fn: function (){
  536. var self=this,$self=this;
  537. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  538. return $core.withContext(function($ctx1) {
  539. //>>excludeEnd("ctx");
  540. return $recv($globals.String)._streamContents_((function(str){
  541. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  542. return $core.withContext(function($ctx2) {
  543. //>>excludeEnd("ctx");
  544. return $self._printOn_(str);
  545. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  546. }, function($ctx2) {$ctx2.fillBlock({str:str},$ctx1,1)});
  547. //>>excludeEnd("ctx");
  548. }));
  549. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  550. }, function($ctx1) {$ctx1.fill(self,"printString",{})});
  551. //>>excludeEnd("ctx");
  552. },
  553. //>>excludeStart("ide", pragmas.excludeIdeData);
  554. args: [],
  555. source: "printString\x0a\x09^ String streamContents: [ :str | \x0a\x09\x09self printOn: str ]",
  556. referencedClasses: ["String"],
  557. //>>excludeEnd("ide");
  558. pragmas: [],
  559. messageSends: ["streamContents:", "printOn:"]
  560. }),
  561. $globals.ProtoObject);
  562. $core.addMethod(
  563. $core.method({
  564. selector: "yourself",
  565. protocol: "accessing",
  566. fn: function (){
  567. var self=this,$self=this;
  568. return self;
  569. },
  570. //>>excludeStart("ide", pragmas.excludeIdeData);
  571. args: [],
  572. source: "yourself\x0a\x09^ self",
  573. referencedClasses: [],
  574. //>>excludeEnd("ide");
  575. pragmas: [],
  576. messageSends: []
  577. }),
  578. $globals.ProtoObject);
  579. $core.addMethod(
  580. $core.method({
  581. selector: "~=",
  582. protocol: "comparing",
  583. fn: function (anObject){
  584. var self=this,$self=this;
  585. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  586. return $core.withContext(function($ctx1) {
  587. //>>excludeEnd("ctx");
  588. var $1;
  589. $1=$recv($self.__eq(anObject)).__eq(false);
  590. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  591. $ctx1.sendIdx["="]=1;
  592. //>>excludeEnd("ctx");
  593. return $1;
  594. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  595. }, function($ctx1) {$ctx1.fill(self,"~=",{anObject:anObject})});
  596. //>>excludeEnd("ctx");
  597. },
  598. //>>excludeStart("ide", pragmas.excludeIdeData);
  599. args: ["anObject"],
  600. source: "~= anObject\x0a\x09^ (self = anObject) = false",
  601. referencedClasses: [],
  602. //>>excludeEnd("ide");
  603. pragmas: [],
  604. messageSends: ["="]
  605. }),
  606. $globals.ProtoObject);
  607. $core.addMethod(
  608. $core.method({
  609. selector: "~~",
  610. protocol: "comparing",
  611. fn: function (anObject){
  612. var self=this,$self=this;
  613. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  614. return $core.withContext(function($ctx1) {
  615. //>>excludeEnd("ctx");
  616. return $recv($self.__eq_eq(anObject)).__eq(false);
  617. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  618. }, function($ctx1) {$ctx1.fill(self,"~~",{anObject:anObject})});
  619. //>>excludeEnd("ctx");
  620. },
  621. //>>excludeStart("ide", pragmas.excludeIdeData);
  622. args: ["anObject"],
  623. source: "~~ anObject\x0a\x09^ (self == anObject) = false",
  624. referencedClasses: [],
  625. //>>excludeEnd("ide");
  626. pragmas: [],
  627. messageSends: ["=", "=="]
  628. }),
  629. $globals.ProtoObject);
  630. $core.addMethod(
  631. $core.method({
  632. selector: "initialize",
  633. protocol: "initialization",
  634. fn: function (){
  635. var self=this,$self=this;
  636. return self;
  637. },
  638. //>>excludeStart("ide", pragmas.excludeIdeData);
  639. args: [],
  640. source: "initialize",
  641. referencedClasses: [],
  642. //>>excludeEnd("ide");
  643. pragmas: [],
  644. messageSends: []
  645. }),
  646. $globals.ProtoObject.a$cls);
  647. $core.addClass("Object", $globals.ProtoObject, [], "Kernel-Objects");
  648. //>>excludeStart("ide", pragmas.excludeIdeData);
  649. $globals.Object.comment="**I am the root of the Smalltalk class system**. With the exception of unual subclasses of `ProtoObject`, all other classes in the system are subclasses of me.\x0a\x0aI provide default behavior common to all normal objects (some of it inherited from `ProtoObject`), such as:\x0a\x0a- accessing\x0a- copying\x0a- comparison\x0a- error handling\x0a- message sending\x0a- reflection\x0a\x0aAlso utility messages that all objects should respond to are defined here.\x0a\x0aI have no instance variable.\x0a\x0a##Access\x0a\x0aInstance variables can be accessed with `#instVarAt:` and `#instVarAt:put:`. `#instanceVariableNames` answers a collection of all instance variable names.\x0aAccessing JavaScript properties of an object is done through `#basicAt:`, `#basicAt:put:` and `basicDelete:`.\x0a\x0a##Copying\x0a\x0aCopying an object is handled by `#copy` and `#deepCopy`. The first one performs a shallow copy of the receiver, while the second one performs a deep copy.\x0aThe hook method `#postCopy` can be overriden in subclasses to copy fields as necessary to complete the full copy. It will be sent by the copy of the receiver.\x0a\x0a##Comparison\x0a\x0aI understand equality `#=` and identity `#==` comparison.\x0a\x0a##Error handling\x0a\x0a- `#halt` is the typical message to use for inserting breakpoints during debugging.\x0a- `#error:` throws a generic error exception\x0a- `#doesNotUnderstand:` handles the fact that there was an attempt to send the given message to the receiver but the receiver does not understand this message.\x0a\x09Overriding this message can be useful to implement proxies for example.";
  650. //>>excludeEnd("ide");
  651. $core.addMethod(
  652. $core.method({
  653. selector: "->",
  654. protocol: "converting",
  655. fn: function (anObject){
  656. var self=this,$self=this;
  657. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  658. return $core.withContext(function($ctx1) {
  659. //>>excludeEnd("ctx");
  660. return $recv($globals.Association)._key_value_(self,anObject);
  661. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  662. }, function($ctx1) {$ctx1.fill(self,"->",{anObject:anObject})});
  663. //>>excludeEnd("ctx");
  664. },
  665. //>>excludeStart("ide", pragmas.excludeIdeData);
  666. args: ["anObject"],
  667. source: "-> anObject\x0a\x09^ Association key: self value: anObject",
  668. referencedClasses: ["Association"],
  669. //>>excludeEnd("ide");
  670. pragmas: [],
  671. messageSends: ["key:value:"]
  672. }),
  673. $globals.Object);
  674. $core.addMethod(
  675. $core.method({
  676. selector: "asJSONString",
  677. protocol: "converting",
  678. fn: function (){
  679. var self=this,$self=this;
  680. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  681. return $core.withContext(function($ctx1) {
  682. //>>excludeEnd("ctx");
  683. return $recv($globals.JSON)._stringify_($self._asJavaScriptObject());
  684. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  685. }, function($ctx1) {$ctx1.fill(self,"asJSONString",{})});
  686. //>>excludeEnd("ctx");
  687. },
  688. //>>excludeStart("ide", pragmas.excludeIdeData);
  689. args: [],
  690. source: "asJSONString\x0a\x09^ JSON stringify: self asJavaScriptObject",
  691. referencedClasses: ["JSON"],
  692. //>>excludeEnd("ide");
  693. pragmas: [],
  694. messageSends: ["stringify:", "asJavaScriptObject"]
  695. }),
  696. $globals.Object);
  697. $core.addMethod(
  698. $core.method({
  699. selector: "asJavaScriptObject",
  700. protocol: "converting",
  701. fn: function (){
  702. var self=this,$self=this;
  703. var variables;
  704. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  705. return $core.withContext(function($ctx1) {
  706. //>>excludeEnd("ctx");
  707. variables=$recv($globals.HashedCollection)._new();
  708. $recv($recv($self._class())._allInstanceVariableNames())._do_((function(each){
  709. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  710. return $core.withContext(function($ctx2) {
  711. //>>excludeEnd("ctx");
  712. return $recv(variables)._at_put_(each,$recv($self._instVarAt_(each))._asJavaScriptObject());
  713. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  714. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
  715. //>>excludeEnd("ctx");
  716. }));
  717. return variables;
  718. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  719. }, function($ctx1) {$ctx1.fill(self,"asJavaScriptObject",{variables:variables})});
  720. //>>excludeEnd("ctx");
  721. },
  722. //>>excludeStart("ide", pragmas.excludeIdeData);
  723. args: [],
  724. source: "asJavaScriptObject\x0a\x09| variables |\x0a\x09variables := HashedCollection new.\x0a\x09self class allInstanceVariableNames do: [ :each |\x0a\x09\x09variables at: each put: (self instVarAt: each) asJavaScriptObject ].\x0a\x09^ variables",
  725. referencedClasses: ["HashedCollection"],
  726. //>>excludeEnd("ide");
  727. pragmas: [],
  728. messageSends: ["new", "do:", "allInstanceVariableNames", "class", "at:put:", "asJavaScriptObject", "instVarAt:"]
  729. }),
  730. $globals.Object);
  731. $core.addMethod(
  732. $core.method({
  733. selector: "asJavaScriptSource",
  734. protocol: "converting",
  735. fn: function (){
  736. var self=this,$self=this;
  737. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  738. return $core.withContext(function($ctx1) {
  739. //>>excludeEnd("ctx");
  740. return $self._asString();
  741. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  742. }, function($ctx1) {$ctx1.fill(self,"asJavaScriptSource",{})});
  743. //>>excludeEnd("ctx");
  744. },
  745. //>>excludeStart("ide", pragmas.excludeIdeData);
  746. args: [],
  747. source: "asJavaScriptSource\x0a\x09^ self asString",
  748. referencedClasses: [],
  749. //>>excludeEnd("ide");
  750. pragmas: [],
  751. messageSends: ["asString"]
  752. }),
  753. $globals.Object);
  754. $core.addMethod(
  755. $core.method({
  756. selector: "basicAt:",
  757. protocol: "accessing",
  758. fn: function (aString){
  759. var self=this,$self=this;
  760. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  761. return $core.withContext(function($ctx1) {
  762. //>>excludeEnd("ctx");
  763. return self[aString];
  764. return self;
  765. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  766. }, function($ctx1) {$ctx1.fill(self,"basicAt:",{aString:aString})});
  767. //>>excludeEnd("ctx");
  768. },
  769. //>>excludeStart("ide", pragmas.excludeIdeData);
  770. args: ["aString"],
  771. source: "basicAt: aString\x0a\x09<inlineJS: 'return self[aString]'>",
  772. referencedClasses: [],
  773. //>>excludeEnd("ide");
  774. pragmas: [["inlineJS:", ["return self[aString]"]]],
  775. messageSends: []
  776. }),
  777. $globals.Object);
  778. $core.addMethod(
  779. $core.method({
  780. selector: "basicAt:put:",
  781. protocol: "accessing",
  782. fn: function (aString,anObject){
  783. var self=this,$self=this;
  784. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  785. return $core.withContext(function($ctx1) {
  786. //>>excludeEnd("ctx");
  787. return self[aString] = anObject;
  788. return self;
  789. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  790. }, function($ctx1) {$ctx1.fill(self,"basicAt:put:",{aString:aString,anObject:anObject})});
  791. //>>excludeEnd("ctx");
  792. },
  793. //>>excludeStart("ide", pragmas.excludeIdeData);
  794. args: ["aString", "anObject"],
  795. source: "basicAt: aString put: anObject\x0a\x09<inlineJS: 'return self[aString] = anObject'>",
  796. referencedClasses: [],
  797. //>>excludeEnd("ide");
  798. pragmas: [["inlineJS:", ["return self[aString] = anObject"]]],
  799. messageSends: []
  800. }),
  801. $globals.Object);
  802. $core.addMethod(
  803. $core.method({
  804. selector: "basicDelete:",
  805. protocol: "accessing",
  806. fn: function (aString){
  807. var self=this,$self=this;
  808. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  809. return $core.withContext(function($ctx1) {
  810. //>>excludeEnd("ctx");
  811. delete self[aString]; return aString;
  812. return self;
  813. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  814. }, function($ctx1) {$ctx1.fill(self,"basicDelete:",{aString:aString})});
  815. //>>excludeEnd("ctx");
  816. },
  817. //>>excludeStart("ide", pragmas.excludeIdeData);
  818. args: ["aString"],
  819. source: "basicDelete: aString\x0a\x09<inlineJS: 'delete self[aString]; return aString'>",
  820. referencedClasses: [],
  821. //>>excludeEnd("ide");
  822. pragmas: [["inlineJS:", ["delete self[aString]; return aString"]]],
  823. messageSends: []
  824. }),
  825. $globals.Object);
  826. $core.addMethod(
  827. $core.method({
  828. selector: "basicPerform:",
  829. protocol: "message handling",
  830. fn: function (aString){
  831. var self=this,$self=this;
  832. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  833. return $core.withContext(function($ctx1) {
  834. //>>excludeEnd("ctx");
  835. return $self._basicPerform_withArguments_(aString,[]);
  836. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  837. }, function($ctx1) {$ctx1.fill(self,"basicPerform:",{aString:aString})});
  838. //>>excludeEnd("ctx");
  839. },
  840. //>>excludeStart("ide", pragmas.excludeIdeData);
  841. args: ["aString"],
  842. source: "basicPerform: aString\x0a\x09^ self basicPerform: aString withArguments: #()",
  843. referencedClasses: [],
  844. //>>excludeEnd("ide");
  845. pragmas: [],
  846. messageSends: ["basicPerform:withArguments:"]
  847. }),
  848. $globals.Object);
  849. $core.addMethod(
  850. $core.method({
  851. selector: "basicPerform:withArguments:",
  852. protocol: "message handling",
  853. fn: function (aString,aCollection){
  854. var self=this,$self=this;
  855. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  856. return $core.withContext(function($ctx1) {
  857. //>>excludeEnd("ctx");
  858. return self[aString].apply(self, aCollection);;
  859. return self;
  860. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  861. }, function($ctx1) {$ctx1.fill(self,"basicPerform:withArguments:",{aString:aString,aCollection:aCollection})});
  862. //>>excludeEnd("ctx");
  863. },
  864. //>>excludeStart("ide", pragmas.excludeIdeData);
  865. args: ["aString", "aCollection"],
  866. source: "basicPerform: aString withArguments: aCollection\x0a\x09<inlineJS: 'return self[aString].apply(self, aCollection);'>",
  867. referencedClasses: [],
  868. //>>excludeEnd("ide");
  869. pragmas: [["inlineJS:", ["return self[aString].apply(self, aCollection);"]]],
  870. messageSends: []
  871. }),
  872. $globals.Object);
  873. $core.addMethod(
  874. $core.method({
  875. selector: "browse",
  876. protocol: "browsing",
  877. fn: function (){
  878. var self=this,$self=this;
  879. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  880. return $core.withContext(function($ctx1) {
  881. //>>excludeEnd("ctx");
  882. $recv($globals.Finder)._findClass_($self._class());
  883. return self;
  884. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  885. }, function($ctx1) {$ctx1.fill(self,"browse",{})});
  886. //>>excludeEnd("ctx");
  887. },
  888. //>>excludeStart("ide", pragmas.excludeIdeData);
  889. args: [],
  890. source: "browse\x0a\x09Finder findClass: self class",
  891. referencedClasses: ["Finder"],
  892. //>>excludeEnd("ide");
  893. pragmas: [],
  894. messageSends: ["findClass:", "class"]
  895. }),
  896. $globals.Object);
  897. $core.addMethod(
  898. $core.method({
  899. selector: "copy",
  900. protocol: "copying",
  901. fn: function (){
  902. var self=this,$self=this;
  903. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  904. return $core.withContext(function($ctx1) {
  905. //>>excludeEnd("ctx");
  906. return $recv($self._shallowCopy())._postCopy();
  907. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  908. }, function($ctx1) {$ctx1.fill(self,"copy",{})});
  909. //>>excludeEnd("ctx");
  910. },
  911. //>>excludeStart("ide", pragmas.excludeIdeData);
  912. args: [],
  913. source: "copy\x0a\x09^ self shallowCopy postCopy",
  914. referencedClasses: [],
  915. //>>excludeEnd("ide");
  916. pragmas: [],
  917. messageSends: ["postCopy", "shallowCopy"]
  918. }),
  919. $globals.Object);
  920. $core.addMethod(
  921. $core.method({
  922. selector: "deepCopy",
  923. protocol: "copying",
  924. fn: function (){
  925. var self=this,$self=this;
  926. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  927. return $core.withContext(function($ctx1) {
  928. //>>excludeEnd("ctx");
  929. var copy = self.a$cls._new();
  930. Object.keys(self).forEach(function (i) {
  931. copy[i] = $recv(self[i])._deepCopy();
  932. });
  933. return copy;
  934. ;
  935. return self;
  936. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  937. }, function($ctx1) {$ctx1.fill(self,"deepCopy",{})});
  938. //>>excludeEnd("ctx");
  939. },
  940. //>>excludeStart("ide", pragmas.excludeIdeData);
  941. args: [],
  942. source: "deepCopy\x0a\x09<inlineJS: '\x0a\x09\x09var copy = self.a$cls._new();\x0a\x09\x09Object.keys(self).forEach(function (i) {\x0a\x09\x09\x09copy[i] = $recv(self[i])._deepCopy();\x0a\x09\x09});\x0a\x09\x09return copy;\x0a\x09'>",
  943. referencedClasses: [],
  944. //>>excludeEnd("ide");
  945. pragmas: [["inlineJS:", ["\x0a\x09\x09var copy = self.a$cls._new();\x0a\x09\x09Object.keys(self).forEach(function (i) {\x0a\x09\x09\x09copy[i] = $recv(self[i])._deepCopy();\x0a\x09\x09});\x0a\x09\x09return copy;\x0a\x09"]]],
  946. messageSends: []
  947. }),
  948. $globals.Object);
  949. $core.addMethod(
  950. $core.method({
  951. selector: "deprecatedAPI",
  952. protocol: "error handling",
  953. fn: function (){
  954. var self=this,$self=this;
  955. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  956. return $core.withContext(function($ctx1) {
  957. //>>excludeEnd("ctx");
  958. var $1,$6,$5,$4,$8,$7,$3,$2;
  959. $1=console;
  960. $6=$core.getThisContext()._home();
  961. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  962. $ctx1.sendIdx["home"]=1;
  963. //>>excludeEnd("ctx");
  964. $5=$recv($6)._asString();
  965. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  966. $ctx1.sendIdx["asString"]=1;
  967. //>>excludeEnd("ctx");
  968. $4=$recv($5).__comma(" is deprecated! (in ");
  969. $8=$recv($core.getThisContext()._home())._home();
  970. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  971. $ctx1.sendIdx["home"]=2;
  972. //>>excludeEnd("ctx");
  973. $7=$recv($8)._asString();
  974. $3=$recv($4).__comma($7);
  975. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  976. $ctx1.sendIdx[","]=2;
  977. //>>excludeEnd("ctx");
  978. $2=$recv($3).__comma(")");
  979. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  980. $ctx1.sendIdx[","]=1;
  981. //>>excludeEnd("ctx");
  982. $recv($1)._warn_($2);
  983. return self;
  984. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  985. }, function($ctx1) {$ctx1.fill(self,"deprecatedAPI",{})});
  986. //>>excludeEnd("ctx");
  987. },
  988. //>>excludeStart("ide", pragmas.excludeIdeData);
  989. args: [],
  990. source: "deprecatedAPI\x0a\x09\x22Just a simple way to deprecate methods.\x0a\x09#deprecatedAPI is in the 'error handling' protocol even if it doesn't throw an error,\x0a\x09but it could in the future.\x22\x0a\x09console warn: thisContext home asString, ' is deprecated! (in ', thisContext home home asString, ')'.",
  991. referencedClasses: [],
  992. //>>excludeEnd("ide");
  993. pragmas: [],
  994. messageSends: ["warn:", ",", "asString", "home"]
  995. }),
  996. $globals.Object);
  997. $core.addMethod(
  998. $core.method({
  999. selector: "deprecatedAPI:",
  1000. protocol: "error handling",
  1001. fn: function (aString){
  1002. var self=this,$self=this;
  1003. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1004. return $core.withContext(function($ctx1) {
  1005. //>>excludeEnd("ctx");
  1006. var $1,$6,$5,$4,$8,$7,$3,$2;
  1007. $1=console;
  1008. $6=$core.getThisContext()._home();
  1009. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1010. $ctx1.sendIdx["home"]=1;
  1011. //>>excludeEnd("ctx");
  1012. $5=$recv($6)._asString();
  1013. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1014. $ctx1.sendIdx["asString"]=1;
  1015. //>>excludeEnd("ctx");
  1016. $4=$recv($5).__comma(" is deprecated! (in ");
  1017. $8=$recv($core.getThisContext()._home())._home();
  1018. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1019. $ctx1.sendIdx["home"]=2;
  1020. //>>excludeEnd("ctx");
  1021. $7=$recv($8)._asString();
  1022. $3=$recv($4).__comma($7);
  1023. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1024. $ctx1.sendIdx[","]=2;
  1025. //>>excludeEnd("ctx");
  1026. $2=$recv($3).__comma(")");
  1027. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1028. $ctx1.sendIdx[","]=1;
  1029. //>>excludeEnd("ctx");
  1030. $recv($1)._warn_($2);
  1031. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1032. $ctx1.sendIdx["warn:"]=1;
  1033. //>>excludeEnd("ctx");
  1034. $recv(console)._warn_(aString);
  1035. return self;
  1036. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1037. }, function($ctx1) {$ctx1.fill(self,"deprecatedAPI:",{aString:aString})});
  1038. //>>excludeEnd("ctx");
  1039. },
  1040. //>>excludeStart("ide", pragmas.excludeIdeData);
  1041. args: ["aString"],
  1042. source: "deprecatedAPI: aString\x0a\x09\x22Just a simple way to deprecate methods.\x0a\x09#deprecatedAPI is in the 'error handling' protocol even if it doesn't throw an error,\x0a\x09but it could in the future.\x22\x0a\x09console warn: thisContext home asString, ' is deprecated! (in ', thisContext home home asString, ')'.\x0a\x09console warn: aString",
  1043. referencedClasses: [],
  1044. //>>excludeEnd("ide");
  1045. pragmas: [],
  1046. messageSends: ["warn:", ",", "asString", "home"]
  1047. }),
  1048. $globals.Object);
  1049. $core.addMethod(
  1050. $core.method({
  1051. selector: "error:",
  1052. protocol: "error handling",
  1053. fn: function (aString){
  1054. var self=this,$self=this;
  1055. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1056. return $core.withContext(function($ctx1) {
  1057. //>>excludeEnd("ctx");
  1058. $recv($globals.Error)._signal_(aString);
  1059. return self;
  1060. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1061. }, function($ctx1) {$ctx1.fill(self,"error:",{aString:aString})});
  1062. //>>excludeEnd("ctx");
  1063. },
  1064. //>>excludeStart("ide", pragmas.excludeIdeData);
  1065. args: ["aString"],
  1066. source: "error: aString\x0a\x09Error signal: aString",
  1067. referencedClasses: ["Error"],
  1068. //>>excludeEnd("ide");
  1069. pragmas: [],
  1070. messageSends: ["signal:"]
  1071. }),
  1072. $globals.Object);
  1073. $core.addMethod(
  1074. $core.method({
  1075. selector: "halt",
  1076. protocol: "error handling",
  1077. fn: function (){
  1078. var self=this,$self=this;
  1079. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1080. return $core.withContext(function($ctx1) {
  1081. //>>excludeEnd("ctx");
  1082. $recv($globals.Halt)._signal();
  1083. return self;
  1084. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1085. }, function($ctx1) {$ctx1.fill(self,"halt",{})});
  1086. //>>excludeEnd("ctx");
  1087. },
  1088. //>>excludeStart("ide", pragmas.excludeIdeData);
  1089. args: [],
  1090. source: "halt\x0a\x09Halt signal",
  1091. referencedClasses: ["Halt"],
  1092. //>>excludeEnd("ide");
  1093. pragmas: [],
  1094. messageSends: ["signal"]
  1095. }),
  1096. $globals.Object);
  1097. $core.addMethod(
  1098. $core.method({
  1099. selector: "in:",
  1100. protocol: "evaluating",
  1101. fn: function (aValuable){
  1102. var self=this,$self=this;
  1103. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1104. return $core.withContext(function($ctx1) {
  1105. //>>excludeEnd("ctx");
  1106. return $recv(aValuable)._value_(self);
  1107. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1108. }, function($ctx1) {$ctx1.fill(self,"in:",{aValuable:aValuable})});
  1109. //>>excludeEnd("ctx");
  1110. },
  1111. //>>excludeStart("ide", pragmas.excludeIdeData);
  1112. args: ["aValuable"],
  1113. source: "in: aValuable\x0a\x09^ aValuable value: self",
  1114. referencedClasses: [],
  1115. //>>excludeEnd("ide");
  1116. pragmas: [],
  1117. messageSends: ["value:"]
  1118. }),
  1119. $globals.Object);
  1120. $core.addMethod(
  1121. $core.method({
  1122. selector: "isBehavior",
  1123. protocol: "testing",
  1124. fn: function (){
  1125. var self=this,$self=this;
  1126. return false;
  1127. },
  1128. //>>excludeStart("ide", pragmas.excludeIdeData);
  1129. args: [],
  1130. source: "isBehavior\x0a\x09^ false",
  1131. referencedClasses: [],
  1132. //>>excludeEnd("ide");
  1133. pragmas: [],
  1134. messageSends: []
  1135. }),
  1136. $globals.Object);
  1137. $core.addMethod(
  1138. $core.method({
  1139. selector: "isBoolean",
  1140. protocol: "testing",
  1141. fn: function (){
  1142. var self=this,$self=this;
  1143. return false;
  1144. },
  1145. //>>excludeStart("ide", pragmas.excludeIdeData);
  1146. args: [],
  1147. source: "isBoolean\x0a\x09^ false",
  1148. referencedClasses: [],
  1149. //>>excludeEnd("ide");
  1150. pragmas: [],
  1151. messageSends: []
  1152. }),
  1153. $globals.Object);
  1154. $core.addMethod(
  1155. $core.method({
  1156. selector: "isClass",
  1157. protocol: "testing",
  1158. fn: function (){
  1159. var self=this,$self=this;
  1160. return false;
  1161. },
  1162. //>>excludeStart("ide", pragmas.excludeIdeData);
  1163. args: [],
  1164. source: "isClass\x0a\x09^ false",
  1165. referencedClasses: [],
  1166. //>>excludeEnd("ide");
  1167. pragmas: [],
  1168. messageSends: []
  1169. }),
  1170. $globals.Object);
  1171. $core.addMethod(
  1172. $core.method({
  1173. selector: "isCompiledMethod",
  1174. protocol: "testing",
  1175. fn: function (){
  1176. var self=this,$self=this;
  1177. return false;
  1178. },
  1179. //>>excludeStart("ide", pragmas.excludeIdeData);
  1180. args: [],
  1181. source: "isCompiledMethod\x0a\x09^ false",
  1182. referencedClasses: [],
  1183. //>>excludeEnd("ide");
  1184. pragmas: [],
  1185. messageSends: []
  1186. }),
  1187. $globals.Object);
  1188. $core.addMethod(
  1189. $core.method({
  1190. selector: "isImmutable",
  1191. protocol: "testing",
  1192. fn: function (){
  1193. var self=this,$self=this;
  1194. return false;
  1195. },
  1196. //>>excludeStart("ide", pragmas.excludeIdeData);
  1197. args: [],
  1198. source: "isImmutable\x0a\x09^ false",
  1199. referencedClasses: [],
  1200. //>>excludeEnd("ide");
  1201. pragmas: [],
  1202. messageSends: []
  1203. }),
  1204. $globals.Object);
  1205. $core.addMethod(
  1206. $core.method({
  1207. selector: "isMemberOf:",
  1208. protocol: "testing",
  1209. fn: function (aClass){
  1210. var self=this,$self=this;
  1211. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1212. return $core.withContext(function($ctx1) {
  1213. //>>excludeEnd("ctx");
  1214. return $recv($self._class()).__eq(aClass);
  1215. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1216. }, function($ctx1) {$ctx1.fill(self,"isMemberOf:",{aClass:aClass})});
  1217. //>>excludeEnd("ctx");
  1218. },
  1219. //>>excludeStart("ide", pragmas.excludeIdeData);
  1220. args: ["aClass"],
  1221. source: "isMemberOf: aClass\x0a\x09^ self class = aClass",
  1222. referencedClasses: [],
  1223. //>>excludeEnd("ide");
  1224. pragmas: [],
  1225. messageSends: ["=", "class"]
  1226. }),
  1227. $globals.Object);
  1228. $core.addMethod(
  1229. $core.method({
  1230. selector: "isMetaclass",
  1231. protocol: "testing",
  1232. fn: function (){
  1233. var self=this,$self=this;
  1234. return false;
  1235. },
  1236. //>>excludeStart("ide", pragmas.excludeIdeData);
  1237. args: [],
  1238. source: "isMetaclass\x0a\x09^ false",
  1239. referencedClasses: [],
  1240. //>>excludeEnd("ide");
  1241. pragmas: [],
  1242. messageSends: []
  1243. }),
  1244. $globals.Object);
  1245. $core.addMethod(
  1246. $core.method({
  1247. selector: "isNumber",
  1248. protocol: "testing",
  1249. fn: function (){
  1250. var self=this,$self=this;
  1251. return false;
  1252. },
  1253. //>>excludeStart("ide", pragmas.excludeIdeData);
  1254. args: [],
  1255. source: "isNumber\x0a\x09^ false",
  1256. referencedClasses: [],
  1257. //>>excludeEnd("ide");
  1258. pragmas: [],
  1259. messageSends: []
  1260. }),
  1261. $globals.Object);
  1262. $core.addMethod(
  1263. $core.method({
  1264. selector: "isPackage",
  1265. protocol: "testing",
  1266. fn: function (){
  1267. var self=this,$self=this;
  1268. return false;
  1269. },
  1270. //>>excludeStart("ide", pragmas.excludeIdeData);
  1271. args: [],
  1272. source: "isPackage\x0a\x09^ false",
  1273. referencedClasses: [],
  1274. //>>excludeEnd("ide");
  1275. pragmas: [],
  1276. messageSends: []
  1277. }),
  1278. $globals.Object);
  1279. $core.addMethod(
  1280. $core.method({
  1281. selector: "isParseFailure",
  1282. protocol: "testing",
  1283. fn: function (){
  1284. var self=this,$self=this;
  1285. return false;
  1286. },
  1287. //>>excludeStart("ide", pragmas.excludeIdeData);
  1288. args: [],
  1289. source: "isParseFailure\x0a\x09^ false",
  1290. referencedClasses: [],
  1291. //>>excludeEnd("ide");
  1292. pragmas: [],
  1293. messageSends: []
  1294. }),
  1295. $globals.Object);
  1296. $core.addMethod(
  1297. $core.method({
  1298. selector: "isString",
  1299. protocol: "testing",
  1300. fn: function (){
  1301. var self=this,$self=this;
  1302. return false;
  1303. },
  1304. //>>excludeStart("ide", pragmas.excludeIdeData);
  1305. args: [],
  1306. source: "isString\x0a\x09^ false",
  1307. referencedClasses: [],
  1308. //>>excludeEnd("ide");
  1309. pragmas: [],
  1310. messageSends: []
  1311. }),
  1312. $globals.Object);
  1313. $core.addMethod(
  1314. $core.method({
  1315. selector: "isSymbol",
  1316. protocol: "testing",
  1317. fn: function (){
  1318. var self=this,$self=this;
  1319. return false;
  1320. },
  1321. //>>excludeStart("ide", pragmas.excludeIdeData);
  1322. args: [],
  1323. source: "isSymbol\x0a\x09^ false",
  1324. referencedClasses: [],
  1325. //>>excludeEnd("ide");
  1326. pragmas: [],
  1327. messageSends: []
  1328. }),
  1329. $globals.Object);
  1330. $core.addMethod(
  1331. $core.method({
  1332. selector: "postCopy",
  1333. protocol: "copying",
  1334. fn: function (){
  1335. var self=this,$self=this;
  1336. return self;
  1337. },
  1338. //>>excludeStart("ide", pragmas.excludeIdeData);
  1339. args: [],
  1340. source: "postCopy",
  1341. referencedClasses: [],
  1342. //>>excludeEnd("ide");
  1343. pragmas: [],
  1344. messageSends: []
  1345. }),
  1346. $globals.Object);
  1347. $core.addMethod(
  1348. $core.method({
  1349. selector: "putOn:",
  1350. protocol: "streaming",
  1351. fn: function (aStream){
  1352. var self=this,$self=this;
  1353. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1354. return $core.withContext(function($ctx1) {
  1355. //>>excludeEnd("ctx");
  1356. $recv(aStream)._nextPut_(self);
  1357. return self;
  1358. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1359. }, function($ctx1) {$ctx1.fill(self,"putOn:",{aStream:aStream})});
  1360. //>>excludeEnd("ctx");
  1361. },
  1362. //>>excludeStart("ide", pragmas.excludeIdeData);
  1363. args: ["aStream"],
  1364. source: "putOn: aStream\x0a\x09aStream nextPut: self",
  1365. referencedClasses: [],
  1366. //>>excludeEnd("ide");
  1367. pragmas: [],
  1368. messageSends: ["nextPut:"]
  1369. }),
  1370. $globals.Object);
  1371. $core.addMethod(
  1372. $core.method({
  1373. selector: "respondsTo:",
  1374. protocol: "testing",
  1375. fn: function (aSelector){
  1376. var self=this,$self=this;
  1377. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1378. return $core.withContext(function($ctx1) {
  1379. //>>excludeEnd("ctx");
  1380. return $recv($self._class())._canUnderstand_(aSelector);
  1381. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1382. }, function($ctx1) {$ctx1.fill(self,"respondsTo:",{aSelector:aSelector})});
  1383. //>>excludeEnd("ctx");
  1384. },
  1385. //>>excludeStart("ide", pragmas.excludeIdeData);
  1386. args: ["aSelector"],
  1387. source: "respondsTo: aSelector\x0a\x09^ self class canUnderstand: aSelector",
  1388. referencedClasses: [],
  1389. //>>excludeEnd("ide");
  1390. pragmas: [],
  1391. messageSends: ["canUnderstand:", "class"]
  1392. }),
  1393. $globals.Object);
  1394. $core.addMethod(
  1395. $core.method({
  1396. selector: "shallowCopy",
  1397. protocol: "copying",
  1398. fn: function (){
  1399. var self=this,$self=this;
  1400. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1401. return $core.withContext(function($ctx1) {
  1402. //>>excludeEnd("ctx");
  1403. var copy = self.a$cls._new();
  1404. Object.keys(self).forEach(function(i) {
  1405. copy[i] = self[i];
  1406. });
  1407. return copy;
  1408. ;
  1409. return self;
  1410. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1411. }, function($ctx1) {$ctx1.fill(self,"shallowCopy",{})});
  1412. //>>excludeEnd("ctx");
  1413. },
  1414. //>>excludeStart("ide", pragmas.excludeIdeData);
  1415. args: [],
  1416. source: "shallowCopy\x0a\x09<inlineJS: '\x0a\x09\x09var copy = self.a$cls._new();\x0a\x09\x09Object.keys(self).forEach(function(i) {\x0a\x09\x09\x09copy[i] = self[i];\x0a\x09\x09});\x0a\x09\x09return copy;\x0a\x09'>",
  1417. referencedClasses: [],
  1418. //>>excludeEnd("ide");
  1419. pragmas: [["inlineJS:", ["\x0a\x09\x09var copy = self.a$cls._new();\x0a\x09\x09Object.keys(self).forEach(function(i) {\x0a\x09\x09\x09copy[i] = self[i];\x0a\x09\x09});\x0a\x09\x09return copy;\x0a\x09"]]],
  1420. messageSends: []
  1421. }),
  1422. $globals.Object);
  1423. $core.addMethod(
  1424. $core.method({
  1425. selector: "shouldNotImplement",
  1426. protocol: "error handling",
  1427. fn: function (){
  1428. var self=this,$self=this;
  1429. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1430. return $core.withContext(function($ctx1) {
  1431. //>>excludeEnd("ctx");
  1432. $self._error_("This method should not be implemented in ".__comma($recv($self._class())._name()));
  1433. return self;
  1434. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1435. }, function($ctx1) {$ctx1.fill(self,"shouldNotImplement",{})});
  1436. //>>excludeEnd("ctx");
  1437. },
  1438. //>>excludeStart("ide", pragmas.excludeIdeData);
  1439. args: [],
  1440. source: "shouldNotImplement\x0a\x09self error: 'This method should not be implemented in ', self class name",
  1441. referencedClasses: [],
  1442. //>>excludeEnd("ide");
  1443. pragmas: [],
  1444. messageSends: ["error:", ",", "name", "class"]
  1445. }),
  1446. $globals.Object);
  1447. $core.addMethod(
  1448. $core.method({
  1449. selector: "size",
  1450. protocol: "accessing",
  1451. fn: function (){
  1452. var self=this,$self=this;
  1453. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1454. return $core.withContext(function($ctx1) {
  1455. //>>excludeEnd("ctx");
  1456. $self._error_("Object not indexable");
  1457. return self;
  1458. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1459. }, function($ctx1) {$ctx1.fill(self,"size",{})});
  1460. //>>excludeEnd("ctx");
  1461. },
  1462. //>>excludeStart("ide", pragmas.excludeIdeData);
  1463. args: [],
  1464. source: "size\x0a\x09self error: 'Object not indexable'",
  1465. referencedClasses: [],
  1466. //>>excludeEnd("ide");
  1467. pragmas: [],
  1468. messageSends: ["error:"]
  1469. }),
  1470. $globals.Object);
  1471. $core.addMethod(
  1472. $core.method({
  1473. selector: "subclassResponsibility",
  1474. protocol: "error handling",
  1475. fn: function (){
  1476. var self=this,$self=this;
  1477. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1478. return $core.withContext(function($ctx1) {
  1479. //>>excludeEnd("ctx");
  1480. $self._error_("This method is a responsibility of a subclass");
  1481. return self;
  1482. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1483. }, function($ctx1) {$ctx1.fill(self,"subclassResponsibility",{})});
  1484. //>>excludeEnd("ctx");
  1485. },
  1486. //>>excludeStart("ide", pragmas.excludeIdeData);
  1487. args: [],
  1488. source: "subclassResponsibility\x0a\x09self error: 'This method is a responsibility of a subclass'",
  1489. referencedClasses: [],
  1490. //>>excludeEnd("ide");
  1491. pragmas: [],
  1492. messageSends: ["error:"]
  1493. }),
  1494. $globals.Object);
  1495. $core.addMethod(
  1496. $core.method({
  1497. selector: "value",
  1498. protocol: "evaluating",
  1499. fn: function (){
  1500. var self=this,$self=this;
  1501. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1502. return $core.withContext(function($ctx1) {
  1503. //>>excludeEnd("ctx");
  1504. return self.valueOf();
  1505. return self;
  1506. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1507. }, function($ctx1) {$ctx1.fill(self,"value",{})});
  1508. //>>excludeEnd("ctx");
  1509. },
  1510. //>>excludeStart("ide", pragmas.excludeIdeData);
  1511. args: [],
  1512. source: "value\x0a\x09<inlineJS: 'return self.valueOf()'>",
  1513. referencedClasses: [],
  1514. //>>excludeEnd("ide");
  1515. pragmas: [["inlineJS:", ["return self.valueOf()"]]],
  1516. messageSends: []
  1517. }),
  1518. $globals.Object);
  1519. $core.addMethod(
  1520. $core.method({
  1521. selector: "accessorProtocolWith:",
  1522. protocol: "helios",
  1523. fn: function (aGenerator){
  1524. var self=this,$self=this;
  1525. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1526. return $core.withContext(function($ctx1) {
  1527. //>>excludeEnd("ctx");
  1528. $recv(aGenerator)._accessorProtocolForObject();
  1529. return self;
  1530. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1531. }, function($ctx1) {$ctx1.fill(self,"accessorProtocolWith:",{aGenerator:aGenerator})});
  1532. //>>excludeEnd("ctx");
  1533. },
  1534. //>>excludeStart("ide", pragmas.excludeIdeData);
  1535. args: ["aGenerator"],
  1536. source: "accessorProtocolWith: aGenerator\x0a\x09aGenerator accessorProtocolForObject",
  1537. referencedClasses: [],
  1538. //>>excludeEnd("ide");
  1539. pragmas: [],
  1540. messageSends: ["accessorProtocolForObject"]
  1541. }),
  1542. $globals.Object.a$cls);
  1543. $core.addMethod(
  1544. $core.method({
  1545. selector: "accessorsSourceCodesWith:",
  1546. protocol: "helios",
  1547. fn: function (aGenerator){
  1548. var self=this,$self=this;
  1549. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1550. return $core.withContext(function($ctx1) {
  1551. //>>excludeEnd("ctx");
  1552. $recv(aGenerator)._accessorsForObject();
  1553. return self;
  1554. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1555. }, function($ctx1) {$ctx1.fill(self,"accessorsSourceCodesWith:",{aGenerator:aGenerator})});
  1556. //>>excludeEnd("ctx");
  1557. },
  1558. //>>excludeStart("ide", pragmas.excludeIdeData);
  1559. args: ["aGenerator"],
  1560. source: "accessorsSourceCodesWith: aGenerator\x0a\x09aGenerator accessorsForObject",
  1561. referencedClasses: [],
  1562. //>>excludeEnd("ide");
  1563. pragmas: [],
  1564. messageSends: ["accessorsForObject"]
  1565. }),
  1566. $globals.Object.a$cls);
  1567. $core.addMethod(
  1568. $core.method({
  1569. selector: "initialize",
  1570. protocol: "initialization",
  1571. fn: function (){
  1572. var self=this,$self=this;
  1573. return self;
  1574. },
  1575. //>>excludeStart("ide", pragmas.excludeIdeData);
  1576. args: [],
  1577. source: "initialize\x0a\x09\x22no op\x22",
  1578. referencedClasses: [],
  1579. //>>excludeEnd("ide");
  1580. pragmas: [],
  1581. messageSends: []
  1582. }),
  1583. $globals.Object.a$cls);
  1584. $core.addMethod(
  1585. $core.method({
  1586. selector: "initializeProtocolWith:",
  1587. protocol: "helios",
  1588. fn: function (aGenerator){
  1589. var self=this,$self=this;
  1590. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1591. return $core.withContext(function($ctx1) {
  1592. //>>excludeEnd("ctx");
  1593. $recv(aGenerator)._initializeProtocolForObject();
  1594. return self;
  1595. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1596. }, function($ctx1) {$ctx1.fill(self,"initializeProtocolWith:",{aGenerator:aGenerator})});
  1597. //>>excludeEnd("ctx");
  1598. },
  1599. //>>excludeStart("ide", pragmas.excludeIdeData);
  1600. args: ["aGenerator"],
  1601. source: "initializeProtocolWith: aGenerator\x0a\x09aGenerator initializeProtocolForObject",
  1602. referencedClasses: [],
  1603. //>>excludeEnd("ide");
  1604. pragmas: [],
  1605. messageSends: ["initializeProtocolForObject"]
  1606. }),
  1607. $globals.Object.a$cls);
  1608. $core.addMethod(
  1609. $core.method({
  1610. selector: "initializeSourceCodesWith:",
  1611. protocol: "helios",
  1612. fn: function (aGenerator){
  1613. var self=this,$self=this;
  1614. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1615. return $core.withContext(function($ctx1) {
  1616. //>>excludeEnd("ctx");
  1617. $recv(aGenerator)._initializeForObject();
  1618. return self;
  1619. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1620. }, function($ctx1) {$ctx1.fill(self,"initializeSourceCodesWith:",{aGenerator:aGenerator})});
  1621. //>>excludeEnd("ctx");
  1622. },
  1623. //>>excludeStart("ide", pragmas.excludeIdeData);
  1624. args: ["aGenerator"],
  1625. source: "initializeSourceCodesWith: aGenerator\x0a\x09aGenerator initializeForObject",
  1626. referencedClasses: [],
  1627. //>>excludeEnd("ide");
  1628. pragmas: [],
  1629. messageSends: ["initializeForObject"]
  1630. }),
  1631. $globals.Object.a$cls);
  1632. $core.addClass("Boolean", $globals.Object, [], "Kernel-Objects");
  1633. //>>excludeStart("ide", pragmas.excludeIdeData);
  1634. $globals.Boolean.comment="I define the protocol for logic testing operations and conditional control structures for the logical values (see the `controlling` protocol).\x0a\x0aI have two instances, `true` and `false`.\x0a\x0aI am directly mapped to JavaScript Boolean. The `true` and `false` objects are the JavaScript boolean objects.\x0a\x0a## Usage Example:\x0a\x0a aBoolean not ifTrue: [ ... ] ifFalse: [ ... ]";
  1635. //>>excludeEnd("ide");
  1636. $core.addMethod(
  1637. $core.method({
  1638. selector: "&",
  1639. protocol: "controlling",
  1640. fn: function (aBoolean){
  1641. var self=this,$self=this;
  1642. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1643. return $core.withContext(function($ctx1) {
  1644. //>>excludeEnd("ctx");
  1645. if(self == true) {
  1646. return aBoolean;
  1647. } else {
  1648. return false;
  1649. }
  1650. ;
  1651. return self;
  1652. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1653. }, function($ctx1) {$ctx1.fill(self,"&",{aBoolean:aBoolean})});
  1654. //>>excludeEnd("ctx");
  1655. },
  1656. //>>excludeStart("ide", pragmas.excludeIdeData);
  1657. args: ["aBoolean"],
  1658. source: "& aBoolean\x0a\x09<inlineJS: '\x0a\x09\x09if(self == true) {\x0a\x09\x09return aBoolean;\x0a\x09\x09} else {\x0a\x09\x09return false;\x0a\x09\x09}\x0a\x09'>",
  1659. referencedClasses: [],
  1660. //>>excludeEnd("ide");
  1661. pragmas: [["inlineJS:", ["\x0a\x09\x09if(self == true) {\x0a\x09\x09return aBoolean;\x0a\x09\x09} else {\x0a\x09\x09return false;\x0a\x09\x09}\x0a\x09"]]],
  1662. messageSends: []
  1663. }),
  1664. $globals.Boolean);
  1665. $core.addMethod(
  1666. $core.method({
  1667. selector: "==",
  1668. protocol: "comparing",
  1669. fn: function (aBoolean){
  1670. var self=this,$self=this;
  1671. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1672. return $core.withContext(function($ctx1) {
  1673. //>>excludeEnd("ctx");
  1674. if (typeof aBoolean === "boolean") return (self == true) === aBoolean;
  1675. else if (aBoolean != null && typeof aBoolean === "object") return (self == true) === aBoolean.valueOf();
  1676. else return false;;
  1677. return self;
  1678. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1679. }, function($ctx1) {$ctx1.fill(self,"==",{aBoolean:aBoolean})});
  1680. //>>excludeEnd("ctx");
  1681. },
  1682. //>>excludeStart("ide", pragmas.excludeIdeData);
  1683. args: ["aBoolean"],
  1684. source: "== aBoolean\x0a<inlineJS: '\x0a\x09if (typeof aBoolean === \x22boolean\x22) return (self == true) === aBoolean;\x0a\x09else if (aBoolean != null && typeof aBoolean === \x22object\x22) return (self == true) === aBoolean.valueOf();\x0a\x09else return false;\x0a'>",
  1685. referencedClasses: [],
  1686. //>>excludeEnd("ide");
  1687. pragmas: [["inlineJS:", ["\x0a\x09if (typeof aBoolean === \x22boolean\x22) return (self == true) === aBoolean;\x0a\x09else if (aBoolean != null && typeof aBoolean === \x22object\x22) return (self == true) === aBoolean.valueOf();\x0a\x09else return false;"]]],
  1688. messageSends: []
  1689. }),
  1690. $globals.Boolean);
  1691. $core.addMethod(
  1692. $core.method({
  1693. selector: "and:",
  1694. protocol: "controlling",
  1695. fn: function (aBlock){
  1696. var self=this,$self=this;
  1697. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1698. return $core.withContext(function($ctx1) {
  1699. //>>excludeEnd("ctx");
  1700. if($core.assert(self)){
  1701. return $recv(aBlock)._value();
  1702. } else {
  1703. return false;
  1704. }
  1705. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1706. }, function($ctx1) {$ctx1.fill(self,"and:",{aBlock:aBlock})});
  1707. //>>excludeEnd("ctx");
  1708. },
  1709. //>>excludeStart("ide", pragmas.excludeIdeData);
  1710. args: ["aBlock"],
  1711. source: "and: aBlock\x0a\x09^ self\x0a\x09\x09ifTrue: \x22aBlock\x22 [ aBlock value ]\x0a\x09\x09ifFalse: [ false ]",
  1712. referencedClasses: [],
  1713. //>>excludeEnd("ide");
  1714. pragmas: [],
  1715. messageSends: ["ifTrue:ifFalse:", "value"]
  1716. }),
  1717. $globals.Boolean);
  1718. $core.addMethod(
  1719. $core.method({
  1720. selector: "asBit",
  1721. protocol: "converting",
  1722. fn: function (){
  1723. var self=this,$self=this;
  1724. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1725. return $core.withContext(function($ctx1) {
  1726. //>>excludeEnd("ctx");
  1727. if($core.assert(self)){
  1728. return (1);
  1729. } else {
  1730. return (0);
  1731. }
  1732. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1733. }, function($ctx1) {$ctx1.fill(self,"asBit",{})});
  1734. //>>excludeEnd("ctx");
  1735. },
  1736. //>>excludeStart("ide", pragmas.excludeIdeData);
  1737. args: [],
  1738. source: "asBit\x0a\x09^ self ifTrue: [ 1 ] ifFalse: [ 0 ]",
  1739. referencedClasses: [],
  1740. //>>excludeEnd("ide");
  1741. pragmas: [],
  1742. messageSends: ["ifTrue:ifFalse:"]
  1743. }),
  1744. $globals.Boolean);
  1745. $core.addMethod(
  1746. $core.method({
  1747. selector: "asJavaScriptObject",
  1748. protocol: "converting",
  1749. fn: function (){
  1750. var self=this,$self=this;
  1751. return self;
  1752. },
  1753. //>>excludeStart("ide", pragmas.excludeIdeData);
  1754. args: [],
  1755. source: "asJavaScriptObject\x0a\x09^ self",
  1756. referencedClasses: [],
  1757. //>>excludeEnd("ide");
  1758. pragmas: [],
  1759. messageSends: []
  1760. }),
  1761. $globals.Boolean);
  1762. $core.addMethod(
  1763. $core.method({
  1764. selector: "asString",
  1765. protocol: "converting",
  1766. fn: function (){
  1767. var self=this,$self=this;
  1768. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1769. return $core.withContext(function($ctx1) {
  1770. //>>excludeEnd("ctx");
  1771. return self.toString();
  1772. return self;
  1773. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1774. }, function($ctx1) {$ctx1.fill(self,"asString",{})});
  1775. //>>excludeEnd("ctx");
  1776. },
  1777. //>>excludeStart("ide", pragmas.excludeIdeData);
  1778. args: [],
  1779. source: "asString\x0a\x09<inlineJS: 'return self.toString()'>",
  1780. referencedClasses: [],
  1781. //>>excludeEnd("ide");
  1782. pragmas: [["inlineJS:", ["return self.toString()"]]],
  1783. messageSends: []
  1784. }),
  1785. $globals.Boolean);
  1786. $core.addMethod(
  1787. $core.method({
  1788. selector: "deepCopy",
  1789. protocol: "copying",
  1790. fn: function (){
  1791. var self=this,$self=this;
  1792. return self;
  1793. },
  1794. //>>excludeStart("ide", pragmas.excludeIdeData);
  1795. args: [],
  1796. source: "deepCopy\x0a\x09^ self",
  1797. referencedClasses: [],
  1798. //>>excludeEnd("ide");
  1799. pragmas: [],
  1800. messageSends: []
  1801. }),
  1802. $globals.Boolean);
  1803. $core.addMethod(
  1804. $core.method({
  1805. selector: "ifFalse:",
  1806. protocol: "controlling",
  1807. fn: function (aBlock){
  1808. var self=this,$self=this;
  1809. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1810. return $core.withContext(function($ctx1) {
  1811. //>>excludeEnd("ctx");
  1812. return $self._ifTrue_ifFalse_((function(){
  1813. }),aBlock);
  1814. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1815. }, function($ctx1) {$ctx1.fill(self,"ifFalse:",{aBlock:aBlock})});
  1816. //>>excludeEnd("ctx");
  1817. },
  1818. //>>excludeStart("ide", pragmas.excludeIdeData);
  1819. args: ["aBlock"],
  1820. source: "ifFalse: aBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09^ self ifTrue: [] ifFalse: aBlock",
  1821. referencedClasses: [],
  1822. //>>excludeEnd("ide");
  1823. pragmas: [],
  1824. messageSends: ["ifTrue:ifFalse:"]
  1825. }),
  1826. $globals.Boolean);
  1827. $core.addMethod(
  1828. $core.method({
  1829. selector: "ifFalse:ifTrue:",
  1830. protocol: "controlling",
  1831. fn: function (aBlock,anotherBlock){
  1832. var self=this,$self=this;
  1833. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1834. return $core.withContext(function($ctx1) {
  1835. //>>excludeEnd("ctx");
  1836. return $self._ifTrue_ifFalse_(anotherBlock,aBlock);
  1837. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1838. }, function($ctx1) {$ctx1.fill(self,"ifFalse:ifTrue:",{aBlock:aBlock,anotherBlock:anotherBlock})});
  1839. //>>excludeEnd("ctx");
  1840. },
  1841. //>>excludeStart("ide", pragmas.excludeIdeData);
  1842. args: ["aBlock", "anotherBlock"],
  1843. source: "ifFalse: aBlock ifTrue: anotherBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09^ self ifTrue: anotherBlock ifFalse: aBlock",
  1844. referencedClasses: [],
  1845. //>>excludeEnd("ide");
  1846. pragmas: [],
  1847. messageSends: ["ifTrue:ifFalse:"]
  1848. }),
  1849. $globals.Boolean);
  1850. $core.addMethod(
  1851. $core.method({
  1852. selector: "ifTrue:",
  1853. protocol: "controlling",
  1854. fn: function (aBlock){
  1855. var self=this,$self=this;
  1856. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1857. return $core.withContext(function($ctx1) {
  1858. //>>excludeEnd("ctx");
  1859. return $self._ifTrue_ifFalse_(aBlock,(function(){
  1860. }));
  1861. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1862. }, function($ctx1) {$ctx1.fill(self,"ifTrue:",{aBlock:aBlock})});
  1863. //>>excludeEnd("ctx");
  1864. },
  1865. //>>excludeStart("ide", pragmas.excludeIdeData);
  1866. args: ["aBlock"],
  1867. source: "ifTrue: aBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09^ self ifTrue: aBlock ifFalse: []",
  1868. referencedClasses: [],
  1869. //>>excludeEnd("ide");
  1870. pragmas: [],
  1871. messageSends: ["ifTrue:ifFalse:"]
  1872. }),
  1873. $globals.Boolean);
  1874. $core.addMethod(
  1875. $core.method({
  1876. selector: "ifTrue:ifFalse:",
  1877. protocol: "controlling",
  1878. fn: function (aBlock,anotherBlock){
  1879. var self=this,$self=this;
  1880. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1881. return $core.withContext(function($ctx1) {
  1882. //>>excludeEnd("ctx");
  1883. if(self == true) {
  1884. return aBlock._value();
  1885. } else {
  1886. return anotherBlock._value();
  1887. }
  1888. ;
  1889. return self;
  1890. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1891. }, function($ctx1) {$ctx1.fill(self,"ifTrue:ifFalse:",{aBlock:aBlock,anotherBlock:anotherBlock})});
  1892. //>>excludeEnd("ctx");
  1893. },
  1894. //>>excludeStart("ide", pragmas.excludeIdeData);
  1895. args: ["aBlock", "anotherBlock"],
  1896. source: "ifTrue: aBlock ifFalse: anotherBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09<inlineJS: '\x0a\x09\x09if(self == true) {\x0a\x09\x09return aBlock._value();\x0a\x09\x09} else {\x0a\x09\x09return anotherBlock._value();\x0a\x09\x09}\x0a\x09'>",
  1897. referencedClasses: [],
  1898. //>>excludeEnd("ide");
  1899. pragmas: [["inlineJS:", ["\x0a\x09\x09if(self == true) {\x0a\x09\x09return aBlock._value();\x0a\x09\x09} else {\x0a\x09\x09return anotherBlock._value();\x0a\x09\x09}\x0a\x09"]]],
  1900. messageSends: []
  1901. }),
  1902. $globals.Boolean);
  1903. $core.addMethod(
  1904. $core.method({
  1905. selector: "isBoolean",
  1906. protocol: "testing",
  1907. fn: function (){
  1908. var self=this,$self=this;
  1909. return true;
  1910. },
  1911. //>>excludeStart("ide", pragmas.excludeIdeData);
  1912. args: [],
  1913. source: "isBoolean\x0a\x09^ true",
  1914. referencedClasses: [],
  1915. //>>excludeEnd("ide");
  1916. pragmas: [],
  1917. messageSends: []
  1918. }),
  1919. $globals.Boolean);
  1920. $core.addMethod(
  1921. $core.method({
  1922. selector: "isImmutable",
  1923. protocol: "testing",
  1924. fn: function (){
  1925. var self=this,$self=this;
  1926. return true;
  1927. },
  1928. //>>excludeStart("ide", pragmas.excludeIdeData);
  1929. args: [],
  1930. source: "isImmutable\x0a\x09^ true",
  1931. referencedClasses: [],
  1932. //>>excludeEnd("ide");
  1933. pragmas: [],
  1934. messageSends: []
  1935. }),
  1936. $globals.Boolean);
  1937. $core.addMethod(
  1938. $core.method({
  1939. selector: "not",
  1940. protocol: "controlling",
  1941. fn: function (){
  1942. var self=this,$self=this;
  1943. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1944. return $core.withContext(function($ctx1) {
  1945. //>>excludeEnd("ctx");
  1946. return $self.__eq(false);
  1947. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1948. }, function($ctx1) {$ctx1.fill(self,"not",{})});
  1949. //>>excludeEnd("ctx");
  1950. },
  1951. //>>excludeStart("ide", pragmas.excludeIdeData);
  1952. args: [],
  1953. source: "not\x0a\x09^ self = false",
  1954. referencedClasses: [],
  1955. //>>excludeEnd("ide");
  1956. pragmas: [],
  1957. messageSends: ["="]
  1958. }),
  1959. $globals.Boolean);
  1960. $core.addMethod(
  1961. $core.method({
  1962. selector: "or:",
  1963. protocol: "controlling",
  1964. fn: function (aBlock){
  1965. var self=this,$self=this;
  1966. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1967. return $core.withContext(function($ctx1) {
  1968. //>>excludeEnd("ctx");
  1969. if($core.assert(self)){
  1970. return true;
  1971. } else {
  1972. return $recv(aBlock)._value();
  1973. }
  1974. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1975. }, function($ctx1) {$ctx1.fill(self,"or:",{aBlock:aBlock})});
  1976. //>>excludeEnd("ctx");
  1977. },
  1978. //>>excludeStart("ide", pragmas.excludeIdeData);
  1979. args: ["aBlock"],
  1980. source: "or: aBlock\x0a\x09^ self\x0a\x09\x09ifTrue: [ true ]\x0a\x09\x09ifFalse: \x22aBlock\x22 [ aBlock value ]",
  1981. referencedClasses: [],
  1982. //>>excludeEnd("ide");
  1983. pragmas: [],
  1984. messageSends: ["ifTrue:ifFalse:", "value"]
  1985. }),
  1986. $globals.Boolean);
  1987. $core.addMethod(
  1988. $core.method({
  1989. selector: "printOn:",
  1990. protocol: "printing",
  1991. fn: function (aStream){
  1992. var self=this,$self=this;
  1993. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1994. return $core.withContext(function($ctx1) {
  1995. //>>excludeEnd("ctx");
  1996. $recv(aStream)._nextPutAll_($self._asString());
  1997. return self;
  1998. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  1999. }, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream})});
  2000. //>>excludeEnd("ctx");
  2001. },
  2002. //>>excludeStart("ide", pragmas.excludeIdeData);
  2003. args: ["aStream"],
  2004. source: "printOn: aStream\x0a\x09aStream nextPutAll: self asString",
  2005. referencedClasses: [],
  2006. //>>excludeEnd("ide");
  2007. pragmas: [],
  2008. messageSends: ["nextPutAll:", "asString"]
  2009. }),
  2010. $globals.Boolean);
  2011. $core.addMethod(
  2012. $core.method({
  2013. selector: "shallowCopy",
  2014. protocol: "copying",
  2015. fn: function (){
  2016. var self=this,$self=this;
  2017. return self;
  2018. },
  2019. //>>excludeStart("ide", pragmas.excludeIdeData);
  2020. args: [],
  2021. source: "shallowCopy\x0a\x09^ self",
  2022. referencedClasses: [],
  2023. //>>excludeEnd("ide");
  2024. pragmas: [],
  2025. messageSends: []
  2026. }),
  2027. $globals.Boolean);
  2028. $core.addMethod(
  2029. $core.method({
  2030. selector: "|",
  2031. protocol: "controlling",
  2032. fn: function (aBoolean){
  2033. var self=this,$self=this;
  2034. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2035. return $core.withContext(function($ctx1) {
  2036. //>>excludeEnd("ctx");
  2037. if(self == true) {
  2038. return true;
  2039. } else {
  2040. return aBoolean;
  2041. }
  2042. ;
  2043. return self;
  2044. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2045. }, function($ctx1) {$ctx1.fill(self,"|",{aBoolean:aBoolean})});
  2046. //>>excludeEnd("ctx");
  2047. },
  2048. //>>excludeStart("ide", pragmas.excludeIdeData);
  2049. args: ["aBoolean"],
  2050. source: "| aBoolean\x0a\x09<inlineJS: '\x0a\x09\x09if(self == true) {\x0a\x09\x09return true;\x0a\x09\x09} else {\x0a\x09\x09return aBoolean;\x0a\x09\x09}\x0a\x09'>",
  2051. referencedClasses: [],
  2052. //>>excludeEnd("ide");
  2053. pragmas: [["inlineJS:", ["\x0a\x09\x09if(self == true) {\x0a\x09\x09return true;\x0a\x09\x09} else {\x0a\x09\x09return aBoolean;\x0a\x09\x09}\x0a\x09"]]],
  2054. messageSends: []
  2055. }),
  2056. $globals.Boolean);
  2057. $core.addClass("Date", $globals.Object, [], "Kernel-Objects");
  2058. //>>excludeStart("ide", pragmas.excludeIdeData);
  2059. $globals.Date.comment="I am used to work with both dates and times. Therefore `Date today` and `Date now` are both valid in\x0aAmber and answer the same date object.\x0a\x0aDate directly maps to the `Date()` JavaScript constructor, and Amber date objects are JavaScript date objects.\x0a\x0a## API\x0a\x0aThe class-side `instance creation` protocol contains some convenience methods for creating date/time objects such as `#fromSeconds:`.\x0a\x0aArithmetic and comparison is supported (see the `comparing` and `arithmetic` protocols).\x0a\x0aThe `converting` protocol provides convenience methods for various convertions (to numbers, strings, etc.).";
  2060. //>>excludeEnd("ide");
  2061. $core.addMethod(
  2062. $core.method({
  2063. selector: "+",
  2064. protocol: "arithmetic",
  2065. fn: function (aNumber){
  2066. var self=this,$self=this;
  2067. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2068. return $core.withContext(function($ctx1) {
  2069. //>>excludeEnd("ctx");
  2070. return new Date($self.getTime() + aNumber);
  2071. return self;
  2072. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2073. }, function($ctx1) {$ctx1.fill(self,"+",{aNumber:aNumber})});
  2074. //>>excludeEnd("ctx");
  2075. },
  2076. //>>excludeStart("ide", pragmas.excludeIdeData);
  2077. args: ["aNumber"],
  2078. source: "+ aNumber\x0a\x09<inlineJS: 'return new Date($self.getTime() + aNumber)'>",
  2079. referencedClasses: [],
  2080. //>>excludeEnd("ide");
  2081. pragmas: [["inlineJS:", ["return new Date($self.getTime() + aNumber)"]]],
  2082. messageSends: []
  2083. }),
  2084. $globals.Date);
  2085. $core.addMethod(
  2086. $core.method({
  2087. selector: "-",
  2088. protocol: "arithmetic",
  2089. fn: function (aDate){
  2090. var self=this,$self=this;
  2091. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2092. return $core.withContext(function($ctx1) {
  2093. //>>excludeEnd("ctx");
  2094. return self - aDate;
  2095. return self;
  2096. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2097. }, function($ctx1) {$ctx1.fill(self,"-",{aDate:aDate})});
  2098. //>>excludeEnd("ctx");
  2099. },
  2100. //>>excludeStart("ide", pragmas.excludeIdeData);
  2101. args: ["aDate"],
  2102. source: "- aDate\x0a\x09<inlineJS: 'return self - aDate'>",
  2103. referencedClasses: [],
  2104. //>>excludeEnd("ide");
  2105. pragmas: [["inlineJS:", ["return self - aDate"]]],
  2106. messageSends: []
  2107. }),
  2108. $globals.Date);
  2109. $core.addMethod(
  2110. $core.method({
  2111. selector: "<",
  2112. protocol: "comparing",
  2113. fn: function (aDate){
  2114. var self=this,$self=this;
  2115. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2116. return $core.withContext(function($ctx1) {
  2117. //>>excludeEnd("ctx");
  2118. return self < aDate;
  2119. return self;
  2120. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2121. }, function($ctx1) {$ctx1.fill(self,"<",{aDate:aDate})});
  2122. //>>excludeEnd("ctx");
  2123. },
  2124. //>>excludeStart("ide", pragmas.excludeIdeData);
  2125. args: ["aDate"],
  2126. source: "< aDate\x0a\x09<inlineJS: 'return self < aDate'>",
  2127. referencedClasses: [],
  2128. //>>excludeEnd("ide");
  2129. pragmas: [["inlineJS:", ["return self < aDate"]]],
  2130. messageSends: []
  2131. }),
  2132. $globals.Date);
  2133. $core.addMethod(
  2134. $core.method({
  2135. selector: "<=",
  2136. protocol: "comparing",
  2137. fn: function (aDate){
  2138. var self=this,$self=this;
  2139. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2140. return $core.withContext(function($ctx1) {
  2141. //>>excludeEnd("ctx");
  2142. return self <= aDate;
  2143. return self;
  2144. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2145. }, function($ctx1) {$ctx1.fill(self,"<=",{aDate:aDate})});
  2146. //>>excludeEnd("ctx");
  2147. },
  2148. //>>excludeStart("ide", pragmas.excludeIdeData);
  2149. args: ["aDate"],
  2150. source: "<= aDate\x0a\x09<inlineJS: 'return self <= aDate'>",
  2151. referencedClasses: [],
  2152. //>>excludeEnd("ide");
  2153. pragmas: [["inlineJS:", ["return self <= aDate"]]],
  2154. messageSends: []
  2155. }),
  2156. $globals.Date);
  2157. $core.addMethod(
  2158. $core.method({
  2159. selector: "=",
  2160. protocol: "comparing",
  2161. fn: function (aDate){
  2162. var self=this,$self=this;
  2163. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2164. return $core.withContext(function($ctx1) {
  2165. //>>excludeEnd("ctx");
  2166. var $2,$1,$3;
  2167. $2=$recv(aDate)._class();
  2168. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2169. $ctx1.sendIdx["class"]=1;
  2170. //>>excludeEnd("ctx");
  2171. $1=$recv($2).__eq_eq($self._class());
  2172. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2173. $ctx1.sendIdx["=="]=1;
  2174. //>>excludeEnd("ctx");
  2175. return $recv($1)._and_((function(){
  2176. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2177. return $core.withContext(function($ctx2) {
  2178. //>>excludeEnd("ctx");
  2179. $3=$self._asMilliseconds();
  2180. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2181. $ctx2.sendIdx["asMilliseconds"]=1;
  2182. //>>excludeEnd("ctx");
  2183. return $recv($3).__eq_eq($recv(aDate)._asMilliseconds());
  2184. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2185. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  2186. //>>excludeEnd("ctx");
  2187. }));
  2188. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2189. }, function($ctx1) {$ctx1.fill(self,"=",{aDate:aDate})});
  2190. //>>excludeEnd("ctx");
  2191. },
  2192. //>>excludeStart("ide", pragmas.excludeIdeData);
  2193. args: ["aDate"],
  2194. source: "= aDate\x0a\x09^ (aDate class == self class) and: [ self asMilliseconds == aDate asMilliseconds ]",
  2195. referencedClasses: [],
  2196. //>>excludeEnd("ide");
  2197. pragmas: [],
  2198. messageSends: ["and:", "==", "class", "asMilliseconds"]
  2199. }),
  2200. $globals.Date);
  2201. $core.addMethod(
  2202. $core.method({
  2203. selector: ">",
  2204. protocol: "comparing",
  2205. fn: function (aDate){
  2206. var self=this,$self=this;
  2207. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2208. return $core.withContext(function($ctx1) {
  2209. //>>excludeEnd("ctx");
  2210. return self > aDate;
  2211. return self;
  2212. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2213. }, function($ctx1) {$ctx1.fill(self,">",{aDate:aDate})});
  2214. //>>excludeEnd("ctx");
  2215. },
  2216. //>>excludeStart("ide", pragmas.excludeIdeData);
  2217. args: ["aDate"],
  2218. source: "> aDate\x0a\x09<inlineJS: 'return self > aDate'>",
  2219. referencedClasses: [],
  2220. //>>excludeEnd("ide");
  2221. pragmas: [["inlineJS:", ["return self > aDate"]]],
  2222. messageSends: []
  2223. }),
  2224. $globals.Date);
  2225. $core.addMethod(
  2226. $core.method({
  2227. selector: ">=",
  2228. protocol: "comparing",
  2229. fn: function (aDate){
  2230. var self=this,$self=this;
  2231. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2232. return $core.withContext(function($ctx1) {
  2233. //>>excludeEnd("ctx");
  2234. return self >= aDate;
  2235. return self;
  2236. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2237. }, function($ctx1) {$ctx1.fill(self,">=",{aDate:aDate})});
  2238. //>>excludeEnd("ctx");
  2239. },
  2240. //>>excludeStart("ide", pragmas.excludeIdeData);
  2241. args: ["aDate"],
  2242. source: ">= aDate\x0a\x09<inlineJS: 'return self >= aDate'>",
  2243. referencedClasses: [],
  2244. //>>excludeEnd("ide");
  2245. pragmas: [["inlineJS:", ["return self >= aDate"]]],
  2246. messageSends: []
  2247. }),
  2248. $globals.Date);
  2249. $core.addMethod(
  2250. $core.method({
  2251. selector: "asDateString",
  2252. protocol: "converting",
  2253. fn: function (){
  2254. var self=this,$self=this;
  2255. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2256. return $core.withContext(function($ctx1) {
  2257. //>>excludeEnd("ctx");
  2258. return self.toDateString();
  2259. return self;
  2260. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2261. }, function($ctx1) {$ctx1.fill(self,"asDateString",{})});
  2262. //>>excludeEnd("ctx");
  2263. },
  2264. //>>excludeStart("ide", pragmas.excludeIdeData);
  2265. args: [],
  2266. source: "asDateString\x0a\x09<inlineJS: 'return self.toDateString()'>",
  2267. referencedClasses: [],
  2268. //>>excludeEnd("ide");
  2269. pragmas: [["inlineJS:", ["return self.toDateString()"]]],
  2270. messageSends: []
  2271. }),
  2272. $globals.Date);
  2273. $core.addMethod(
  2274. $core.method({
  2275. selector: "asLocaleString",
  2276. protocol: "converting",
  2277. fn: function (){
  2278. var self=this,$self=this;
  2279. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2280. return $core.withContext(function($ctx1) {
  2281. //>>excludeEnd("ctx");
  2282. return self.toLocaleString();
  2283. return self;
  2284. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2285. }, function($ctx1) {$ctx1.fill(self,"asLocaleString",{})});
  2286. //>>excludeEnd("ctx");
  2287. },
  2288. //>>excludeStart("ide", pragmas.excludeIdeData);
  2289. args: [],
  2290. source: "asLocaleString\x0a\x09<inlineJS: 'return self.toLocaleString()'>",
  2291. referencedClasses: [],
  2292. //>>excludeEnd("ide");
  2293. pragmas: [["inlineJS:", ["return self.toLocaleString()"]]],
  2294. messageSends: []
  2295. }),
  2296. $globals.Date);
  2297. $core.addMethod(
  2298. $core.method({
  2299. selector: "asMilliseconds",
  2300. protocol: "converting",
  2301. fn: function (){
  2302. var self=this,$self=this;
  2303. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2304. return $core.withContext(function($ctx1) {
  2305. //>>excludeEnd("ctx");
  2306. return $self._time();
  2307. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2308. }, function($ctx1) {$ctx1.fill(self,"asMilliseconds",{})});
  2309. //>>excludeEnd("ctx");
  2310. },
  2311. //>>excludeStart("ide", pragmas.excludeIdeData);
  2312. args: [],
  2313. source: "asMilliseconds\x0a\x09^ self time",
  2314. referencedClasses: [],
  2315. //>>excludeEnd("ide");
  2316. pragmas: [],
  2317. messageSends: ["time"]
  2318. }),
  2319. $globals.Date);
  2320. $core.addMethod(
  2321. $core.method({
  2322. selector: "asNumber",
  2323. protocol: "converting",
  2324. fn: function (){
  2325. var self=this,$self=this;
  2326. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2327. return $core.withContext(function($ctx1) {
  2328. //>>excludeEnd("ctx");
  2329. return $self._asMilliseconds();
  2330. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2331. }, function($ctx1) {$ctx1.fill(self,"asNumber",{})});
  2332. //>>excludeEnd("ctx");
  2333. },
  2334. //>>excludeStart("ide", pragmas.excludeIdeData);
  2335. args: [],
  2336. source: "asNumber\x0a\x09^ self asMilliseconds",
  2337. referencedClasses: [],
  2338. //>>excludeEnd("ide");
  2339. pragmas: [],
  2340. messageSends: ["asMilliseconds"]
  2341. }),
  2342. $globals.Date);
  2343. $core.addMethod(
  2344. $core.method({
  2345. selector: "asString",
  2346. protocol: "converting",
  2347. fn: function (){
  2348. var self=this,$self=this;
  2349. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2350. return $core.withContext(function($ctx1) {
  2351. //>>excludeEnd("ctx");
  2352. return self.toString();
  2353. return self;
  2354. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2355. }, function($ctx1) {$ctx1.fill(self,"asString",{})});
  2356. //>>excludeEnd("ctx");
  2357. },
  2358. //>>excludeStart("ide", pragmas.excludeIdeData);
  2359. args: [],
  2360. source: "asString\x0a\x09<inlineJS: 'return self.toString()'>",
  2361. referencedClasses: [],
  2362. //>>excludeEnd("ide");
  2363. pragmas: [["inlineJS:", ["return self.toString()"]]],
  2364. messageSends: []
  2365. }),
  2366. $globals.Date);
  2367. $core.addMethod(
  2368. $core.method({
  2369. selector: "asTimeString",
  2370. protocol: "converting",
  2371. fn: function (){
  2372. var self=this,$self=this;
  2373. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2374. return $core.withContext(function($ctx1) {
  2375. //>>excludeEnd("ctx");
  2376. return self.toTimeString();
  2377. return self;
  2378. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2379. }, function($ctx1) {$ctx1.fill(self,"asTimeString",{})});
  2380. //>>excludeEnd("ctx");
  2381. },
  2382. //>>excludeStart("ide", pragmas.excludeIdeData);
  2383. args: [],
  2384. source: "asTimeString\x0a\x09<inlineJS: 'return self.toTimeString()'>",
  2385. referencedClasses: [],
  2386. //>>excludeEnd("ide");
  2387. pragmas: [["inlineJS:", ["return self.toTimeString()"]]],
  2388. messageSends: []
  2389. }),
  2390. $globals.Date);
  2391. $core.addMethod(
  2392. $core.method({
  2393. selector: "day",
  2394. protocol: "accessing",
  2395. fn: function (){
  2396. var self=this,$self=this;
  2397. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2398. return $core.withContext(function($ctx1) {
  2399. //>>excludeEnd("ctx");
  2400. return $self._dayOfWeek();
  2401. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2402. }, function($ctx1) {$ctx1.fill(self,"day",{})});
  2403. //>>excludeEnd("ctx");
  2404. },
  2405. //>>excludeStart("ide", pragmas.excludeIdeData);
  2406. args: [],
  2407. source: "day\x0a\x09^ self dayOfWeek",
  2408. referencedClasses: [],
  2409. //>>excludeEnd("ide");
  2410. pragmas: [],
  2411. messageSends: ["dayOfWeek"]
  2412. }),
  2413. $globals.Date);
  2414. $core.addMethod(
  2415. $core.method({
  2416. selector: "day:",
  2417. protocol: "accessing",
  2418. fn: function (aNumber){
  2419. var self=this,$self=this;
  2420. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2421. return $core.withContext(function($ctx1) {
  2422. //>>excludeEnd("ctx");
  2423. $self._dayOfWeek_(aNumber);
  2424. return self;
  2425. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2426. }, function($ctx1) {$ctx1.fill(self,"day:",{aNumber:aNumber})});
  2427. //>>excludeEnd("ctx");
  2428. },
  2429. //>>excludeStart("ide", pragmas.excludeIdeData);
  2430. args: ["aNumber"],
  2431. source: "day: aNumber\x0a\x09self dayOfWeek: aNumber",
  2432. referencedClasses: [],
  2433. //>>excludeEnd("ide");
  2434. pragmas: [],
  2435. messageSends: ["dayOfWeek:"]
  2436. }),
  2437. $globals.Date);
  2438. $core.addMethod(
  2439. $core.method({
  2440. selector: "dayOfMonth",
  2441. protocol: "accessing",
  2442. fn: function (){
  2443. var self=this,$self=this;
  2444. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2445. return $core.withContext(function($ctx1) {
  2446. //>>excludeEnd("ctx");
  2447. return self.getDate();
  2448. return self;
  2449. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2450. }, function($ctx1) {$ctx1.fill(self,"dayOfMonth",{})});
  2451. //>>excludeEnd("ctx");
  2452. },
  2453. //>>excludeStart("ide", pragmas.excludeIdeData);
  2454. args: [],
  2455. source: "dayOfMonth\x0a\x09<inlineJS: 'return self.getDate()'>",
  2456. referencedClasses: [],
  2457. //>>excludeEnd("ide");
  2458. pragmas: [["inlineJS:", ["return self.getDate()"]]],
  2459. messageSends: []
  2460. }),
  2461. $globals.Date);
  2462. $core.addMethod(
  2463. $core.method({
  2464. selector: "dayOfMonth:",
  2465. protocol: "accessing",
  2466. fn: function (aNumber){
  2467. var self=this,$self=this;
  2468. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2469. return $core.withContext(function($ctx1) {
  2470. //>>excludeEnd("ctx");
  2471. self.setDate(aNumber);
  2472. return self;
  2473. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2474. }, function($ctx1) {$ctx1.fill(self,"dayOfMonth:",{aNumber:aNumber})});
  2475. //>>excludeEnd("ctx");
  2476. },
  2477. //>>excludeStart("ide", pragmas.excludeIdeData);
  2478. args: ["aNumber"],
  2479. source: "dayOfMonth: aNumber\x0a\x09<inlineJS: 'self.setDate(aNumber)'>",
  2480. referencedClasses: [],
  2481. //>>excludeEnd("ide");
  2482. pragmas: [["inlineJS:", ["self.setDate(aNumber)"]]],
  2483. messageSends: []
  2484. }),
  2485. $globals.Date);
  2486. $core.addMethod(
  2487. $core.method({
  2488. selector: "dayOfWeek",
  2489. protocol: "accessing",
  2490. fn: function (){
  2491. var self=this,$self=this;
  2492. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2493. return $core.withContext(function($ctx1) {
  2494. //>>excludeEnd("ctx");
  2495. return self.getDay() + 1;
  2496. return self;
  2497. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2498. }, function($ctx1) {$ctx1.fill(self,"dayOfWeek",{})});
  2499. //>>excludeEnd("ctx");
  2500. },
  2501. //>>excludeStart("ide", pragmas.excludeIdeData);
  2502. args: [],
  2503. source: "dayOfWeek\x0a\x09<inlineJS: 'return self.getDay() + 1'>",
  2504. referencedClasses: [],
  2505. //>>excludeEnd("ide");
  2506. pragmas: [["inlineJS:", ["return self.getDay() + 1"]]],
  2507. messageSends: []
  2508. }),
  2509. $globals.Date);
  2510. $core.addMethod(
  2511. $core.method({
  2512. selector: "dayOfWeek:",
  2513. protocol: "accessing",
  2514. fn: function (aNumber){
  2515. var self=this,$self=this;
  2516. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2517. return $core.withContext(function($ctx1) {
  2518. //>>excludeEnd("ctx");
  2519. return self.setDay(aNumber - 1);
  2520. return self;
  2521. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2522. }, function($ctx1) {$ctx1.fill(self,"dayOfWeek:",{aNumber:aNumber})});
  2523. //>>excludeEnd("ctx");
  2524. },
  2525. //>>excludeStart("ide", pragmas.excludeIdeData);
  2526. args: ["aNumber"],
  2527. source: "dayOfWeek: aNumber\x0a\x09<inlineJS: 'return self.setDay(aNumber - 1)'>",
  2528. referencedClasses: [],
  2529. //>>excludeEnd("ide");
  2530. pragmas: [["inlineJS:", ["return self.setDay(aNumber - 1)"]]],
  2531. messageSends: []
  2532. }),
  2533. $globals.Date);
  2534. $core.addMethod(
  2535. $core.method({
  2536. selector: "hours",
  2537. protocol: "accessing",
  2538. fn: function (){
  2539. var self=this,$self=this;
  2540. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2541. return $core.withContext(function($ctx1) {
  2542. //>>excludeEnd("ctx");
  2543. return self.getHours();
  2544. return self;
  2545. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2546. }, function($ctx1) {$ctx1.fill(self,"hours",{})});
  2547. //>>excludeEnd("ctx");
  2548. },
  2549. //>>excludeStart("ide", pragmas.excludeIdeData);
  2550. args: [],
  2551. source: "hours\x0a\x09<inlineJS: 'return self.getHours()'>",
  2552. referencedClasses: [],
  2553. //>>excludeEnd("ide");
  2554. pragmas: [["inlineJS:", ["return self.getHours()"]]],
  2555. messageSends: []
  2556. }),
  2557. $globals.Date);
  2558. $core.addMethod(
  2559. $core.method({
  2560. selector: "hours:",
  2561. protocol: "accessing",
  2562. fn: function (aNumber){
  2563. var self=this,$self=this;
  2564. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2565. return $core.withContext(function($ctx1) {
  2566. //>>excludeEnd("ctx");
  2567. self.setHours(aNumber);
  2568. return self;
  2569. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2570. }, function($ctx1) {$ctx1.fill(self,"hours:",{aNumber:aNumber})});
  2571. //>>excludeEnd("ctx");
  2572. },
  2573. //>>excludeStart("ide", pragmas.excludeIdeData);
  2574. args: ["aNumber"],
  2575. source: "hours: aNumber\x0a\x09<inlineJS: 'self.setHours(aNumber)'>",
  2576. referencedClasses: [],
  2577. //>>excludeEnd("ide");
  2578. pragmas: [["inlineJS:", ["self.setHours(aNumber)"]]],
  2579. messageSends: []
  2580. }),
  2581. $globals.Date);
  2582. $core.addMethod(
  2583. $core.method({
  2584. selector: "milliseconds",
  2585. protocol: "accessing",
  2586. fn: function (){
  2587. var self=this,$self=this;
  2588. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2589. return $core.withContext(function($ctx1) {
  2590. //>>excludeEnd("ctx");
  2591. return self.getMilliseconds();
  2592. return self;
  2593. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2594. }, function($ctx1) {$ctx1.fill(self,"milliseconds",{})});
  2595. //>>excludeEnd("ctx");
  2596. },
  2597. //>>excludeStart("ide", pragmas.excludeIdeData);
  2598. args: [],
  2599. source: "milliseconds\x0a\x09<inlineJS: 'return self.getMilliseconds()'>",
  2600. referencedClasses: [],
  2601. //>>excludeEnd("ide");
  2602. pragmas: [["inlineJS:", ["return self.getMilliseconds()"]]],
  2603. messageSends: []
  2604. }),
  2605. $globals.Date);
  2606. $core.addMethod(
  2607. $core.method({
  2608. selector: "milliseconds:",
  2609. protocol: "accessing",
  2610. fn: function (aNumber){
  2611. var self=this,$self=this;
  2612. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2613. return $core.withContext(function($ctx1) {
  2614. //>>excludeEnd("ctx");
  2615. self.setMilliseconds(aNumber);
  2616. return self;
  2617. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2618. }, function($ctx1) {$ctx1.fill(self,"milliseconds:",{aNumber:aNumber})});
  2619. //>>excludeEnd("ctx");
  2620. },
  2621. //>>excludeStart("ide", pragmas.excludeIdeData);
  2622. args: ["aNumber"],
  2623. source: "milliseconds: aNumber\x0a\x09<inlineJS: 'self.setMilliseconds(aNumber)'>",
  2624. referencedClasses: [],
  2625. //>>excludeEnd("ide");
  2626. pragmas: [["inlineJS:", ["self.setMilliseconds(aNumber)"]]],
  2627. messageSends: []
  2628. }),
  2629. $globals.Date);
  2630. $core.addMethod(
  2631. $core.method({
  2632. selector: "minutes",
  2633. protocol: "accessing",
  2634. fn: function (){
  2635. var self=this,$self=this;
  2636. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2637. return $core.withContext(function($ctx1) {
  2638. //>>excludeEnd("ctx");
  2639. return self.getMinutes();
  2640. return self;
  2641. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2642. }, function($ctx1) {$ctx1.fill(self,"minutes",{})});
  2643. //>>excludeEnd("ctx");
  2644. },
  2645. //>>excludeStart("ide", pragmas.excludeIdeData);
  2646. args: [],
  2647. source: "minutes\x0a\x09<inlineJS: 'return self.getMinutes()'>",
  2648. referencedClasses: [],
  2649. //>>excludeEnd("ide");
  2650. pragmas: [["inlineJS:", ["return self.getMinutes()"]]],
  2651. messageSends: []
  2652. }),
  2653. $globals.Date);
  2654. $core.addMethod(
  2655. $core.method({
  2656. selector: "minutes:",
  2657. protocol: "accessing",
  2658. fn: function (aNumber){
  2659. var self=this,$self=this;
  2660. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2661. return $core.withContext(function($ctx1) {
  2662. //>>excludeEnd("ctx");
  2663. self.setMinutes(aNumber);
  2664. return self;
  2665. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2666. }, function($ctx1) {$ctx1.fill(self,"minutes:",{aNumber:aNumber})});
  2667. //>>excludeEnd("ctx");
  2668. },
  2669. //>>excludeStart("ide", pragmas.excludeIdeData);
  2670. args: ["aNumber"],
  2671. source: "minutes: aNumber\x0a\x09<inlineJS: 'self.setMinutes(aNumber)'>",
  2672. referencedClasses: [],
  2673. //>>excludeEnd("ide");
  2674. pragmas: [["inlineJS:", ["self.setMinutes(aNumber)"]]],
  2675. messageSends: []
  2676. }),
  2677. $globals.Date);
  2678. $core.addMethod(
  2679. $core.method({
  2680. selector: "month",
  2681. protocol: "accessing",
  2682. fn: function (){
  2683. var self=this,$self=this;
  2684. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2685. return $core.withContext(function($ctx1) {
  2686. //>>excludeEnd("ctx");
  2687. return self.getMonth() + 1;
  2688. return self;
  2689. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2690. }, function($ctx1) {$ctx1.fill(self,"month",{})});
  2691. //>>excludeEnd("ctx");
  2692. },
  2693. //>>excludeStart("ide", pragmas.excludeIdeData);
  2694. args: [],
  2695. source: "month\x0a\x09<inlineJS: 'return self.getMonth() + 1'>",
  2696. referencedClasses: [],
  2697. //>>excludeEnd("ide");
  2698. pragmas: [["inlineJS:", ["return self.getMonth() + 1"]]],
  2699. messageSends: []
  2700. }),
  2701. $globals.Date);
  2702. $core.addMethod(
  2703. $core.method({
  2704. selector: "month:",
  2705. protocol: "accessing",
  2706. fn: function (aNumber){
  2707. var self=this,$self=this;
  2708. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2709. return $core.withContext(function($ctx1) {
  2710. //>>excludeEnd("ctx");
  2711. self.setMonth(aNumber - 1);
  2712. return self;
  2713. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2714. }, function($ctx1) {$ctx1.fill(self,"month:",{aNumber:aNumber})});
  2715. //>>excludeEnd("ctx");
  2716. },
  2717. //>>excludeStart("ide", pragmas.excludeIdeData);
  2718. args: ["aNumber"],
  2719. source: "month: aNumber\x0a\x09<inlineJS: 'self.setMonth(aNumber - 1)'>",
  2720. referencedClasses: [],
  2721. //>>excludeEnd("ide");
  2722. pragmas: [["inlineJS:", ["self.setMonth(aNumber - 1)"]]],
  2723. messageSends: []
  2724. }),
  2725. $globals.Date);
  2726. $core.addMethod(
  2727. $core.method({
  2728. selector: "printOn:",
  2729. protocol: "printing",
  2730. fn: function (aStream){
  2731. var self=this,$self=this;
  2732. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2733. return $core.withContext(function($ctx1) {
  2734. //>>excludeEnd("ctx");
  2735. $recv(aStream)._nextPutAll_($self._asString());
  2736. return self;
  2737. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2738. }, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream})});
  2739. //>>excludeEnd("ctx");
  2740. },
  2741. //>>excludeStart("ide", pragmas.excludeIdeData);
  2742. args: ["aStream"],
  2743. source: "printOn: aStream\x0a\x09aStream nextPutAll: self asString",
  2744. referencedClasses: [],
  2745. //>>excludeEnd("ide");
  2746. pragmas: [],
  2747. messageSends: ["nextPutAll:", "asString"]
  2748. }),
  2749. $globals.Date);
  2750. $core.addMethod(
  2751. $core.method({
  2752. selector: "seconds",
  2753. protocol: "accessing",
  2754. fn: function (){
  2755. var self=this,$self=this;
  2756. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2757. return $core.withContext(function($ctx1) {
  2758. //>>excludeEnd("ctx");
  2759. return self.getSeconds();
  2760. return self;
  2761. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2762. }, function($ctx1) {$ctx1.fill(self,"seconds",{})});
  2763. //>>excludeEnd("ctx");
  2764. },
  2765. //>>excludeStart("ide", pragmas.excludeIdeData);
  2766. args: [],
  2767. source: "seconds\x0a\x09<inlineJS: 'return self.getSeconds()'>",
  2768. referencedClasses: [],
  2769. //>>excludeEnd("ide");
  2770. pragmas: [["inlineJS:", ["return self.getSeconds()"]]],
  2771. messageSends: []
  2772. }),
  2773. $globals.Date);
  2774. $core.addMethod(
  2775. $core.method({
  2776. selector: "seconds:",
  2777. protocol: "accessing",
  2778. fn: function (aNumber){
  2779. var self=this,$self=this;
  2780. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2781. return $core.withContext(function($ctx1) {
  2782. //>>excludeEnd("ctx");
  2783. self.setSeconds(aNumber);
  2784. return self;
  2785. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2786. }, function($ctx1) {$ctx1.fill(self,"seconds:",{aNumber:aNumber})});
  2787. //>>excludeEnd("ctx");
  2788. },
  2789. //>>excludeStart("ide", pragmas.excludeIdeData);
  2790. args: ["aNumber"],
  2791. source: "seconds: aNumber\x0a\x09<inlineJS: 'self.setSeconds(aNumber)'>",
  2792. referencedClasses: [],
  2793. //>>excludeEnd("ide");
  2794. pragmas: [["inlineJS:", ["self.setSeconds(aNumber)"]]],
  2795. messageSends: []
  2796. }),
  2797. $globals.Date);
  2798. $core.addMethod(
  2799. $core.method({
  2800. selector: "time",
  2801. protocol: "accessing",
  2802. fn: function (){
  2803. var self=this,$self=this;
  2804. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2805. return $core.withContext(function($ctx1) {
  2806. //>>excludeEnd("ctx");
  2807. return self.getTime();
  2808. return self;
  2809. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2810. }, function($ctx1) {$ctx1.fill(self,"time",{})});
  2811. //>>excludeEnd("ctx");
  2812. },
  2813. //>>excludeStart("ide", pragmas.excludeIdeData);
  2814. args: [],
  2815. source: "time\x0a\x09<inlineJS: 'return self.getTime()'>",
  2816. referencedClasses: [],
  2817. //>>excludeEnd("ide");
  2818. pragmas: [["inlineJS:", ["return self.getTime()"]]],
  2819. messageSends: []
  2820. }),
  2821. $globals.Date);
  2822. $core.addMethod(
  2823. $core.method({
  2824. selector: "time:",
  2825. protocol: "accessing",
  2826. fn: function (aNumber){
  2827. var self=this,$self=this;
  2828. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2829. return $core.withContext(function($ctx1) {
  2830. //>>excludeEnd("ctx");
  2831. self.setTime(aNumber);
  2832. return self;
  2833. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2834. }, function($ctx1) {$ctx1.fill(self,"time:",{aNumber:aNumber})});
  2835. //>>excludeEnd("ctx");
  2836. },
  2837. //>>excludeStart("ide", pragmas.excludeIdeData);
  2838. args: ["aNumber"],
  2839. source: "time: aNumber\x0a\x09<inlineJS: 'self.setTime(aNumber)'>",
  2840. referencedClasses: [],
  2841. //>>excludeEnd("ide");
  2842. pragmas: [["inlineJS:", ["self.setTime(aNumber)"]]],
  2843. messageSends: []
  2844. }),
  2845. $globals.Date);
  2846. $core.addMethod(
  2847. $core.method({
  2848. selector: "year",
  2849. protocol: "accessing",
  2850. fn: function (){
  2851. var self=this,$self=this;
  2852. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2853. return $core.withContext(function($ctx1) {
  2854. //>>excludeEnd("ctx");
  2855. return self.getFullYear();
  2856. return self;
  2857. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2858. }, function($ctx1) {$ctx1.fill(self,"year",{})});
  2859. //>>excludeEnd("ctx");
  2860. },
  2861. //>>excludeStart("ide", pragmas.excludeIdeData);
  2862. args: [],
  2863. source: "year\x0a\x09<inlineJS: 'return self.getFullYear()'>",
  2864. referencedClasses: [],
  2865. //>>excludeEnd("ide");
  2866. pragmas: [["inlineJS:", ["return self.getFullYear()"]]],
  2867. messageSends: []
  2868. }),
  2869. $globals.Date);
  2870. $core.addMethod(
  2871. $core.method({
  2872. selector: "year:",
  2873. protocol: "accessing",
  2874. fn: function (aNumber){
  2875. var self=this,$self=this;
  2876. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2877. return $core.withContext(function($ctx1) {
  2878. //>>excludeEnd("ctx");
  2879. self.setFullYear(aNumber);
  2880. return self;
  2881. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2882. }, function($ctx1) {$ctx1.fill(self,"year:",{aNumber:aNumber})});
  2883. //>>excludeEnd("ctx");
  2884. },
  2885. //>>excludeStart("ide", pragmas.excludeIdeData);
  2886. args: ["aNumber"],
  2887. source: "year: aNumber\x0a\x09<inlineJS: 'self.setFullYear(aNumber)'>",
  2888. referencedClasses: [],
  2889. //>>excludeEnd("ide");
  2890. pragmas: [["inlineJS:", ["self.setFullYear(aNumber)"]]],
  2891. messageSends: []
  2892. }),
  2893. $globals.Date);
  2894. $core.addMethod(
  2895. $core.method({
  2896. selector: "classTag",
  2897. protocol: "accessing",
  2898. fn: function (){
  2899. var self=this,$self=this;
  2900. return "magnitude";
  2901. },
  2902. //>>excludeStart("ide", pragmas.excludeIdeData);
  2903. args: [],
  2904. source: "classTag\x0a\x09\x22Returns a tag or general category for this class.\x0a\x09Typically used to help tools do some reflection.\x0a\x09Helios, for example, uses this to decide what icon the class should display.\x22\x0a\x09\x0a\x09^ 'magnitude'",
  2905. referencedClasses: [],
  2906. //>>excludeEnd("ide");
  2907. pragmas: [],
  2908. messageSends: []
  2909. }),
  2910. $globals.Date.a$cls);
  2911. $core.addMethod(
  2912. $core.method({
  2913. selector: "fromMilliseconds:",
  2914. protocol: "instance creation",
  2915. fn: function (aNumber){
  2916. var self=this,$self=this;
  2917. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2918. return $core.withContext(function($ctx1) {
  2919. //>>excludeEnd("ctx");
  2920. return $self._new_(aNumber);
  2921. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2922. }, function($ctx1) {$ctx1.fill(self,"fromMilliseconds:",{aNumber:aNumber})});
  2923. //>>excludeEnd("ctx");
  2924. },
  2925. //>>excludeStart("ide", pragmas.excludeIdeData);
  2926. args: ["aNumber"],
  2927. source: "fromMilliseconds: aNumber\x0a\x09^ self new: aNumber",
  2928. referencedClasses: [],
  2929. //>>excludeEnd("ide");
  2930. pragmas: [],
  2931. messageSends: ["new:"]
  2932. }),
  2933. $globals.Date.a$cls);
  2934. $core.addMethod(
  2935. $core.method({
  2936. selector: "fromSeconds:",
  2937. protocol: "instance creation",
  2938. fn: function (aNumber){
  2939. var self=this,$self=this;
  2940. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2941. return $core.withContext(function($ctx1) {
  2942. //>>excludeEnd("ctx");
  2943. return $self._fromMilliseconds_($recv(aNumber).__star((1000)));
  2944. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2945. }, function($ctx1) {$ctx1.fill(self,"fromSeconds:",{aNumber:aNumber})});
  2946. //>>excludeEnd("ctx");
  2947. },
  2948. //>>excludeStart("ide", pragmas.excludeIdeData);
  2949. args: ["aNumber"],
  2950. source: "fromSeconds: aNumber\x0a\x09^ self fromMilliseconds: aNumber * 1000",
  2951. referencedClasses: [],
  2952. //>>excludeEnd("ide");
  2953. pragmas: [],
  2954. messageSends: ["fromMilliseconds:", "*"]
  2955. }),
  2956. $globals.Date.a$cls);
  2957. $core.addMethod(
  2958. $core.method({
  2959. selector: "fromString:",
  2960. protocol: "instance creation",
  2961. fn: function (aString){
  2962. var self=this,$self=this;
  2963. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2964. return $core.withContext(function($ctx1) {
  2965. //>>excludeEnd("ctx");
  2966. return $self._new_(aString);
  2967. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2968. }, function($ctx1) {$ctx1.fill(self,"fromString:",{aString:aString})});
  2969. //>>excludeEnd("ctx");
  2970. },
  2971. //>>excludeStart("ide", pragmas.excludeIdeData);
  2972. args: ["aString"],
  2973. source: "fromString: aString\x0a\x09\x22Example: Date fromString('2011/04/15 00:00:00')\x22\x0a\x09^ self new: aString",
  2974. referencedClasses: [],
  2975. //>>excludeEnd("ide");
  2976. pragmas: [],
  2977. messageSends: ["new:"]
  2978. }),
  2979. $globals.Date.a$cls);
  2980. $core.addMethod(
  2981. $core.method({
  2982. selector: "millisecondsToRun:",
  2983. protocol: "instance creation",
  2984. fn: function (aBlock){
  2985. var self=this,$self=this;
  2986. var t;
  2987. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2988. return $core.withContext(function($ctx1) {
  2989. //>>excludeEnd("ctx");
  2990. t=$recv($globals.Date)._now();
  2991. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2992. $ctx1.sendIdx["now"]=1;
  2993. //>>excludeEnd("ctx");
  2994. $recv(aBlock)._value();
  2995. return $recv($recv($globals.Date)._now()).__minus(t);
  2996. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  2997. }, function($ctx1) {$ctx1.fill(self,"millisecondsToRun:",{aBlock:aBlock,t:t})});
  2998. //>>excludeEnd("ctx");
  2999. },
  3000. //>>excludeStart("ide", pragmas.excludeIdeData);
  3001. args: ["aBlock"],
  3002. source: "millisecondsToRun: aBlock\x0a\x09| t |\x0a\x09t := Date now.\x0a\x09aBlock value.\x0a\x09^ Date now - t",
  3003. referencedClasses: ["Date"],
  3004. //>>excludeEnd("ide");
  3005. pragmas: [],
  3006. messageSends: ["now", "value", "-"]
  3007. }),
  3008. $globals.Date.a$cls);
  3009. $core.addMethod(
  3010. $core.method({
  3011. selector: "new:",
  3012. protocol: "instance creation",
  3013. fn: function (anObject){
  3014. var self=this,$self=this;
  3015. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3016. return $core.withContext(function($ctx1) {
  3017. //>>excludeEnd("ctx");
  3018. return new Date(anObject);
  3019. return self;
  3020. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3021. }, function($ctx1) {$ctx1.fill(self,"new:",{anObject:anObject})});
  3022. //>>excludeEnd("ctx");
  3023. },
  3024. //>>excludeStart("ide", pragmas.excludeIdeData);
  3025. args: ["anObject"],
  3026. source: "new: anObject\x0a\x09<inlineJS: 'return new Date(anObject)'>",
  3027. referencedClasses: [],
  3028. //>>excludeEnd("ide");
  3029. pragmas: [["inlineJS:", ["return new Date(anObject)"]]],
  3030. messageSends: []
  3031. }),
  3032. $globals.Date.a$cls);
  3033. $core.addMethod(
  3034. $core.method({
  3035. selector: "now",
  3036. protocol: "instance creation",
  3037. fn: function (){
  3038. var self=this,$self=this;
  3039. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3040. return $core.withContext(function($ctx1) {
  3041. //>>excludeEnd("ctx");
  3042. return $self._today();
  3043. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3044. }, function($ctx1) {$ctx1.fill(self,"now",{})});
  3045. //>>excludeEnd("ctx");
  3046. },
  3047. //>>excludeStart("ide", pragmas.excludeIdeData);
  3048. args: [],
  3049. source: "now\x0a\x09^ self today",
  3050. referencedClasses: [],
  3051. //>>excludeEnd("ide");
  3052. pragmas: [],
  3053. messageSends: ["today"]
  3054. }),
  3055. $globals.Date.a$cls);
  3056. $core.addMethod(
  3057. $core.method({
  3058. selector: "today",
  3059. protocol: "instance creation",
  3060. fn: function (){
  3061. var self=this,$self=this;
  3062. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3063. return $core.withContext(function($ctx1) {
  3064. //>>excludeEnd("ctx");
  3065. return $self._new();
  3066. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3067. }, function($ctx1) {$ctx1.fill(self,"today",{})});
  3068. //>>excludeEnd("ctx");
  3069. },
  3070. //>>excludeStart("ide", pragmas.excludeIdeData);
  3071. args: [],
  3072. source: "today\x0a\x09^ self new",
  3073. referencedClasses: [],
  3074. //>>excludeEnd("ide");
  3075. pragmas: [],
  3076. messageSends: ["new"]
  3077. }),
  3078. $globals.Date.a$cls);
  3079. $core.addClass("Number", $globals.Object, [], "Kernel-Objects");
  3080. //>>excludeStart("ide", pragmas.excludeIdeData);
  3081. $globals.Number.comment="I am the Amber representation for all numbers.\x0aI am directly mapped to JavaScript Number.\x0a\x0a## API\x0a\x0aI provide all necessary methods for arithmetic operations, comparison, conversion and so on with numbers.\x0a\x0aMy instances can also be used to evaluate a block a fixed number of times:\x0a\x0a\x095 timesRepeat: [ Transcript show: 'This will be printed 5 times'; cr ].\x0a\x09\x0a\x091 to: 5 do: [ :aNumber| Transcript show: aNumber asString; cr ].\x0a\x09\x0a\x091 to: 10 by: 2 do: [ :aNumber| Transcript show: aNumber asString; cr ].";
  3082. //>>excludeEnd("ide");
  3083. $core.addMethod(
  3084. $core.method({
  3085. selector: "&",
  3086. protocol: "converting",
  3087. fn: function (aNumber){
  3088. var self=this,$self=this;
  3089. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3090. return $core.withContext(function($ctx1) {
  3091. //>>excludeEnd("ctx");
  3092. return self & aNumber;
  3093. return self;
  3094. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3095. }, function($ctx1) {$ctx1.fill(self,"&",{aNumber:aNumber})});
  3096. //>>excludeEnd("ctx");
  3097. },
  3098. //>>excludeStart("ide", pragmas.excludeIdeData);
  3099. args: ["aNumber"],
  3100. source: "& aNumber\x0a\x09<inlineJS: 'return self & aNumber'>",
  3101. referencedClasses: [],
  3102. //>>excludeEnd("ide");
  3103. pragmas: [["inlineJS:", ["return self & aNumber"]]],
  3104. messageSends: []
  3105. }),
  3106. $globals.Number);
  3107. $core.addMethod(
  3108. $core.method({
  3109. selector: "*",
  3110. protocol: "arithmetic",
  3111. fn: function (aNumber){
  3112. var self=this,$self=this;
  3113. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3114. return $core.withContext(function($ctx1) {
  3115. //>>excludeEnd("ctx");
  3116. return self * aNumber;
  3117. return self;
  3118. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3119. }, function($ctx1) {$ctx1.fill(self,"*",{aNumber:aNumber})});
  3120. //>>excludeEnd("ctx");
  3121. },
  3122. //>>excludeStart("ide", pragmas.excludeIdeData);
  3123. args: ["aNumber"],
  3124. source: "* aNumber\x0a\x09\x22Inlined in the Compiler\x22\x0a\x09<inlineJS: 'return self * aNumber'>",
  3125. referencedClasses: [],
  3126. //>>excludeEnd("ide");
  3127. pragmas: [["inlineJS:", ["return self * aNumber"]]],
  3128. messageSends: []
  3129. }),
  3130. $globals.Number);
  3131. $core.addMethod(
  3132. $core.method({
  3133. selector: "**",
  3134. protocol: "mathematical functions",
  3135. fn: function (exponent){
  3136. var self=this,$self=this;
  3137. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3138. return $core.withContext(function($ctx1) {
  3139. //>>excludeEnd("ctx");
  3140. return $self._raisedTo_(exponent);
  3141. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3142. }, function($ctx1) {$ctx1.fill(self,"**",{exponent:exponent})});
  3143. //>>excludeEnd("ctx");
  3144. },
  3145. //>>excludeStart("ide", pragmas.excludeIdeData);
  3146. args: ["exponent"],
  3147. source: "** exponent\x0a\x09^ self raisedTo: exponent",
  3148. referencedClasses: [],
  3149. //>>excludeEnd("ide");
  3150. pragmas: [],
  3151. messageSends: ["raisedTo:"]
  3152. }),
  3153. $globals.Number);
  3154. $core.addMethod(
  3155. $core.method({
  3156. selector: "+",
  3157. protocol: "arithmetic",
  3158. fn: function (aNumber){
  3159. var self=this,$self=this;
  3160. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3161. return $core.withContext(function($ctx1) {
  3162. //>>excludeEnd("ctx");
  3163. return self + aNumber;
  3164. return self;
  3165. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3166. }, function($ctx1) {$ctx1.fill(self,"+",{aNumber:aNumber})});
  3167. //>>excludeEnd("ctx");
  3168. },
  3169. //>>excludeStart("ide", pragmas.excludeIdeData);
  3170. args: ["aNumber"],
  3171. source: "+ aNumber\x0a\x09\x22Inlined in the Compiler\x22\x0a\x09<inlineJS: 'return self + aNumber'>",
  3172. referencedClasses: [],
  3173. //>>excludeEnd("ide");
  3174. pragmas: [["inlineJS:", ["return self + aNumber"]]],
  3175. messageSends: []
  3176. }),
  3177. $globals.Number);
  3178. $core.addMethod(
  3179. $core.method({
  3180. selector: "-",
  3181. protocol: "arithmetic",
  3182. fn: function (aNumber){
  3183. var self=this,$self=this;
  3184. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3185. return $core.withContext(function($ctx1) {
  3186. //>>excludeEnd("ctx");
  3187. return self - aNumber;
  3188. return self;
  3189. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3190. }, function($ctx1) {$ctx1.fill(self,"-",{aNumber:aNumber})});
  3191. //>>excludeEnd("ctx");
  3192. },
  3193. //>>excludeStart("ide", pragmas.excludeIdeData);
  3194. args: ["aNumber"],
  3195. source: "- aNumber\x0a\x09\x22Inlined in the Compiler\x22\x0a\x09<inlineJS: 'return self - aNumber'>",
  3196. referencedClasses: [],
  3197. //>>excludeEnd("ide");
  3198. pragmas: [["inlineJS:", ["return self - aNumber"]]],
  3199. messageSends: []
  3200. }),
  3201. $globals.Number);
  3202. $core.addMethod(
  3203. $core.method({
  3204. selector: "/",
  3205. protocol: "arithmetic",
  3206. fn: function (aNumber){
  3207. var self=this,$self=this;
  3208. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3209. return $core.withContext(function($ctx1) {
  3210. //>>excludeEnd("ctx");
  3211. return self / aNumber;
  3212. return self;
  3213. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3214. }, function($ctx1) {$ctx1.fill(self,"/",{aNumber:aNumber})});
  3215. //>>excludeEnd("ctx");
  3216. },
  3217. //>>excludeStart("ide", pragmas.excludeIdeData);
  3218. args: ["aNumber"],
  3219. source: "/ aNumber\x0a\x09\x22Inlined in the Compiler\x22\x0a\x09<inlineJS: 'return self / aNumber'>",
  3220. referencedClasses: [],
  3221. //>>excludeEnd("ide");
  3222. pragmas: [["inlineJS:", ["return self / aNumber"]]],
  3223. messageSends: []
  3224. }),
  3225. $globals.Number);
  3226. $core.addMethod(
  3227. $core.method({
  3228. selector: "//",
  3229. protocol: "arithmetic",
  3230. fn: function (aNumber){
  3231. var self=this,$self=this;
  3232. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3233. return $core.withContext(function($ctx1) {
  3234. //>>excludeEnd("ctx");
  3235. return $recv($self.__slash(aNumber))._floor();
  3236. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3237. }, function($ctx1) {$ctx1.fill(self,"//",{aNumber:aNumber})});
  3238. //>>excludeEnd("ctx");
  3239. },
  3240. //>>excludeStart("ide", pragmas.excludeIdeData);
  3241. args: ["aNumber"],
  3242. source: "// aNumber\x0a\x09^ (self / aNumber) floor",
  3243. referencedClasses: [],
  3244. //>>excludeEnd("ide");
  3245. pragmas: [],
  3246. messageSends: ["floor", "/"]
  3247. }),
  3248. $globals.Number);
  3249. $core.addMethod(
  3250. $core.method({
  3251. selector: "<",
  3252. protocol: "comparing",
  3253. fn: function (aNumber){
  3254. var self=this,$self=this;
  3255. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3256. return $core.withContext(function($ctx1) {
  3257. //>>excludeEnd("ctx");
  3258. return self < aNumber;
  3259. return self;
  3260. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3261. }, function($ctx1) {$ctx1.fill(self,"<",{aNumber:aNumber})});
  3262. //>>excludeEnd("ctx");
  3263. },
  3264. //>>excludeStart("ide", pragmas.excludeIdeData);
  3265. args: ["aNumber"],
  3266. source: "< aNumber\x0a\x09\x22Inlined in the Compiler\x22\x0a\x09<inlineJS: 'return self < aNumber'>",
  3267. referencedClasses: [],
  3268. //>>excludeEnd("ide");
  3269. pragmas: [["inlineJS:", ["return self < aNumber"]]],
  3270. messageSends: []
  3271. }),
  3272. $globals.Number);
  3273. $core.addMethod(
  3274. $core.method({
  3275. selector: "<=",
  3276. protocol: "comparing",
  3277. fn: function (aNumber){
  3278. var self=this,$self=this;
  3279. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3280. return $core.withContext(function($ctx1) {
  3281. //>>excludeEnd("ctx");
  3282. return self <= aNumber;
  3283. return self;
  3284. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3285. }, function($ctx1) {$ctx1.fill(self,"<=",{aNumber:aNumber})});
  3286. //>>excludeEnd("ctx");
  3287. },
  3288. //>>excludeStart("ide", pragmas.excludeIdeData);
  3289. args: ["aNumber"],
  3290. source: "<= aNumber\x0a\x09\x22Inlined in the Compiler\x22\x0a\x09<inlineJS: 'return self <= aNumber'>",
  3291. referencedClasses: [],
  3292. //>>excludeEnd("ide");
  3293. pragmas: [["inlineJS:", ["return self <= aNumber"]]],
  3294. messageSends: []
  3295. }),
  3296. $globals.Number);
  3297. $core.addMethod(
  3298. $core.method({
  3299. selector: "==",
  3300. protocol: "comparing",
  3301. fn: function (aNumber){
  3302. var self=this,$self=this;
  3303. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3304. return $core.withContext(function($ctx1) {
  3305. //>>excludeEnd("ctx");
  3306. if (typeof aNumber === "number") return Number(self) === aNumber;
  3307. else if (aNumber != null && typeof aNumber === "object") return Number(self) === aNumber.valueOf();
  3308. else return false;;
  3309. return self;
  3310. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3311. }, function($ctx1) {$ctx1.fill(self,"==",{aNumber:aNumber})});
  3312. //>>excludeEnd("ctx");
  3313. },
  3314. //>>excludeStart("ide", pragmas.excludeIdeData);
  3315. args: ["aNumber"],
  3316. source: "== aNumber\x0a<inlineJS: '\x0a\x09if (typeof aNumber === \x22number\x22) return Number(self) === aNumber;\x0a\x09else if (aNumber != null && typeof aNumber === \x22object\x22) return Number(self) === aNumber.valueOf();\x0a\x09else return false;\x0a'>",
  3317. referencedClasses: [],
  3318. //>>excludeEnd("ide");
  3319. pragmas: [["inlineJS:", ["\x0a\x09if (typeof aNumber === \x22number\x22) return Number(self) === aNumber;\x0a\x09else if (aNumber != null && typeof aNumber === \x22object\x22) return Number(self) === aNumber.valueOf();\x0a\x09else return false;"]]],
  3320. messageSends: []
  3321. }),
  3322. $globals.Number);
  3323. $core.addMethod(
  3324. $core.method({
  3325. selector: ">",
  3326. protocol: "comparing",
  3327. fn: function (aNumber){
  3328. var self=this,$self=this;
  3329. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3330. return $core.withContext(function($ctx1) {
  3331. //>>excludeEnd("ctx");
  3332. return self > aNumber;
  3333. return self;
  3334. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3335. }, function($ctx1) {$ctx1.fill(self,">",{aNumber:aNumber})});
  3336. //>>excludeEnd("ctx");
  3337. },
  3338. //>>excludeStart("ide", pragmas.excludeIdeData);
  3339. args: ["aNumber"],
  3340. source: "> aNumber\x0a\x09\x22Inlined in the Compiler\x22\x0a\x09<inlineJS: 'return self > aNumber'>",
  3341. referencedClasses: [],
  3342. //>>excludeEnd("ide");
  3343. pragmas: [["inlineJS:", ["return self > aNumber"]]],
  3344. messageSends: []
  3345. }),
  3346. $globals.Number);
  3347. $core.addMethod(
  3348. $core.method({
  3349. selector: ">=",
  3350. protocol: "comparing",
  3351. fn: function (aNumber){
  3352. var self=this,$self=this;
  3353. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3354. return $core.withContext(function($ctx1) {
  3355. //>>excludeEnd("ctx");
  3356. return self >= aNumber;
  3357. return self;
  3358. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3359. }, function($ctx1) {$ctx1.fill(self,">=",{aNumber:aNumber})});
  3360. //>>excludeEnd("ctx");
  3361. },
  3362. //>>excludeStart("ide", pragmas.excludeIdeData);
  3363. args: ["aNumber"],
  3364. source: ">= aNumber\x0a\x09\x22Inlined in the Compiler\x22\x0a\x09<inlineJS: 'return self >= aNumber'>",
  3365. referencedClasses: [],
  3366. //>>excludeEnd("ide");
  3367. pragmas: [["inlineJS:", ["return self >= aNumber"]]],
  3368. messageSends: []
  3369. }),
  3370. $globals.Number);
  3371. $core.addMethod(
  3372. $core.method({
  3373. selector: "@",
  3374. protocol: "converting",
  3375. fn: function (aNumber){
  3376. var self=this,$self=this;
  3377. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3378. return $core.withContext(function($ctx1) {
  3379. //>>excludeEnd("ctx");
  3380. return $recv($globals.Point)._x_y_(self,aNumber);
  3381. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3382. }, function($ctx1) {$ctx1.fill(self,"@",{aNumber:aNumber})});
  3383. //>>excludeEnd("ctx");
  3384. },
  3385. //>>excludeStart("ide", pragmas.excludeIdeData);
  3386. args: ["aNumber"],
  3387. source: "@ aNumber\x0a\x09^ Point x: self y: aNumber",
  3388. referencedClasses: ["Point"],
  3389. //>>excludeEnd("ide");
  3390. pragmas: [],
  3391. messageSends: ["x:y:"]
  3392. }),
  3393. $globals.Number);
  3394. $core.addMethod(
  3395. $core.method({
  3396. selector: "\x5c\x5c",
  3397. protocol: "arithmetic",
  3398. fn: function (aNumber){
  3399. var self=this,$self=this;
  3400. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3401. return $core.withContext(function($ctx1) {
  3402. //>>excludeEnd("ctx");
  3403. return self % aNumber;
  3404. return self;
  3405. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3406. }, function($ctx1) {$ctx1.fill(self,"\x5c\x5c",{aNumber:aNumber})});
  3407. //>>excludeEnd("ctx");
  3408. },
  3409. //>>excludeStart("ide", pragmas.excludeIdeData);
  3410. args: ["aNumber"],
  3411. source: "\x5c\x5c aNumber\x0a\x09<inlineJS: 'return self % aNumber'>",
  3412. referencedClasses: [],
  3413. //>>excludeEnd("ide");
  3414. pragmas: [["inlineJS:", ["return self % aNumber"]]],
  3415. messageSends: []
  3416. }),
  3417. $globals.Number);
  3418. $core.addMethod(
  3419. $core.method({
  3420. selector: "abs",
  3421. protocol: "arithmetic",
  3422. fn: function (){
  3423. var self=this,$self=this;
  3424. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3425. return $core.withContext(function($ctx1) {
  3426. //>>excludeEnd("ctx");
  3427. return Math.abs(self);;
  3428. return self;
  3429. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3430. }, function($ctx1) {$ctx1.fill(self,"abs",{})});
  3431. //>>excludeEnd("ctx");
  3432. },
  3433. //>>excludeStart("ide", pragmas.excludeIdeData);
  3434. args: [],
  3435. source: "abs\x0a\x09<inlineJS: 'return Math.abs(self);'>",
  3436. referencedClasses: [],
  3437. //>>excludeEnd("ide");
  3438. pragmas: [["inlineJS:", ["return Math.abs(self);"]]],
  3439. messageSends: []
  3440. }),
  3441. $globals.Number);
  3442. $core.addMethod(
  3443. $core.method({
  3444. selector: "arcCos",
  3445. protocol: "mathematical functions",
  3446. fn: function (){
  3447. var self=this,$self=this;
  3448. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3449. return $core.withContext(function($ctx1) {
  3450. //>>excludeEnd("ctx");
  3451. return Math.acos(self);;
  3452. return self;
  3453. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3454. }, function($ctx1) {$ctx1.fill(self,"arcCos",{})});
  3455. //>>excludeEnd("ctx");
  3456. },
  3457. //>>excludeStart("ide", pragmas.excludeIdeData);
  3458. args: [],
  3459. source: "arcCos\x0a\x09<inlineJS: 'return Math.acos(self);'>",
  3460. referencedClasses: [],
  3461. //>>excludeEnd("ide");
  3462. pragmas: [["inlineJS:", ["return Math.acos(self);"]]],
  3463. messageSends: []
  3464. }),
  3465. $globals.Number);
  3466. $core.addMethod(
  3467. $core.method({
  3468. selector: "arcSin",
  3469. protocol: "mathematical functions",
  3470. fn: function (){
  3471. var self=this,$self=this;
  3472. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3473. return $core.withContext(function($ctx1) {
  3474. //>>excludeEnd("ctx");
  3475. return Math.asin(self);;
  3476. return self;
  3477. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3478. }, function($ctx1) {$ctx1.fill(self,"arcSin",{})});
  3479. //>>excludeEnd("ctx");
  3480. },
  3481. //>>excludeStart("ide", pragmas.excludeIdeData);
  3482. args: [],
  3483. source: "arcSin\x0a\x09<inlineJS: 'return Math.asin(self);'>",
  3484. referencedClasses: [],
  3485. //>>excludeEnd("ide");
  3486. pragmas: [["inlineJS:", ["return Math.asin(self);"]]],
  3487. messageSends: []
  3488. }),
  3489. $globals.Number);
  3490. $core.addMethod(
  3491. $core.method({
  3492. selector: "arcTan",
  3493. protocol: "mathematical functions",
  3494. fn: function (){
  3495. var self=this,$self=this;
  3496. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3497. return $core.withContext(function($ctx1) {
  3498. //>>excludeEnd("ctx");
  3499. return Math.atan(self);;
  3500. return self;
  3501. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3502. }, function($ctx1) {$ctx1.fill(self,"arcTan",{})});
  3503. //>>excludeEnd("ctx");
  3504. },
  3505. //>>excludeStart("ide", pragmas.excludeIdeData);
  3506. args: [],
  3507. source: "arcTan\x0a\x09<inlineJS: 'return Math.atan(self);'>",
  3508. referencedClasses: [],
  3509. //>>excludeEnd("ide");
  3510. pragmas: [["inlineJS:", ["return Math.atan(self);"]]],
  3511. messageSends: []
  3512. }),
  3513. $globals.Number);
  3514. $core.addMethod(
  3515. $core.method({
  3516. selector: "arcTan:",
  3517. protocol: "mathematical functions",
  3518. fn: function (aNumber){
  3519. var self=this,$self=this;
  3520. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3521. return $core.withContext(function($ctx1) {
  3522. //>>excludeEnd("ctx");
  3523. return Math.atan2(self, aNumber);;
  3524. return self;
  3525. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3526. }, function($ctx1) {$ctx1.fill(self,"arcTan:",{aNumber:aNumber})});
  3527. //>>excludeEnd("ctx");
  3528. },
  3529. //>>excludeStart("ide", pragmas.excludeIdeData);
  3530. args: ["aNumber"],
  3531. source: "arcTan: aNumber\x0a\x09<inlineJS: 'return Math.atan2(self, aNumber);'>",
  3532. referencedClasses: [],
  3533. //>>excludeEnd("ide");
  3534. pragmas: [["inlineJS:", ["return Math.atan2(self, aNumber);"]]],
  3535. messageSends: []
  3536. }),
  3537. $globals.Number);
  3538. $core.addMethod(
  3539. $core.method({
  3540. selector: "asJavaScriptObject",
  3541. protocol: "converting",
  3542. fn: function (){
  3543. var self=this,$self=this;
  3544. return self;
  3545. },
  3546. //>>excludeStart("ide", pragmas.excludeIdeData);
  3547. args: [],
  3548. source: "asJavaScriptObject\x0a\x09^ self",
  3549. referencedClasses: [],
  3550. //>>excludeEnd("ide");
  3551. pragmas: [],
  3552. messageSends: []
  3553. }),
  3554. $globals.Number);
  3555. $core.addMethod(
  3556. $core.method({
  3557. selector: "asJavaScriptSource",
  3558. protocol: "converting",
  3559. fn: function (){
  3560. var self=this,$self=this;
  3561. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3562. return $core.withContext(function($ctx1) {
  3563. //>>excludeEnd("ctx");
  3564. var $1;
  3565. $1=$recv("(".__comma($self._printString())).__comma(")");
  3566. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3567. $ctx1.sendIdx[","]=1;
  3568. //>>excludeEnd("ctx");
  3569. return $1;
  3570. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3571. }, function($ctx1) {$ctx1.fill(self,"asJavaScriptSource",{})});
  3572. //>>excludeEnd("ctx");
  3573. },
  3574. //>>excludeStart("ide", pragmas.excludeIdeData);
  3575. args: [],
  3576. source: "asJavaScriptSource\x0a\x09^ '(', self printString, ')'",
  3577. referencedClasses: [],
  3578. //>>excludeEnd("ide");
  3579. pragmas: [],
  3580. messageSends: [",", "printString"]
  3581. }),
  3582. $globals.Number);
  3583. $core.addMethod(
  3584. $core.method({
  3585. selector: "asNumber",
  3586. protocol: "converting",
  3587. fn: function (){
  3588. var self=this,$self=this;
  3589. return self;
  3590. },
  3591. //>>excludeStart("ide", pragmas.excludeIdeData);
  3592. args: [],
  3593. source: "asNumber\x0a\x09^ self",
  3594. referencedClasses: [],
  3595. //>>excludeEnd("ide");
  3596. pragmas: [],
  3597. messageSends: []
  3598. }),
  3599. $globals.Number);
  3600. $core.addMethod(
  3601. $core.method({
  3602. selector: "asPoint",
  3603. protocol: "converting",
  3604. fn: function (){
  3605. var self=this,$self=this;
  3606. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3607. return $core.withContext(function($ctx1) {
  3608. //>>excludeEnd("ctx");
  3609. return $recv($globals.Point)._x_y_(self,self);
  3610. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3611. }, function($ctx1) {$ctx1.fill(self,"asPoint",{})});
  3612. //>>excludeEnd("ctx");
  3613. },
  3614. //>>excludeStart("ide", pragmas.excludeIdeData);
  3615. args: [],
  3616. source: "asPoint\x0a\x09^ Point x: self y: self",
  3617. referencedClasses: ["Point"],
  3618. //>>excludeEnd("ide");
  3619. pragmas: [],
  3620. messageSends: ["x:y:"]
  3621. }),
  3622. $globals.Number);
  3623. $core.addMethod(
  3624. $core.method({
  3625. selector: "asString",
  3626. protocol: "converting",
  3627. fn: function (){
  3628. var self=this,$self=this;
  3629. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3630. return $core.withContext(function($ctx1) {
  3631. //>>excludeEnd("ctx");
  3632. return String(self);
  3633. return self;
  3634. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3635. }, function($ctx1) {$ctx1.fill(self,"asString",{})});
  3636. //>>excludeEnd("ctx");
  3637. },
  3638. //>>excludeStart("ide", pragmas.excludeIdeData);
  3639. args: [],
  3640. source: "asString\x0a\x09<inlineJS: 'return String(self)'>",
  3641. referencedClasses: [],
  3642. //>>excludeEnd("ide");
  3643. pragmas: [["inlineJS:", ["return String(self)"]]],
  3644. messageSends: []
  3645. }),
  3646. $globals.Number);
  3647. $core.addMethod(
  3648. $core.method({
  3649. selector: "atRandom",
  3650. protocol: "converting",
  3651. fn: function (){
  3652. var self=this,$self=this;
  3653. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3654. return $core.withContext(function($ctx1) {
  3655. //>>excludeEnd("ctx");
  3656. return $recv($recv($recv($recv($recv($globals.Random)._new())._next()).__star(self))._truncated()).__plus((1));
  3657. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3658. }, function($ctx1) {$ctx1.fill(self,"atRandom",{})});
  3659. //>>excludeEnd("ctx");
  3660. },
  3661. //>>excludeStart("ide", pragmas.excludeIdeData);
  3662. args: [],
  3663. source: "atRandom\x0a\x09^ (Random new next * self) truncated + 1",
  3664. referencedClasses: ["Random"],
  3665. //>>excludeEnd("ide");
  3666. pragmas: [],
  3667. messageSends: ["+", "truncated", "*", "next", "new"]
  3668. }),
  3669. $globals.Number);
  3670. $core.addMethod(
  3671. $core.method({
  3672. selector: "between:and:",
  3673. protocol: "testing",
  3674. fn: function (min,max){
  3675. var self=this,$self=this;
  3676. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3677. return $core.withContext(function($ctx1) {
  3678. //>>excludeEnd("ctx");
  3679. return $recv($self.__gt_eq(min))._and_((function(){
  3680. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3681. return $core.withContext(function($ctx2) {
  3682. //>>excludeEnd("ctx");
  3683. return $self.__lt_eq(max);
  3684. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3685. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  3686. //>>excludeEnd("ctx");
  3687. }));
  3688. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3689. }, function($ctx1) {$ctx1.fill(self,"between:and:",{min:min,max:max})});
  3690. //>>excludeEnd("ctx");
  3691. },
  3692. //>>excludeStart("ide", pragmas.excludeIdeData);
  3693. args: ["min", "max"],
  3694. source: "between: min and: max\x0a ^ self >= min and: [ self <= max ]",
  3695. referencedClasses: [],
  3696. //>>excludeEnd("ide");
  3697. pragmas: [],
  3698. messageSends: ["and:", ">=", "<="]
  3699. }),
  3700. $globals.Number);
  3701. $core.addMethod(
  3702. $core.method({
  3703. selector: "bitAnd:",
  3704. protocol: "converting",
  3705. fn: function (aNumber){
  3706. var self=this,$self=this;
  3707. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3708. return $core.withContext(function($ctx1) {
  3709. //>>excludeEnd("ctx");
  3710. return self & aNumber;
  3711. return self;
  3712. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3713. }, function($ctx1) {$ctx1.fill(self,"bitAnd:",{aNumber:aNumber})});
  3714. //>>excludeEnd("ctx");
  3715. },
  3716. //>>excludeStart("ide", pragmas.excludeIdeData);
  3717. args: ["aNumber"],
  3718. source: "bitAnd: aNumber\x0a\x09<inlineJS: 'return self & aNumber'>",
  3719. referencedClasses: [],
  3720. //>>excludeEnd("ide");
  3721. pragmas: [["inlineJS:", ["return self & aNumber"]]],
  3722. messageSends: []
  3723. }),
  3724. $globals.Number);
  3725. $core.addMethod(
  3726. $core.method({
  3727. selector: "bitNot",
  3728. protocol: "converting",
  3729. fn: function (){
  3730. var self=this,$self=this;
  3731. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3732. return $core.withContext(function($ctx1) {
  3733. //>>excludeEnd("ctx");
  3734. return ~self;
  3735. return self;
  3736. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3737. }, function($ctx1) {$ctx1.fill(self,"bitNot",{})});
  3738. //>>excludeEnd("ctx");
  3739. },
  3740. //>>excludeStart("ide", pragmas.excludeIdeData);
  3741. args: [],
  3742. source: "bitNot\x0a\x09<inlineJS: 'return ~self'>",
  3743. referencedClasses: [],
  3744. //>>excludeEnd("ide");
  3745. pragmas: [["inlineJS:", ["return ~self"]]],
  3746. messageSends: []
  3747. }),
  3748. $globals.Number);
  3749. $core.addMethod(
  3750. $core.method({
  3751. selector: "bitOr:",
  3752. protocol: "converting",
  3753. fn: function (aNumber){
  3754. var self=this,$self=this;
  3755. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3756. return $core.withContext(function($ctx1) {
  3757. //>>excludeEnd("ctx");
  3758. return self | aNumber;
  3759. return self;
  3760. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3761. }, function($ctx1) {$ctx1.fill(self,"bitOr:",{aNumber:aNumber})});
  3762. //>>excludeEnd("ctx");
  3763. },
  3764. //>>excludeStart("ide", pragmas.excludeIdeData);
  3765. args: ["aNumber"],
  3766. source: "bitOr: aNumber\x0a\x09<inlineJS: 'return self | aNumber'>",
  3767. referencedClasses: [],
  3768. //>>excludeEnd("ide");
  3769. pragmas: [["inlineJS:", ["return self | aNumber"]]],
  3770. messageSends: []
  3771. }),
  3772. $globals.Number);
  3773. $core.addMethod(
  3774. $core.method({
  3775. selector: "bitXor:",
  3776. protocol: "converting",
  3777. fn: function (aNumber){
  3778. var self=this,$self=this;
  3779. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3780. return $core.withContext(function($ctx1) {
  3781. //>>excludeEnd("ctx");
  3782. return self ^ aNumber;
  3783. return self;
  3784. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3785. }, function($ctx1) {$ctx1.fill(self,"bitXor:",{aNumber:aNumber})});
  3786. //>>excludeEnd("ctx");
  3787. },
  3788. //>>excludeStart("ide", pragmas.excludeIdeData);
  3789. args: ["aNumber"],
  3790. source: "bitXor: aNumber\x0a\x09<inlineJS: 'return self ^ aNumber'>",
  3791. referencedClasses: [],
  3792. //>>excludeEnd("ide");
  3793. pragmas: [["inlineJS:", ["return self ^ aNumber"]]],
  3794. messageSends: []
  3795. }),
  3796. $globals.Number);
  3797. $core.addMethod(
  3798. $core.method({
  3799. selector: "ceiling",
  3800. protocol: "converting",
  3801. fn: function (){
  3802. var self=this,$self=this;
  3803. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3804. return $core.withContext(function($ctx1) {
  3805. //>>excludeEnd("ctx");
  3806. return Math.ceil(self);;
  3807. return self;
  3808. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3809. }, function($ctx1) {$ctx1.fill(self,"ceiling",{})});
  3810. //>>excludeEnd("ctx");
  3811. },
  3812. //>>excludeStart("ide", pragmas.excludeIdeData);
  3813. args: [],
  3814. source: "ceiling\x0a\x09<inlineJS: 'return Math.ceil(self);'>",
  3815. referencedClasses: [],
  3816. //>>excludeEnd("ide");
  3817. pragmas: [["inlineJS:", ["return Math.ceil(self);"]]],
  3818. messageSends: []
  3819. }),
  3820. $globals.Number);
  3821. $core.addMethod(
  3822. $core.method({
  3823. selector: "copy",
  3824. protocol: "copying",
  3825. fn: function (){
  3826. var self=this,$self=this;
  3827. return self;
  3828. },
  3829. //>>excludeStart("ide", pragmas.excludeIdeData);
  3830. args: [],
  3831. source: "copy\x0a\x09^ self",
  3832. referencedClasses: [],
  3833. //>>excludeEnd("ide");
  3834. pragmas: [],
  3835. messageSends: []
  3836. }),
  3837. $globals.Number);
  3838. $core.addMethod(
  3839. $core.method({
  3840. selector: "cos",
  3841. protocol: "mathematical functions",
  3842. fn: function (){
  3843. var self=this,$self=this;
  3844. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3845. return $core.withContext(function($ctx1) {
  3846. //>>excludeEnd("ctx");
  3847. return Math.cos(self);;
  3848. return self;
  3849. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3850. }, function($ctx1) {$ctx1.fill(self,"cos",{})});
  3851. //>>excludeEnd("ctx");
  3852. },
  3853. //>>excludeStart("ide", pragmas.excludeIdeData);
  3854. args: [],
  3855. source: "cos\x0a\x09<inlineJS: 'return Math.cos(self);'>",
  3856. referencedClasses: [],
  3857. //>>excludeEnd("ide");
  3858. pragmas: [["inlineJS:", ["return Math.cos(self);"]]],
  3859. messageSends: []
  3860. }),
  3861. $globals.Number);
  3862. $core.addMethod(
  3863. $core.method({
  3864. selector: "deepCopy",
  3865. protocol: "copying",
  3866. fn: function (){
  3867. var self=this,$self=this;
  3868. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3869. return $core.withContext(function($ctx1) {
  3870. //>>excludeEnd("ctx");
  3871. return $self._copy();
  3872. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3873. }, function($ctx1) {$ctx1.fill(self,"deepCopy",{})});
  3874. //>>excludeEnd("ctx");
  3875. },
  3876. //>>excludeStart("ide", pragmas.excludeIdeData);
  3877. args: [],
  3878. source: "deepCopy\x0a\x09^ self copy",
  3879. referencedClasses: [],
  3880. //>>excludeEnd("ide");
  3881. pragmas: [],
  3882. messageSends: ["copy"]
  3883. }),
  3884. $globals.Number);
  3885. $core.addMethod(
  3886. $core.method({
  3887. selector: "degreesToRadians",
  3888. protocol: "converting",
  3889. fn: function (){
  3890. var self=this,$self=this;
  3891. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3892. return $core.withContext(function($ctx1) {
  3893. //>>excludeEnd("ctx");
  3894. return $self.__star($recv($globals.Number)._radiansPerDegree());
  3895. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3896. }, function($ctx1) {$ctx1.fill(self,"degreesToRadians",{})});
  3897. //>>excludeEnd("ctx");
  3898. },
  3899. //>>excludeStart("ide", pragmas.excludeIdeData);
  3900. args: [],
  3901. source: "degreesToRadians\x0a\x09^ self * Number radiansPerDegree",
  3902. referencedClasses: ["Number"],
  3903. //>>excludeEnd("ide");
  3904. pragmas: [],
  3905. messageSends: ["*", "radiansPerDegree"]
  3906. }),
  3907. $globals.Number);
  3908. $core.addMethod(
  3909. $core.method({
  3910. selector: "even",
  3911. protocol: "testing",
  3912. fn: function (){
  3913. var self=this,$self=this;
  3914. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3915. return $core.withContext(function($ctx1) {
  3916. //>>excludeEnd("ctx");
  3917. return (0).__eq($self.__backslash_backslash((2)));
  3918. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3919. }, function($ctx1) {$ctx1.fill(self,"even",{})});
  3920. //>>excludeEnd("ctx");
  3921. },
  3922. //>>excludeStart("ide", pragmas.excludeIdeData);
  3923. args: [],
  3924. source: "even\x0a\x09^ 0 = (self \x5c\x5c 2)",
  3925. referencedClasses: [],
  3926. //>>excludeEnd("ide");
  3927. pragmas: [],
  3928. messageSends: ["=", "\x5c\x5c"]
  3929. }),
  3930. $globals.Number);
  3931. $core.addMethod(
  3932. $core.method({
  3933. selector: "floor",
  3934. protocol: "converting",
  3935. fn: function (){
  3936. var self=this,$self=this;
  3937. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3938. return $core.withContext(function($ctx1) {
  3939. //>>excludeEnd("ctx");
  3940. return Math.floor(self);;
  3941. return self;
  3942. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3943. }, function($ctx1) {$ctx1.fill(self,"floor",{})});
  3944. //>>excludeEnd("ctx");
  3945. },
  3946. //>>excludeStart("ide", pragmas.excludeIdeData);
  3947. args: [],
  3948. source: "floor\x0a\x09<inlineJS: 'return Math.floor(self);'>",
  3949. referencedClasses: [],
  3950. //>>excludeEnd("ide");
  3951. pragmas: [["inlineJS:", ["return Math.floor(self);"]]],
  3952. messageSends: []
  3953. }),
  3954. $globals.Number);
  3955. $core.addMethod(
  3956. $core.method({
  3957. selector: "isImmutable",
  3958. protocol: "testing",
  3959. fn: function (){
  3960. var self=this,$self=this;
  3961. return true;
  3962. },
  3963. //>>excludeStart("ide", pragmas.excludeIdeData);
  3964. args: [],
  3965. source: "isImmutable\x0a\x09^ true",
  3966. referencedClasses: [],
  3967. //>>excludeEnd("ide");
  3968. pragmas: [],
  3969. messageSends: []
  3970. }),
  3971. $globals.Number);
  3972. $core.addMethod(
  3973. $core.method({
  3974. selector: "isNumber",
  3975. protocol: "testing",
  3976. fn: function (){
  3977. var self=this,$self=this;
  3978. return true;
  3979. },
  3980. //>>excludeStart("ide", pragmas.excludeIdeData);
  3981. args: [],
  3982. source: "isNumber\x0a\x09^ true",
  3983. referencedClasses: [],
  3984. //>>excludeEnd("ide");
  3985. pragmas: [],
  3986. messageSends: []
  3987. }),
  3988. $globals.Number);
  3989. $core.addMethod(
  3990. $core.method({
  3991. selector: "isZero",
  3992. protocol: "testing",
  3993. fn: function (){
  3994. var self=this,$self=this;
  3995. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  3996. return $core.withContext(function($ctx1) {
  3997. //>>excludeEnd("ctx");
  3998. return $self.__eq((0));
  3999. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4000. }, function($ctx1) {$ctx1.fill(self,"isZero",{})});
  4001. //>>excludeEnd("ctx");
  4002. },
  4003. //>>excludeStart("ide", pragmas.excludeIdeData);
  4004. args: [],
  4005. source: "isZero\x0a\x09^ self = 0",
  4006. referencedClasses: [],
  4007. //>>excludeEnd("ide");
  4008. pragmas: [],
  4009. messageSends: ["="]
  4010. }),
  4011. $globals.Number);
  4012. $core.addMethod(
  4013. $core.method({
  4014. selector: "ln",
  4015. protocol: "mathematical functions",
  4016. fn: function (){
  4017. var self=this,$self=this;
  4018. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4019. return $core.withContext(function($ctx1) {
  4020. //>>excludeEnd("ctx");
  4021. return Math.log(self);;
  4022. return self;
  4023. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4024. }, function($ctx1) {$ctx1.fill(self,"ln",{})});
  4025. //>>excludeEnd("ctx");
  4026. },
  4027. //>>excludeStart("ide", pragmas.excludeIdeData);
  4028. args: [],
  4029. source: "ln\x0a\x09<inlineJS: 'return Math.log(self);'>",
  4030. referencedClasses: [],
  4031. //>>excludeEnd("ide");
  4032. pragmas: [["inlineJS:", ["return Math.log(self);"]]],
  4033. messageSends: []
  4034. }),
  4035. $globals.Number);
  4036. $core.addMethod(
  4037. $core.method({
  4038. selector: "ln1p",
  4039. protocol: "mathematical functions",
  4040. fn: function (){
  4041. var self=this,$self=this;
  4042. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4043. return $core.withContext(function($ctx1) {
  4044. //>>excludeEnd("ctx");
  4045. return Math.log1p(self);;
  4046. return self;
  4047. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4048. }, function($ctx1) {$ctx1.fill(self,"ln1p",{})});
  4049. //>>excludeEnd("ctx");
  4050. },
  4051. //>>excludeStart("ide", pragmas.excludeIdeData);
  4052. args: [],
  4053. source: "ln1p\x0a\x09<inlineJS: 'return Math.log1p(self);'>",
  4054. referencedClasses: [],
  4055. //>>excludeEnd("ide");
  4056. pragmas: [["inlineJS:", ["return Math.log1p(self);"]]],
  4057. messageSends: []
  4058. }),
  4059. $globals.Number);
  4060. $core.addMethod(
  4061. $core.method({
  4062. selector: "log",
  4063. protocol: "mathematical functions",
  4064. fn: function (){
  4065. var self=this,$self=this;
  4066. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4067. return $core.withContext(function($ctx1) {
  4068. //>>excludeEnd("ctx");
  4069. return Math.log(self) / Math.LN10;;
  4070. return self;
  4071. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4072. }, function($ctx1) {$ctx1.fill(self,"log",{})});
  4073. //>>excludeEnd("ctx");
  4074. },
  4075. //>>excludeStart("ide", pragmas.excludeIdeData);
  4076. args: [],
  4077. source: "log\x0a\x09<inlineJS: 'return Math.log(self) / Math.LN10;'>",
  4078. referencedClasses: [],
  4079. //>>excludeEnd("ide");
  4080. pragmas: [["inlineJS:", ["return Math.log(self) / Math.LN10;"]]],
  4081. messageSends: []
  4082. }),
  4083. $globals.Number);
  4084. $core.addMethod(
  4085. $core.method({
  4086. selector: "log:",
  4087. protocol: "mathematical functions",
  4088. fn: function (aNumber){
  4089. var self=this,$self=this;
  4090. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4091. return $core.withContext(function($ctx1) {
  4092. //>>excludeEnd("ctx");
  4093. return Math.log(self) / Math.log(aNumber);;
  4094. return self;
  4095. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4096. }, function($ctx1) {$ctx1.fill(self,"log:",{aNumber:aNumber})});
  4097. //>>excludeEnd("ctx");
  4098. },
  4099. //>>excludeStart("ide", pragmas.excludeIdeData);
  4100. args: ["aNumber"],
  4101. source: "log: aNumber\x0a\x09<inlineJS: 'return Math.log(self) / Math.log(aNumber);'>",
  4102. referencedClasses: [],
  4103. //>>excludeEnd("ide");
  4104. pragmas: [["inlineJS:", ["return Math.log(self) / Math.log(aNumber);"]]],
  4105. messageSends: []
  4106. }),
  4107. $globals.Number);
  4108. $core.addMethod(
  4109. $core.method({
  4110. selector: "max:",
  4111. protocol: "arithmetic",
  4112. fn: function (aNumber){
  4113. var self=this,$self=this;
  4114. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4115. return $core.withContext(function($ctx1) {
  4116. //>>excludeEnd("ctx");
  4117. return Math.max(self, aNumber);;
  4118. return self;
  4119. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4120. }, function($ctx1) {$ctx1.fill(self,"max:",{aNumber:aNumber})});
  4121. //>>excludeEnd("ctx");
  4122. },
  4123. //>>excludeStart("ide", pragmas.excludeIdeData);
  4124. args: ["aNumber"],
  4125. source: "max: aNumber\x0a\x09<inlineJS: 'return Math.max(self, aNumber);'>",
  4126. referencedClasses: [],
  4127. //>>excludeEnd("ide");
  4128. pragmas: [["inlineJS:", ["return Math.max(self, aNumber);"]]],
  4129. messageSends: []
  4130. }),
  4131. $globals.Number);
  4132. $core.addMethod(
  4133. $core.method({
  4134. selector: "min:",
  4135. protocol: "arithmetic",
  4136. fn: function (aNumber){
  4137. var self=this,$self=this;
  4138. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4139. return $core.withContext(function($ctx1) {
  4140. //>>excludeEnd("ctx");
  4141. return Math.min(self, aNumber);;
  4142. return self;
  4143. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4144. }, function($ctx1) {$ctx1.fill(self,"min:",{aNumber:aNumber})});
  4145. //>>excludeEnd("ctx");
  4146. },
  4147. //>>excludeStart("ide", pragmas.excludeIdeData);
  4148. args: ["aNumber"],
  4149. source: "min: aNumber\x0a\x09<inlineJS: 'return Math.min(self, aNumber);'>",
  4150. referencedClasses: [],
  4151. //>>excludeEnd("ide");
  4152. pragmas: [["inlineJS:", ["return Math.min(self, aNumber);"]]],
  4153. messageSends: []
  4154. }),
  4155. $globals.Number);
  4156. $core.addMethod(
  4157. $core.method({
  4158. selector: "min:max:",
  4159. protocol: "arithmetic",
  4160. fn: function (aMin,aMax){
  4161. var self=this,$self=this;
  4162. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4163. return $core.withContext(function($ctx1) {
  4164. //>>excludeEnd("ctx");
  4165. return $recv($self._min_(aMin))._max_(aMax);
  4166. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4167. }, function($ctx1) {$ctx1.fill(self,"min:max:",{aMin:aMin,aMax:aMax})});
  4168. //>>excludeEnd("ctx");
  4169. },
  4170. //>>excludeStart("ide", pragmas.excludeIdeData);
  4171. args: ["aMin", "aMax"],
  4172. source: "min: aMin max: aMax\x0a\x09^ (self min: aMin) max: aMax",
  4173. referencedClasses: [],
  4174. //>>excludeEnd("ide");
  4175. pragmas: [],
  4176. messageSends: ["max:", "min:"]
  4177. }),
  4178. $globals.Number);
  4179. $core.addMethod(
  4180. $core.method({
  4181. selector: "negated",
  4182. protocol: "arithmetic",
  4183. fn: function (){
  4184. var self=this,$self=this;
  4185. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4186. return $core.withContext(function($ctx1) {
  4187. //>>excludeEnd("ctx");
  4188. return (0).__minus(self);
  4189. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4190. }, function($ctx1) {$ctx1.fill(self,"negated",{})});
  4191. //>>excludeEnd("ctx");
  4192. },
  4193. //>>excludeStart("ide", pragmas.excludeIdeData);
  4194. args: [],
  4195. source: "negated\x0a\x09^ 0 - self",
  4196. referencedClasses: [],
  4197. //>>excludeEnd("ide");
  4198. pragmas: [],
  4199. messageSends: ["-"]
  4200. }),
  4201. $globals.Number);
  4202. $core.addMethod(
  4203. $core.method({
  4204. selector: "negative",
  4205. protocol: "testing",
  4206. fn: function (){
  4207. var self=this,$self=this;
  4208. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4209. return $core.withContext(function($ctx1) {
  4210. //>>excludeEnd("ctx");
  4211. return $self.__lt((0));
  4212. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4213. }, function($ctx1) {$ctx1.fill(self,"negative",{})});
  4214. //>>excludeEnd("ctx");
  4215. },
  4216. //>>excludeStart("ide", pragmas.excludeIdeData);
  4217. args: [],
  4218. source: "negative\x0a\x09\x22Answer whether the receiver is mathematically negative.\x22\x0a\x0a\x09^ self < 0",
  4219. referencedClasses: [],
  4220. //>>excludeEnd("ide");
  4221. pragmas: [],
  4222. messageSends: ["<"]
  4223. }),
  4224. $globals.Number);
  4225. $core.addMethod(
  4226. $core.method({
  4227. selector: "odd",
  4228. protocol: "testing",
  4229. fn: function (){
  4230. var self=this,$self=this;
  4231. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4232. return $core.withContext(function($ctx1) {
  4233. //>>excludeEnd("ctx");
  4234. return $recv($self._even())._not();
  4235. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4236. }, function($ctx1) {$ctx1.fill(self,"odd",{})});
  4237. //>>excludeEnd("ctx");
  4238. },
  4239. //>>excludeStart("ide", pragmas.excludeIdeData);
  4240. args: [],
  4241. source: "odd\x0a\x09^ self even not",
  4242. referencedClasses: [],
  4243. //>>excludeEnd("ide");
  4244. pragmas: [],
  4245. messageSends: ["not", "even"]
  4246. }),
  4247. $globals.Number);
  4248. $core.addMethod(
  4249. $core.method({
  4250. selector: "positive",
  4251. protocol: "testing",
  4252. fn: function (){
  4253. var self=this,$self=this;
  4254. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4255. return $core.withContext(function($ctx1) {
  4256. //>>excludeEnd("ctx");
  4257. return $self.__gt_eq((0));
  4258. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4259. }, function($ctx1) {$ctx1.fill(self,"positive",{})});
  4260. //>>excludeEnd("ctx");
  4261. },
  4262. //>>excludeStart("ide", pragmas.excludeIdeData);
  4263. args: [],
  4264. source: "positive\x0a\x09\x22Answer whether the receiver is positive or equal to 0. (ST-80 protocol).\x22\x0a\x0a\x09^ self >= 0",
  4265. referencedClasses: [],
  4266. //>>excludeEnd("ide");
  4267. pragmas: [],
  4268. messageSends: [">="]
  4269. }),
  4270. $globals.Number);
  4271. $core.addMethod(
  4272. $core.method({
  4273. selector: "printOn:",
  4274. protocol: "printing",
  4275. fn: function (aStream){
  4276. var self=this,$self=this;
  4277. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4278. return $core.withContext(function($ctx1) {
  4279. //>>excludeEnd("ctx");
  4280. $recv(aStream)._nextPutAll_($self._asString());
  4281. return self;
  4282. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4283. }, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream})});
  4284. //>>excludeEnd("ctx");
  4285. },
  4286. //>>excludeStart("ide", pragmas.excludeIdeData);
  4287. args: ["aStream"],
  4288. source: "printOn: aStream\x0a\x09aStream nextPutAll: self asString",
  4289. referencedClasses: [],
  4290. //>>excludeEnd("ide");
  4291. pragmas: [],
  4292. messageSends: ["nextPutAll:", "asString"]
  4293. }),
  4294. $globals.Number);
  4295. $core.addMethod(
  4296. $core.method({
  4297. selector: "printShowingDecimalPlaces:",
  4298. protocol: "printing",
  4299. fn: function (placesDesired){
  4300. var self=this,$self=this;
  4301. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4302. return $core.withContext(function($ctx1) {
  4303. //>>excludeEnd("ctx");
  4304. return self.toFixed(placesDesired);
  4305. return self;
  4306. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4307. }, function($ctx1) {$ctx1.fill(self,"printShowingDecimalPlaces:",{placesDesired:placesDesired})});
  4308. //>>excludeEnd("ctx");
  4309. },
  4310. //>>excludeStart("ide", pragmas.excludeIdeData);
  4311. args: ["placesDesired"],
  4312. source: "printShowingDecimalPlaces: placesDesired\x0a\x09<inlineJS: 'return self.toFixed(placesDesired)'>",
  4313. referencedClasses: [],
  4314. //>>excludeEnd("ide");
  4315. pragmas: [["inlineJS:", ["return self.toFixed(placesDesired)"]]],
  4316. messageSends: []
  4317. }),
  4318. $globals.Number);
  4319. $core.addMethod(
  4320. $core.method({
  4321. selector: "printStringBase:",
  4322. protocol: "converting",
  4323. fn: function (aBase){
  4324. var self=this,$self=this;
  4325. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4326. return $core.withContext(function($ctx1) {
  4327. //>>excludeEnd("ctx");
  4328. return self.toString(aBase);
  4329. return self;
  4330. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4331. }, function($ctx1) {$ctx1.fill(self,"printStringBase:",{aBase:aBase})});
  4332. //>>excludeEnd("ctx");
  4333. },
  4334. //>>excludeStart("ide", pragmas.excludeIdeData);
  4335. args: ["aBase"],
  4336. source: "printStringBase: aBase\x0a\x09<inlineJS: 'return self.toString(aBase)'>",
  4337. referencedClasses: [],
  4338. //>>excludeEnd("ide");
  4339. pragmas: [["inlineJS:", ["return self.toString(aBase)"]]],
  4340. messageSends: []
  4341. }),
  4342. $globals.Number);
  4343. $core.addMethod(
  4344. $core.method({
  4345. selector: "radiansToDegrees",
  4346. protocol: "converting",
  4347. fn: function (){
  4348. var self=this,$self=this;
  4349. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4350. return $core.withContext(function($ctx1) {
  4351. //>>excludeEnd("ctx");
  4352. return $self.__slash($recv($globals.Number)._radiansPerDegree());
  4353. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4354. }, function($ctx1) {$ctx1.fill(self,"radiansToDegrees",{})});
  4355. //>>excludeEnd("ctx");
  4356. },
  4357. //>>excludeStart("ide", pragmas.excludeIdeData);
  4358. args: [],
  4359. source: "radiansToDegrees\x0a\x09^ self / Number radiansPerDegree",
  4360. referencedClasses: ["Number"],
  4361. //>>excludeEnd("ide");
  4362. pragmas: [],
  4363. messageSends: ["/", "radiansPerDegree"]
  4364. }),
  4365. $globals.Number);
  4366. $core.addMethod(
  4367. $core.method({
  4368. selector: "raisedTo:",
  4369. protocol: "mathematical functions",
  4370. fn: function (exponent){
  4371. var self=this,$self=this;
  4372. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4373. return $core.withContext(function($ctx1) {
  4374. //>>excludeEnd("ctx");
  4375. return Math.pow(self, exponent);;
  4376. return self;
  4377. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4378. }, function($ctx1) {$ctx1.fill(self,"raisedTo:",{exponent:exponent})});
  4379. //>>excludeEnd("ctx");
  4380. },
  4381. //>>excludeStart("ide", pragmas.excludeIdeData);
  4382. args: ["exponent"],
  4383. source: "raisedTo: exponent\x0a\x09<inlineJS: 'return Math.pow(self, exponent);'>",
  4384. referencedClasses: [],
  4385. //>>excludeEnd("ide");
  4386. pragmas: [["inlineJS:", ["return Math.pow(self, exponent);"]]],
  4387. messageSends: []
  4388. }),
  4389. $globals.Number);
  4390. $core.addMethod(
  4391. $core.method({
  4392. selector: "rounded",
  4393. protocol: "converting",
  4394. fn: function (){
  4395. var self=this,$self=this;
  4396. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4397. return $core.withContext(function($ctx1) {
  4398. //>>excludeEnd("ctx");
  4399. return Math.round(self);;
  4400. return self;
  4401. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4402. }, function($ctx1) {$ctx1.fill(self,"rounded",{})});
  4403. //>>excludeEnd("ctx");
  4404. },
  4405. //>>excludeStart("ide", pragmas.excludeIdeData);
  4406. args: [],
  4407. source: "rounded\x0a\x09<inlineJS: 'return Math.round(self);'>",
  4408. referencedClasses: [],
  4409. //>>excludeEnd("ide");
  4410. pragmas: [["inlineJS:", ["return Math.round(self);"]]],
  4411. messageSends: []
  4412. }),
  4413. $globals.Number);
  4414. $core.addMethod(
  4415. $core.method({
  4416. selector: "sign",
  4417. protocol: "mathematical functions",
  4418. fn: function (){
  4419. var self=this,$self=this;
  4420. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4421. return $core.withContext(function($ctx1) {
  4422. //>>excludeEnd("ctx");
  4423. var $1,$2;
  4424. $1=$self._isZero();
  4425. if($core.assert($1)){
  4426. return (0);
  4427. }
  4428. $2=$self._positive();
  4429. if($core.assert($2)){
  4430. return (1);
  4431. } else {
  4432. return (-1);
  4433. }
  4434. return self;
  4435. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4436. }, function($ctx1) {$ctx1.fill(self,"sign",{})});
  4437. //>>excludeEnd("ctx");
  4438. },
  4439. //>>excludeStart("ide", pragmas.excludeIdeData);
  4440. args: [],
  4441. source: "sign\x0a\x09self isZero \x0a\x09\x09ifTrue: [ ^ 0 ].\x0a\x09self positive\x0a\x09\x09ifTrue: [ ^ 1 ]\x0a\x09\x09ifFalse: [ ^ -1 ].",
  4442. referencedClasses: [],
  4443. //>>excludeEnd("ide");
  4444. pragmas: [],
  4445. messageSends: ["ifTrue:", "isZero", "ifTrue:ifFalse:", "positive"]
  4446. }),
  4447. $globals.Number);
  4448. $core.addMethod(
  4449. $core.method({
  4450. selector: "sin",
  4451. protocol: "mathematical functions",
  4452. fn: function (){
  4453. var self=this,$self=this;
  4454. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4455. return $core.withContext(function($ctx1) {
  4456. //>>excludeEnd("ctx");
  4457. return Math.sin(self);;
  4458. return self;
  4459. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4460. }, function($ctx1) {$ctx1.fill(self,"sin",{})});
  4461. //>>excludeEnd("ctx");
  4462. },
  4463. //>>excludeStart("ide", pragmas.excludeIdeData);
  4464. args: [],
  4465. source: "sin\x0a\x09<inlineJS: 'return Math.sin(self);'>",
  4466. referencedClasses: [],
  4467. //>>excludeEnd("ide");
  4468. pragmas: [["inlineJS:", ["return Math.sin(self);"]]],
  4469. messageSends: []
  4470. }),
  4471. $globals.Number);
  4472. $core.addMethod(
  4473. $core.method({
  4474. selector: "sqrt",
  4475. protocol: "mathematical functions",
  4476. fn: function (){
  4477. var self=this,$self=this;
  4478. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4479. return $core.withContext(function($ctx1) {
  4480. //>>excludeEnd("ctx");
  4481. return Math.sqrt(self);
  4482. return self;
  4483. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4484. }, function($ctx1) {$ctx1.fill(self,"sqrt",{})});
  4485. //>>excludeEnd("ctx");
  4486. },
  4487. //>>excludeStart("ide", pragmas.excludeIdeData);
  4488. args: [],
  4489. source: "sqrt\x0a\x09<inlineJS: 'return Math.sqrt(self)'>",
  4490. referencedClasses: [],
  4491. //>>excludeEnd("ide");
  4492. pragmas: [["inlineJS:", ["return Math.sqrt(self)"]]],
  4493. messageSends: []
  4494. }),
  4495. $globals.Number);
  4496. $core.addMethod(
  4497. $core.method({
  4498. selector: "squared",
  4499. protocol: "mathematical functions",
  4500. fn: function (){
  4501. var self=this,$self=this;
  4502. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4503. return $core.withContext(function($ctx1) {
  4504. //>>excludeEnd("ctx");
  4505. return $self.__star(self);
  4506. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4507. }, function($ctx1) {$ctx1.fill(self,"squared",{})});
  4508. //>>excludeEnd("ctx");
  4509. },
  4510. //>>excludeStart("ide", pragmas.excludeIdeData);
  4511. args: [],
  4512. source: "squared\x0a\x09^ self * self",
  4513. referencedClasses: [],
  4514. //>>excludeEnd("ide");
  4515. pragmas: [],
  4516. messageSends: ["*"]
  4517. }),
  4518. $globals.Number);
  4519. $core.addMethod(
  4520. $core.method({
  4521. selector: "tan",
  4522. protocol: "mathematical functions",
  4523. fn: function (){
  4524. var self=this,$self=this;
  4525. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4526. return $core.withContext(function($ctx1) {
  4527. //>>excludeEnd("ctx");
  4528. return Math.tan(self);;
  4529. return self;
  4530. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4531. }, function($ctx1) {$ctx1.fill(self,"tan",{})});
  4532. //>>excludeEnd("ctx");
  4533. },
  4534. //>>excludeStart("ide", pragmas.excludeIdeData);
  4535. args: [],
  4536. source: "tan\x0a\x09<inlineJS: 'return Math.tan(self);'>",
  4537. referencedClasses: [],
  4538. //>>excludeEnd("ide");
  4539. pragmas: [["inlineJS:", ["return Math.tan(self);"]]],
  4540. messageSends: []
  4541. }),
  4542. $globals.Number);
  4543. $core.addMethod(
  4544. $core.method({
  4545. selector: "timesRepeat:",
  4546. protocol: "enumerating",
  4547. fn: function (aBlock){
  4548. var self=this,$self=this;
  4549. var count;
  4550. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4551. return $core.withContext(function($ctx1) {
  4552. //>>excludeEnd("ctx");
  4553. count=(1);
  4554. $recv((function(){
  4555. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4556. return $core.withContext(function($ctx2) {
  4557. //>>excludeEnd("ctx");
  4558. return $recv(count).__gt(self);
  4559. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4560. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  4561. //>>excludeEnd("ctx");
  4562. }))._whileFalse_((function(){
  4563. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4564. return $core.withContext(function($ctx2) {
  4565. //>>excludeEnd("ctx");
  4566. $recv(aBlock)._value();
  4567. count=$recv(count).__plus((1));
  4568. return count;
  4569. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4570. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
  4571. //>>excludeEnd("ctx");
  4572. }));
  4573. return self;
  4574. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4575. }, function($ctx1) {$ctx1.fill(self,"timesRepeat:",{aBlock:aBlock,count:count})});
  4576. //>>excludeEnd("ctx");
  4577. },
  4578. //>>excludeStart("ide", pragmas.excludeIdeData);
  4579. args: ["aBlock"],
  4580. source: "timesRepeat: aBlock\x0a\x09| count |\x0a\x09count := 1.\x0a\x09[ count > self ] whileFalse: [\x0a\x09\x09aBlock value.\x0a\x09\x09count := count + 1 ]",
  4581. referencedClasses: [],
  4582. //>>excludeEnd("ide");
  4583. pragmas: [],
  4584. messageSends: ["whileFalse:", ">", "value", "+"]
  4585. }),
  4586. $globals.Number);
  4587. $core.addMethod(
  4588. $core.method({
  4589. selector: "to:",
  4590. protocol: "converting",
  4591. fn: function (aNumber){
  4592. var self=this,$self=this;
  4593. var array,first,last,count;
  4594. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4595. return $core.withContext(function($ctx1) {
  4596. //>>excludeEnd("ctx");
  4597. first=$self._truncated();
  4598. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4599. $ctx1.sendIdx["truncated"]=1;
  4600. //>>excludeEnd("ctx");
  4601. last=$recv($recv(aNumber)._truncated()).__plus((1));
  4602. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4603. $ctx1.sendIdx["+"]=1;
  4604. //>>excludeEnd("ctx");
  4605. count=(1);
  4606. array=$recv($globals.Array)._new();
  4607. $recv($recv(last).__minus(first))._timesRepeat_((function(){
  4608. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4609. return $core.withContext(function($ctx2) {
  4610. //>>excludeEnd("ctx");
  4611. $recv(array)._at_put_(count,first);
  4612. count=$recv(count).__plus((1));
  4613. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4614. $ctx2.sendIdx["+"]=2;
  4615. //>>excludeEnd("ctx");
  4616. first=$recv(first).__plus((1));
  4617. return first;
  4618. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4619. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  4620. //>>excludeEnd("ctx");
  4621. }));
  4622. return array;
  4623. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4624. }, function($ctx1) {$ctx1.fill(self,"to:",{aNumber:aNumber,array:array,first:first,last:last,count:count})});
  4625. //>>excludeEnd("ctx");
  4626. },
  4627. //>>excludeStart("ide", pragmas.excludeIdeData);
  4628. args: ["aNumber"],
  4629. source: "to: aNumber\x0a\x09| array first last count |\x0a\x09first := self truncated.\x0a\x09last := aNumber truncated + 1.\x0a\x09count := 1.\x0a\x09array := Array new.\x0a\x09(last - first) timesRepeat: [\x0a\x09\x09array at: count put: first.\x0a\x09\x09count := count + 1.\x0a\x09\x09first := first + 1 ].\x0a\x09^ array",
  4630. referencedClasses: ["Array"],
  4631. //>>excludeEnd("ide");
  4632. pragmas: [],
  4633. messageSends: ["truncated", "+", "new", "timesRepeat:", "-", "at:put:"]
  4634. }),
  4635. $globals.Number);
  4636. $core.addMethod(
  4637. $core.method({
  4638. selector: "to:by:",
  4639. protocol: "converting",
  4640. fn: function (stop,step){
  4641. var self=this,$self=this;
  4642. var array,value,pos;
  4643. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4644. return $core.withContext(function($ctx1) {
  4645. //>>excludeEnd("ctx");
  4646. var $1,$2;
  4647. value=self;
  4648. array=$recv($globals.Array)._new();
  4649. pos=(1);
  4650. $1=$recv(step).__eq((0));
  4651. if($core.assert($1)){
  4652. $self._error_("step must be non-zero");
  4653. }
  4654. $2=$recv(step).__lt((0));
  4655. if($core.assert($2)){
  4656. $recv((function(){
  4657. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4658. return $core.withContext(function($ctx2) {
  4659. //>>excludeEnd("ctx");
  4660. return $recv(value).__gt_eq(stop);
  4661. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4662. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)});
  4663. //>>excludeEnd("ctx");
  4664. }))._whileTrue_((function(){
  4665. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4666. return $core.withContext(function($ctx2) {
  4667. //>>excludeEnd("ctx");
  4668. $recv(array)._at_put_(pos,value);
  4669. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4670. $ctx2.sendIdx["at:put:"]=1;
  4671. //>>excludeEnd("ctx");
  4672. pos=$recv(pos).__plus((1));
  4673. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4674. $ctx2.sendIdx["+"]=1;
  4675. //>>excludeEnd("ctx");
  4676. value=$recv(value).__plus(step);
  4677. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4678. $ctx2.sendIdx["+"]=2;
  4679. //>>excludeEnd("ctx");
  4680. return value;
  4681. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4682. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,4)});
  4683. //>>excludeEnd("ctx");
  4684. }));
  4685. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4686. $ctx1.sendIdx["whileTrue:"]=1;
  4687. //>>excludeEnd("ctx");
  4688. } else {
  4689. $recv((function(){
  4690. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4691. return $core.withContext(function($ctx2) {
  4692. //>>excludeEnd("ctx");
  4693. return $recv(value).__lt_eq(stop);
  4694. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4695. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,6)});
  4696. //>>excludeEnd("ctx");
  4697. }))._whileTrue_((function(){
  4698. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4699. return $core.withContext(function($ctx2) {
  4700. //>>excludeEnd("ctx");
  4701. $recv(array)._at_put_(pos,value);
  4702. pos=$recv(pos).__plus((1));
  4703. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4704. $ctx2.sendIdx["+"]=3;
  4705. //>>excludeEnd("ctx");
  4706. value=$recv(value).__plus(step);
  4707. return value;
  4708. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4709. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,7)});
  4710. //>>excludeEnd("ctx");
  4711. }));
  4712. }
  4713. return array;
  4714. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4715. }, function($ctx1) {$ctx1.fill(self,"to:by:",{stop:stop,step:step,array:array,value:value,pos:pos})});
  4716. //>>excludeEnd("ctx");
  4717. },
  4718. //>>excludeStart("ide", pragmas.excludeIdeData);
  4719. args: ["stop", "step"],
  4720. source: "to: stop by: step\x0a\x09| array value pos |\x0a\x09value := self.\x0a\x09array := Array new.\x0a\x09pos := 1.\x0a\x09step = 0 ifTrue: [ self error: 'step must be non-zero' ].\x0a\x09step < 0\x0a\x09\x09ifTrue: [ [ value >= stop ] whileTrue: [\x0a\x09\x09\x09\x09\x09array at: pos put: value.\x0a\x09\x09\x09\x09\x09pos := pos + 1.\x0a\x09\x09\x09\x09\x09value := value + step ]]\x0a\x09\x09ifFalse: [ [ value <= stop ] whileTrue: [\x0a\x09\x09\x09\x09\x09array at: pos put: value.\x0a\x09\x09\x09\x09pos := pos + 1.\x0a\x09\x09\x09\x09\x09value := value + step ]].\x0a\x09^ array",
  4721. referencedClasses: ["Array"],
  4722. //>>excludeEnd("ide");
  4723. pragmas: [],
  4724. messageSends: ["new", "ifTrue:", "=", "error:", "ifTrue:ifFalse:", "<", "whileTrue:", ">=", "at:put:", "+", "<="]
  4725. }),
  4726. $globals.Number);
  4727. $core.addMethod(
  4728. $core.method({
  4729. selector: "to:by:do:",
  4730. protocol: "enumerating",
  4731. fn: function (stop,step,aBlock){
  4732. var self=this,$self=this;
  4733. var value;
  4734. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4735. return $core.withContext(function($ctx1) {
  4736. //>>excludeEnd("ctx");
  4737. var $1,$2;
  4738. value=self;
  4739. $1=$recv(step).__eq((0));
  4740. if($core.assert($1)){
  4741. $self._error_("step must be non-zero");
  4742. }
  4743. $2=$recv(step).__lt((0));
  4744. if($core.assert($2)){
  4745. $recv((function(){
  4746. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4747. return $core.withContext(function($ctx2) {
  4748. //>>excludeEnd("ctx");
  4749. return $recv(value).__gt_eq(stop);
  4750. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4751. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)});
  4752. //>>excludeEnd("ctx");
  4753. }))._whileTrue_((function(){
  4754. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4755. return $core.withContext(function($ctx2) {
  4756. //>>excludeEnd("ctx");
  4757. $recv(aBlock)._value_(value);
  4758. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4759. $ctx2.sendIdx["value:"]=1;
  4760. //>>excludeEnd("ctx");
  4761. value=$recv(value).__plus(step);
  4762. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4763. $ctx2.sendIdx["+"]=1;
  4764. //>>excludeEnd("ctx");
  4765. return value;
  4766. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4767. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,4)});
  4768. //>>excludeEnd("ctx");
  4769. }));
  4770. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4771. $ctx1.sendIdx["whileTrue:"]=1;
  4772. //>>excludeEnd("ctx");
  4773. } else {
  4774. $recv((function(){
  4775. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4776. return $core.withContext(function($ctx2) {
  4777. //>>excludeEnd("ctx");
  4778. return $recv(value).__lt_eq(stop);
  4779. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4780. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,6)});
  4781. //>>excludeEnd("ctx");
  4782. }))._whileTrue_((function(){
  4783. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4784. return $core.withContext(function($ctx2) {
  4785. //>>excludeEnd("ctx");
  4786. $recv(aBlock)._value_(value);
  4787. value=$recv(value).__plus(step);
  4788. return value;
  4789. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4790. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,7)});
  4791. //>>excludeEnd("ctx");
  4792. }));
  4793. }
  4794. return self;
  4795. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4796. }, function($ctx1) {$ctx1.fill(self,"to:by:do:",{stop:stop,step:step,aBlock:aBlock,value:value})});
  4797. //>>excludeEnd("ctx");
  4798. },
  4799. //>>excludeStart("ide", pragmas.excludeIdeData);
  4800. args: ["stop", "step", "aBlock"],
  4801. source: "to: stop by: step do: aBlock\x0a\x09| value |\x0a\x09value := self.\x0a\x09step = 0 ifTrue: [ self error: 'step must be non-zero' ].\x0a\x09step < 0\x0a\x09\x09ifTrue: [ [ value >= stop ] whileTrue: [\x0a\x09\x09\x09\x09\x09aBlock value: value.\x0a\x09\x09\x09\x09\x09value := value + step ]]\x0a\x09\x09ifFalse: [ [ value <= stop ] whileTrue: [\x0a\x09\x09\x09\x09\x09aBlock value: value.\x0a\x09\x09\x09\x09\x09value := value + step ]]",
  4802. referencedClasses: [],
  4803. //>>excludeEnd("ide");
  4804. pragmas: [],
  4805. messageSends: ["ifTrue:", "=", "error:", "ifTrue:ifFalse:", "<", "whileTrue:", ">=", "value:", "+", "<="]
  4806. }),
  4807. $globals.Number);
  4808. $core.addMethod(
  4809. $core.method({
  4810. selector: "to:do:",
  4811. protocol: "enumerating",
  4812. fn: function (stop,aBlock){
  4813. var self=this,$self=this;
  4814. var nextValue;
  4815. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4816. return $core.withContext(function($ctx1) {
  4817. //>>excludeEnd("ctx");
  4818. nextValue=self;
  4819. $recv((function(){
  4820. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4821. return $core.withContext(function($ctx2) {
  4822. //>>excludeEnd("ctx");
  4823. return $recv(nextValue).__lt_eq(stop);
  4824. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4825. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  4826. //>>excludeEnd("ctx");
  4827. }))._whileTrue_((function(){
  4828. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4829. return $core.withContext(function($ctx2) {
  4830. //>>excludeEnd("ctx");
  4831. $recv(aBlock)._value_(nextValue);
  4832. nextValue=$recv(nextValue).__plus((1));
  4833. return nextValue;
  4834. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4835. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
  4836. //>>excludeEnd("ctx");
  4837. }));
  4838. return self;
  4839. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4840. }, function($ctx1) {$ctx1.fill(self,"to:do:",{stop:stop,aBlock:aBlock,nextValue:nextValue})});
  4841. //>>excludeEnd("ctx");
  4842. },
  4843. //>>excludeStart("ide", pragmas.excludeIdeData);
  4844. args: ["stop", "aBlock"],
  4845. source: "to: stop do: aBlock\x0a\x09\x22Evaluate aBlock for each number from self to aNumber.\x22\x0a\x09| nextValue |\x0a\x09nextValue := self.\x0a\x09[ nextValue <= stop ]\x0a\x09\x09whileTrue:\x0a\x09\x09\x09[ aBlock value: nextValue.\x0a\x09\x09\x09nextValue := nextValue + 1 ]",
  4846. referencedClasses: [],
  4847. //>>excludeEnd("ide");
  4848. pragmas: [],
  4849. messageSends: ["whileTrue:", "<=", "value:", "+"]
  4850. }),
  4851. $globals.Number);
  4852. $core.addMethod(
  4853. $core.method({
  4854. selector: "truncated",
  4855. protocol: "converting",
  4856. fn: function (){
  4857. var self=this,$self=this;
  4858. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4859. return $core.withContext(function($ctx1) {
  4860. //>>excludeEnd("ctx");
  4861. if(self >= 0) {
  4862. return Math.floor(self);
  4863. } else {
  4864. return Math.floor(self * (-1)) * (-1);
  4865. };
  4866. ;
  4867. return self;
  4868. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4869. }, function($ctx1) {$ctx1.fill(self,"truncated",{})});
  4870. //>>excludeEnd("ctx");
  4871. },
  4872. //>>excludeStart("ide", pragmas.excludeIdeData);
  4873. args: [],
  4874. source: "truncated\x0a\x09<inlineJS: '\x0a\x09\x09if(self >= 0) {\x0a\x09\x09\x09return Math.floor(self);\x0a\x09\x09} else {\x0a\x09\x09\x09return Math.floor(self * (-1)) * (-1);\x0a\x09\x09};\x0a\x09'>",
  4875. referencedClasses: [],
  4876. //>>excludeEnd("ide");
  4877. pragmas: [["inlineJS:", ["\x0a\x09\x09if(self >= 0) {\x0a\x09\x09\x09return Math.floor(self);\x0a\x09\x09} else {\x0a\x09\x09\x09return Math.floor(self * (-1)) * (-1);\x0a\x09\x09};\x0a\x09"]]],
  4878. messageSends: []
  4879. }),
  4880. $globals.Number);
  4881. $core.addMethod(
  4882. $core.method({
  4883. selector: "|",
  4884. protocol: "converting",
  4885. fn: function (aNumber){
  4886. var self=this,$self=this;
  4887. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4888. return $core.withContext(function($ctx1) {
  4889. //>>excludeEnd("ctx");
  4890. return self | aNumber;
  4891. return self;
  4892. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4893. }, function($ctx1) {$ctx1.fill(self,"|",{aNumber:aNumber})});
  4894. //>>excludeEnd("ctx");
  4895. },
  4896. //>>excludeStart("ide", pragmas.excludeIdeData);
  4897. args: ["aNumber"],
  4898. source: "| aNumber\x0a\x09<inlineJS: 'return self | aNumber'>",
  4899. referencedClasses: [],
  4900. //>>excludeEnd("ide");
  4901. pragmas: [["inlineJS:", ["return self | aNumber"]]],
  4902. messageSends: []
  4903. }),
  4904. $globals.Number);
  4905. $core.addMethod(
  4906. $core.method({
  4907. selector: "classTag",
  4908. protocol: "accessing",
  4909. fn: function (){
  4910. var self=this,$self=this;
  4911. return "magnitude";
  4912. },
  4913. //>>excludeStart("ide", pragmas.excludeIdeData);
  4914. args: [],
  4915. source: "classTag\x0a\x09\x22Returns a tag or general category for this class.\x0a\x09Typically used to help tools do some reflection.\x0a\x09Helios, for example, uses this to decide what icon the class should display.\x22\x0a\x09\x0a\x09^ 'magnitude'",
  4916. referencedClasses: [],
  4917. //>>excludeEnd("ide");
  4918. pragmas: [],
  4919. messageSends: []
  4920. }),
  4921. $globals.Number.a$cls);
  4922. $core.addMethod(
  4923. $core.method({
  4924. selector: "e",
  4925. protocol: "instance creation",
  4926. fn: function (){
  4927. var self=this,$self=this;
  4928. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4929. return $core.withContext(function($ctx1) {
  4930. //>>excludeEnd("ctx");
  4931. return Math.E;;
  4932. return self;
  4933. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4934. }, function($ctx1) {$ctx1.fill(self,"e",{})});
  4935. //>>excludeEnd("ctx");
  4936. },
  4937. //>>excludeStart("ide", pragmas.excludeIdeData);
  4938. args: [],
  4939. source: "e\x0a\x09<inlineJS: 'return Math.E;'>",
  4940. referencedClasses: [],
  4941. //>>excludeEnd("ide");
  4942. pragmas: [["inlineJS:", ["return Math.E;"]]],
  4943. messageSends: []
  4944. }),
  4945. $globals.Number.a$cls);
  4946. $core.addMethod(
  4947. $core.method({
  4948. selector: "pi",
  4949. protocol: "instance creation",
  4950. fn: function (){
  4951. var self=this,$self=this;
  4952. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4953. return $core.withContext(function($ctx1) {
  4954. //>>excludeEnd("ctx");
  4955. return Math.PI;
  4956. return self;
  4957. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4958. }, function($ctx1) {$ctx1.fill(self,"pi",{})});
  4959. //>>excludeEnd("ctx");
  4960. },
  4961. //>>excludeStart("ide", pragmas.excludeIdeData);
  4962. args: [],
  4963. source: "pi\x0a\x09<inlineJS: 'return Math.PI'>",
  4964. referencedClasses: [],
  4965. //>>excludeEnd("ide");
  4966. pragmas: [["inlineJS:", ["return Math.PI"]]],
  4967. messageSends: []
  4968. }),
  4969. $globals.Number.a$cls);
  4970. $core.addMethod(
  4971. $core.method({
  4972. selector: "radiansPerDegree",
  4973. protocol: "instance creation",
  4974. fn: function (){
  4975. var self=this,$self=this;
  4976. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4977. return $core.withContext(function($ctx1) {
  4978. //>>excludeEnd("ctx");
  4979. return $recv($self._pi()).__slash((180));
  4980. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  4981. }, function($ctx1) {$ctx1.fill(self,"radiansPerDegree",{})});
  4982. //>>excludeEnd("ctx");
  4983. },
  4984. //>>excludeStart("ide", pragmas.excludeIdeData);
  4985. args: [],
  4986. source: "radiansPerDegree\x0a\x09^ (self pi) / 180",
  4987. referencedClasses: [],
  4988. //>>excludeEnd("ide");
  4989. pragmas: [],
  4990. messageSends: ["/", "pi"]
  4991. }),
  4992. $globals.Number.a$cls);
  4993. $core.addClass("Point", $globals.Object, ["x", "y"], "Kernel-Objects");
  4994. //>>excludeStart("ide", pragmas.excludeIdeData);
  4995. $globals.Point.comment="I represent an x-y pair of numbers usually designating a geometric coordinate.\x0a\x0a## API\x0a\x0aInstances are traditionally created using the binary `#@` message to a number:\x0a\x0a\x09100@120\x0a\x0aPoints can then be arithmetically manipulated:\x0a\x0a\x09100@100 + (10@10)\x0a\x0a...or for example:\x0a\x0a\x09(100@100) * 2\x0a\x0a**NOTE:** Creating a point with a negative y-value will need a space after `@` in order to avoid a parsing error:\x0a\x0a\x09100@ -100 \x22but 100@-100 would not parse\x22";
  4996. //>>excludeEnd("ide");
  4997. $core.addMethod(
  4998. $core.method({
  4999. selector: "*",
  5000. protocol: "arithmetic",
  5001. fn: function (aPoint){
  5002. var self=this,$self=this;
  5003. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5004. return $core.withContext(function($ctx1) {
  5005. //>>excludeEnd("ctx");
  5006. var $2,$4,$3,$1,$6,$5;
  5007. $2=$self._x();
  5008. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5009. $ctx1.sendIdx["x"]=1;
  5010. //>>excludeEnd("ctx");
  5011. $4=$recv(aPoint)._asPoint();
  5012. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5013. $ctx1.sendIdx["asPoint"]=1;
  5014. //>>excludeEnd("ctx");
  5015. $3=$recv($4)._x();
  5016. $1=$recv($2).__star($3);
  5017. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5018. $ctx1.sendIdx["*"]=1;
  5019. //>>excludeEnd("ctx");
  5020. $6=$self._y();
  5021. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5022. $ctx1.sendIdx["y"]=1;
  5023. //>>excludeEnd("ctx");
  5024. $5=$recv($6).__star($recv($recv(aPoint)._asPoint())._y());
  5025. return $recv($globals.Point)._x_y_($1,$5);
  5026. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5027. }, function($ctx1) {$ctx1.fill(self,"*",{aPoint:aPoint})});
  5028. //>>excludeEnd("ctx");
  5029. },
  5030. //>>excludeStart("ide", pragmas.excludeIdeData);
  5031. args: ["aPoint"],
  5032. source: "* aPoint\x0a\x09^ Point x: self x * aPoint asPoint x y: self y * aPoint asPoint y",
  5033. referencedClasses: ["Point"],
  5034. //>>excludeEnd("ide");
  5035. pragmas: [],
  5036. messageSends: ["x:y:", "*", "x", "asPoint", "y"]
  5037. }),
  5038. $globals.Point);
  5039. $core.addMethod(
  5040. $core.method({
  5041. selector: "+",
  5042. protocol: "arithmetic",
  5043. fn: function (aPoint){
  5044. var self=this,$self=this;
  5045. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5046. return $core.withContext(function($ctx1) {
  5047. //>>excludeEnd("ctx");
  5048. var $2,$4,$3,$1,$6,$5;
  5049. $2=$self._x();
  5050. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5051. $ctx1.sendIdx["x"]=1;
  5052. //>>excludeEnd("ctx");
  5053. $4=$recv(aPoint)._asPoint();
  5054. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5055. $ctx1.sendIdx["asPoint"]=1;
  5056. //>>excludeEnd("ctx");
  5057. $3=$recv($4)._x();
  5058. $1=$recv($2).__plus($3);
  5059. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5060. $ctx1.sendIdx["+"]=1;
  5061. //>>excludeEnd("ctx");
  5062. $6=$self._y();
  5063. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5064. $ctx1.sendIdx["y"]=1;
  5065. //>>excludeEnd("ctx");
  5066. $5=$recv($6).__plus($recv($recv(aPoint)._asPoint())._y());
  5067. return $recv($globals.Point)._x_y_($1,$5);
  5068. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5069. }, function($ctx1) {$ctx1.fill(self,"+",{aPoint:aPoint})});
  5070. //>>excludeEnd("ctx");
  5071. },
  5072. //>>excludeStart("ide", pragmas.excludeIdeData);
  5073. args: ["aPoint"],
  5074. source: "+ aPoint\x0a\x09^ Point x: self x + aPoint asPoint x y: self y + aPoint asPoint y",
  5075. referencedClasses: ["Point"],
  5076. //>>excludeEnd("ide");
  5077. pragmas: [],
  5078. messageSends: ["x:y:", "+", "x", "asPoint", "y"]
  5079. }),
  5080. $globals.Point);
  5081. $core.addMethod(
  5082. $core.method({
  5083. selector: "-",
  5084. protocol: "arithmetic",
  5085. fn: function (aPoint){
  5086. var self=this,$self=this;
  5087. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5088. return $core.withContext(function($ctx1) {
  5089. //>>excludeEnd("ctx");
  5090. var $2,$4,$3,$1,$6,$5;
  5091. $2=$self._x();
  5092. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5093. $ctx1.sendIdx["x"]=1;
  5094. //>>excludeEnd("ctx");
  5095. $4=$recv(aPoint)._asPoint();
  5096. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5097. $ctx1.sendIdx["asPoint"]=1;
  5098. //>>excludeEnd("ctx");
  5099. $3=$recv($4)._x();
  5100. $1=$recv($2).__minus($3);
  5101. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5102. $ctx1.sendIdx["-"]=1;
  5103. //>>excludeEnd("ctx");
  5104. $6=$self._y();
  5105. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5106. $ctx1.sendIdx["y"]=1;
  5107. //>>excludeEnd("ctx");
  5108. $5=$recv($6).__minus($recv($recv(aPoint)._asPoint())._y());
  5109. return $recv($globals.Point)._x_y_($1,$5);
  5110. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5111. }, function($ctx1) {$ctx1.fill(self,"-",{aPoint:aPoint})});
  5112. //>>excludeEnd("ctx");
  5113. },
  5114. //>>excludeStart("ide", pragmas.excludeIdeData);
  5115. args: ["aPoint"],
  5116. source: "- aPoint\x0a\x09^ Point x: self x - aPoint asPoint x y: self y - aPoint asPoint y",
  5117. referencedClasses: ["Point"],
  5118. //>>excludeEnd("ide");
  5119. pragmas: [],
  5120. messageSends: ["x:y:", "-", "x", "asPoint", "y"]
  5121. }),
  5122. $globals.Point);
  5123. $core.addMethod(
  5124. $core.method({
  5125. selector: "/",
  5126. protocol: "arithmetic",
  5127. fn: function (aPoint){
  5128. var self=this,$self=this;
  5129. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5130. return $core.withContext(function($ctx1) {
  5131. //>>excludeEnd("ctx");
  5132. var $2,$4,$3,$1,$6,$5;
  5133. $2=$self._x();
  5134. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5135. $ctx1.sendIdx["x"]=1;
  5136. //>>excludeEnd("ctx");
  5137. $4=$recv(aPoint)._asPoint();
  5138. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5139. $ctx1.sendIdx["asPoint"]=1;
  5140. //>>excludeEnd("ctx");
  5141. $3=$recv($4)._x();
  5142. $1=$recv($2).__slash($3);
  5143. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5144. $ctx1.sendIdx["/"]=1;
  5145. //>>excludeEnd("ctx");
  5146. $6=$self._y();
  5147. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5148. $ctx1.sendIdx["y"]=1;
  5149. //>>excludeEnd("ctx");
  5150. $5=$recv($6).__slash($recv($recv(aPoint)._asPoint())._y());
  5151. return $recv($globals.Point)._x_y_($1,$5);
  5152. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5153. }, function($ctx1) {$ctx1.fill(self,"/",{aPoint:aPoint})});
  5154. //>>excludeEnd("ctx");
  5155. },
  5156. //>>excludeStart("ide", pragmas.excludeIdeData);
  5157. args: ["aPoint"],
  5158. source: "/ aPoint\x0a\x09^ Point x: self x / aPoint asPoint x y: self y / aPoint asPoint y",
  5159. referencedClasses: ["Point"],
  5160. //>>excludeEnd("ide");
  5161. pragmas: [],
  5162. messageSends: ["x:y:", "/", "x", "asPoint", "y"]
  5163. }),
  5164. $globals.Point);
  5165. $core.addMethod(
  5166. $core.method({
  5167. selector: "<",
  5168. protocol: "comparing",
  5169. fn: function (aPoint){
  5170. var self=this,$self=this;
  5171. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5172. return $core.withContext(function($ctx1) {
  5173. //>>excludeEnd("ctx");
  5174. var $2,$1,$3;
  5175. $2=$self._x();
  5176. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5177. $ctx1.sendIdx["x"]=1;
  5178. //>>excludeEnd("ctx");
  5179. $1=$recv($2).__lt($recv(aPoint)._x());
  5180. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5181. $ctx1.sendIdx["<"]=1;
  5182. //>>excludeEnd("ctx");
  5183. return $recv($1)._and_((function(){
  5184. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5185. return $core.withContext(function($ctx2) {
  5186. //>>excludeEnd("ctx");
  5187. $3=$self._y();
  5188. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5189. $ctx2.sendIdx["y"]=1;
  5190. //>>excludeEnd("ctx");
  5191. return $recv($3).__lt($recv(aPoint)._y());
  5192. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5193. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  5194. //>>excludeEnd("ctx");
  5195. }));
  5196. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5197. }, function($ctx1) {$ctx1.fill(self,"<",{aPoint:aPoint})});
  5198. //>>excludeEnd("ctx");
  5199. },
  5200. //>>excludeStart("ide", pragmas.excludeIdeData);
  5201. args: ["aPoint"],
  5202. source: "< aPoint\x0a\x09^ self x < aPoint x and: [\x0a\x09\x09self y < aPoint y ]",
  5203. referencedClasses: [],
  5204. //>>excludeEnd("ide");
  5205. pragmas: [],
  5206. messageSends: ["and:", "<", "x", "y"]
  5207. }),
  5208. $globals.Point);
  5209. $core.addMethod(
  5210. $core.method({
  5211. selector: "<=",
  5212. protocol: "comparing",
  5213. fn: function (aPoint){
  5214. var self=this,$self=this;
  5215. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5216. return $core.withContext(function($ctx1) {
  5217. //>>excludeEnd("ctx");
  5218. var $2,$1,$3;
  5219. $2=$self._x();
  5220. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5221. $ctx1.sendIdx["x"]=1;
  5222. //>>excludeEnd("ctx");
  5223. $1=$recv($2).__lt_eq($recv(aPoint)._x());
  5224. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5225. $ctx1.sendIdx["<="]=1;
  5226. //>>excludeEnd("ctx");
  5227. return $recv($1)._and_((function(){
  5228. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5229. return $core.withContext(function($ctx2) {
  5230. //>>excludeEnd("ctx");
  5231. $3=$self._y();
  5232. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5233. $ctx2.sendIdx["y"]=1;
  5234. //>>excludeEnd("ctx");
  5235. return $recv($3).__lt_eq($recv(aPoint)._y());
  5236. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5237. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  5238. //>>excludeEnd("ctx");
  5239. }));
  5240. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5241. }, function($ctx1) {$ctx1.fill(self,"<=",{aPoint:aPoint})});
  5242. //>>excludeEnd("ctx");
  5243. },
  5244. //>>excludeStart("ide", pragmas.excludeIdeData);
  5245. args: ["aPoint"],
  5246. source: "<= aPoint\x0a\x09^ self x <= aPoint x and: [\x0a\x09\x09self y <= aPoint y ]",
  5247. referencedClasses: [],
  5248. //>>excludeEnd("ide");
  5249. pragmas: [],
  5250. messageSends: ["and:", "<=", "x", "y"]
  5251. }),
  5252. $globals.Point);
  5253. $core.addMethod(
  5254. $core.method({
  5255. selector: "=",
  5256. protocol: "comparing",
  5257. fn: function (aPoint){
  5258. var self=this,$self=this;
  5259. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5260. return $core.withContext(function($ctx1) {
  5261. //>>excludeEnd("ctx");
  5262. var $2,$1,$4,$3,$6,$5;
  5263. $2=$recv(aPoint)._class();
  5264. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5265. $ctx1.sendIdx["class"]=1;
  5266. //>>excludeEnd("ctx");
  5267. $1=$recv($2).__eq($self._class());
  5268. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5269. $ctx1.sendIdx["="]=1;
  5270. //>>excludeEnd("ctx");
  5271. return $recv($1)._and_((function(){
  5272. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5273. return $core.withContext(function($ctx2) {
  5274. //>>excludeEnd("ctx");
  5275. $4=$recv(aPoint)._x();
  5276. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5277. $ctx2.sendIdx["x"]=1;
  5278. //>>excludeEnd("ctx");
  5279. $3=$recv($4).__eq($self._x());
  5280. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5281. $ctx2.sendIdx["="]=2;
  5282. //>>excludeEnd("ctx");
  5283. $6=$recv(aPoint)._y();
  5284. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5285. $ctx2.sendIdx["y"]=1;
  5286. //>>excludeEnd("ctx");
  5287. $5=$recv($6).__eq($self._y());
  5288. return $recv($3).__and($5);
  5289. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5290. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  5291. //>>excludeEnd("ctx");
  5292. }));
  5293. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5294. }, function($ctx1) {$ctx1.fill(self,"=",{aPoint:aPoint})});
  5295. //>>excludeEnd("ctx");
  5296. },
  5297. //>>excludeStart("ide", pragmas.excludeIdeData);
  5298. args: ["aPoint"],
  5299. source: "= aPoint\x0a\x09^ aPoint class = self class and: [\x0a\x09\x09(aPoint x = self x) & (aPoint y = self y) ]",
  5300. referencedClasses: [],
  5301. //>>excludeEnd("ide");
  5302. pragmas: [],
  5303. messageSends: ["and:", "=", "class", "&", "x", "y"]
  5304. }),
  5305. $globals.Point);
  5306. $core.addMethod(
  5307. $core.method({
  5308. selector: ">",
  5309. protocol: "comparing",
  5310. fn: function (aPoint){
  5311. var self=this,$self=this;
  5312. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5313. return $core.withContext(function($ctx1) {
  5314. //>>excludeEnd("ctx");
  5315. var $2,$1,$3;
  5316. $2=$self._x();
  5317. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5318. $ctx1.sendIdx["x"]=1;
  5319. //>>excludeEnd("ctx");
  5320. $1=$recv($2).__gt($recv(aPoint)._x());
  5321. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5322. $ctx1.sendIdx[">"]=1;
  5323. //>>excludeEnd("ctx");
  5324. return $recv($1)._and_((function(){
  5325. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5326. return $core.withContext(function($ctx2) {
  5327. //>>excludeEnd("ctx");
  5328. $3=$self._y();
  5329. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5330. $ctx2.sendIdx["y"]=1;
  5331. //>>excludeEnd("ctx");
  5332. return $recv($3).__gt($recv(aPoint)._y());
  5333. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5334. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  5335. //>>excludeEnd("ctx");
  5336. }));
  5337. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5338. }, function($ctx1) {$ctx1.fill(self,">",{aPoint:aPoint})});
  5339. //>>excludeEnd("ctx");
  5340. },
  5341. //>>excludeStart("ide", pragmas.excludeIdeData);
  5342. args: ["aPoint"],
  5343. source: "> aPoint\x0a\x09^ self x > aPoint x and: [\x0a\x09\x09self y > aPoint y ]",
  5344. referencedClasses: [],
  5345. //>>excludeEnd("ide");
  5346. pragmas: [],
  5347. messageSends: ["and:", ">", "x", "y"]
  5348. }),
  5349. $globals.Point);
  5350. $core.addMethod(
  5351. $core.method({
  5352. selector: ">=",
  5353. protocol: "comparing",
  5354. fn: function (aPoint){
  5355. var self=this,$self=this;
  5356. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5357. return $core.withContext(function($ctx1) {
  5358. //>>excludeEnd("ctx");
  5359. var $2,$1,$3;
  5360. $2=$self._x();
  5361. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5362. $ctx1.sendIdx["x"]=1;
  5363. //>>excludeEnd("ctx");
  5364. $1=$recv($2).__gt_eq($recv(aPoint)._x());
  5365. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5366. $ctx1.sendIdx[">="]=1;
  5367. //>>excludeEnd("ctx");
  5368. return $recv($1)._and_((function(){
  5369. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5370. return $core.withContext(function($ctx2) {
  5371. //>>excludeEnd("ctx");
  5372. $3=$self._y();
  5373. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5374. $ctx2.sendIdx["y"]=1;
  5375. //>>excludeEnd("ctx");
  5376. return $recv($3).__gt_eq($recv(aPoint)._y());
  5377. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5378. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  5379. //>>excludeEnd("ctx");
  5380. }));
  5381. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5382. }, function($ctx1) {$ctx1.fill(self,">=",{aPoint:aPoint})});
  5383. //>>excludeEnd("ctx");
  5384. },
  5385. //>>excludeStart("ide", pragmas.excludeIdeData);
  5386. args: ["aPoint"],
  5387. source: ">= aPoint\x0a\x09^ self x >= aPoint x and: [\x0a\x09\x09self y >= aPoint y ]",
  5388. referencedClasses: [],
  5389. //>>excludeEnd("ide");
  5390. pragmas: [],
  5391. messageSends: ["and:", ">=", "x", "y"]
  5392. }),
  5393. $globals.Point);
  5394. $core.addMethod(
  5395. $core.method({
  5396. selector: "angle",
  5397. protocol: "geometry",
  5398. fn: function (){
  5399. var self=this,$self=this;
  5400. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5401. return $core.withContext(function($ctx1) {
  5402. //>>excludeEnd("ctx");
  5403. return $recv($self._y())._arcTan_($self._x());
  5404. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5405. }, function($ctx1) {$ctx1.fill(self,"angle",{})});
  5406. //>>excludeEnd("ctx");
  5407. },
  5408. //>>excludeStart("ide", pragmas.excludeIdeData);
  5409. args: [],
  5410. source: "angle\x0a\x09^ self y arcTan: self x",
  5411. referencedClasses: [],
  5412. //>>excludeEnd("ide");
  5413. pragmas: [],
  5414. messageSends: ["arcTan:", "y", "x"]
  5415. }),
  5416. $globals.Point);
  5417. $core.addMethod(
  5418. $core.method({
  5419. selector: "asPoint",
  5420. protocol: "converting",
  5421. fn: function (){
  5422. var self=this,$self=this;
  5423. return self;
  5424. },
  5425. //>>excludeStart("ide", pragmas.excludeIdeData);
  5426. args: [],
  5427. source: "asPoint\x0a\x09^ self",
  5428. referencedClasses: [],
  5429. //>>excludeEnd("ide");
  5430. pragmas: [],
  5431. messageSends: []
  5432. }),
  5433. $globals.Point);
  5434. $core.addMethod(
  5435. $core.method({
  5436. selector: "corner:",
  5437. protocol: "rectangle creation",
  5438. fn: function (aPoint){
  5439. var self=this,$self=this;
  5440. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5441. return $core.withContext(function($ctx1) {
  5442. //>>excludeEnd("ctx");
  5443. return $recv($globals.Rectangle)._origin_corner_(self,aPoint);
  5444. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5445. }, function($ctx1) {$ctx1.fill(self,"corner:",{aPoint:aPoint})});
  5446. //>>excludeEnd("ctx");
  5447. },
  5448. //>>excludeStart("ide", pragmas.excludeIdeData);
  5449. args: ["aPoint"],
  5450. source: "corner: aPoint\x0a\x09^ Rectangle origin: self corner: aPoint",
  5451. referencedClasses: ["Rectangle"],
  5452. //>>excludeEnd("ide");
  5453. pragmas: [],
  5454. messageSends: ["origin:corner:"]
  5455. }),
  5456. $globals.Point);
  5457. $core.addMethod(
  5458. $core.method({
  5459. selector: "dist:",
  5460. protocol: "transforming",
  5461. fn: function (aPoint){
  5462. var self=this,$self=this;
  5463. var dx,dy;
  5464. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5465. return $core.withContext(function($ctx1) {
  5466. //>>excludeEnd("ctx");
  5467. var $2,$1;
  5468. dx=$recv($recv(aPoint)._x()).__minus($self.x);
  5469. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5470. $ctx1.sendIdx["-"]=1;
  5471. //>>excludeEnd("ctx");
  5472. dy=$recv($recv(aPoint)._y()).__minus($self.y);
  5473. $2=$recv(dx).__star(dx);
  5474. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5475. $ctx1.sendIdx["*"]=1;
  5476. //>>excludeEnd("ctx");
  5477. $1=$recv($2).__plus($recv(dy).__star(dy));
  5478. return $recv($1)._sqrt();
  5479. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5480. }, function($ctx1) {$ctx1.fill(self,"dist:",{aPoint:aPoint,dx:dx,dy:dy})});
  5481. //>>excludeEnd("ctx");
  5482. },
  5483. //>>excludeStart("ide", pragmas.excludeIdeData);
  5484. args: ["aPoint"],
  5485. source: "dist: aPoint \x0a\x09\x22Answer the distance between aPoint and the receiver.\x22\x0a\x09| dx dy |\x0a\x09dx := aPoint x - x.\x0a\x09dy := aPoint y - y.\x0a\x09^ (dx * dx + (dy * dy)) sqrt",
  5486. referencedClasses: [],
  5487. //>>excludeEnd("ide");
  5488. pragmas: [],
  5489. messageSends: ["-", "x", "y", "sqrt", "+", "*"]
  5490. }),
  5491. $globals.Point);
  5492. $core.addMethod(
  5493. $core.method({
  5494. selector: "dotProduct:",
  5495. protocol: "point functions",
  5496. fn: function (aPoint){
  5497. var self=this,$self=this;
  5498. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5499. return $core.withContext(function($ctx1) {
  5500. //>>excludeEnd("ctx");
  5501. var $1;
  5502. $1=$recv($self.x).__star($recv(aPoint)._x());
  5503. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5504. $ctx1.sendIdx["*"]=1;
  5505. //>>excludeEnd("ctx");
  5506. return $recv($1).__plus($recv($self.y).__star($recv(aPoint)._y()));
  5507. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5508. }, function($ctx1) {$ctx1.fill(self,"dotProduct:",{aPoint:aPoint})});
  5509. //>>excludeEnd("ctx");
  5510. },
  5511. //>>excludeStart("ide", pragmas.excludeIdeData);
  5512. args: ["aPoint"],
  5513. source: "dotProduct: aPoint\x0a\x09^ (x * aPoint x) + (y * aPoint y)",
  5514. referencedClasses: [],
  5515. //>>excludeEnd("ide");
  5516. pragmas: [],
  5517. messageSends: ["+", "*", "x", "y"]
  5518. }),
  5519. $globals.Point);
  5520. $core.addMethod(
  5521. $core.method({
  5522. selector: "extent:",
  5523. protocol: "rectangle creation",
  5524. fn: function (aPoint){
  5525. var self=this,$self=this;
  5526. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5527. return $core.withContext(function($ctx1) {
  5528. //>>excludeEnd("ctx");
  5529. return $recv($globals.Rectangle)._origin_extent_(self,aPoint);
  5530. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5531. }, function($ctx1) {$ctx1.fill(self,"extent:",{aPoint:aPoint})});
  5532. //>>excludeEnd("ctx");
  5533. },
  5534. //>>excludeStart("ide", pragmas.excludeIdeData);
  5535. args: ["aPoint"],
  5536. source: "extent: aPoint\x0a\x09^ Rectangle origin: self extent: aPoint",
  5537. referencedClasses: ["Rectangle"],
  5538. //>>excludeEnd("ide");
  5539. pragmas: [],
  5540. messageSends: ["origin:extent:"]
  5541. }),
  5542. $globals.Point);
  5543. $core.addMethod(
  5544. $core.method({
  5545. selector: "normal",
  5546. protocol: "point functions",
  5547. fn: function (){
  5548. var self=this,$self=this;
  5549. var n,d;
  5550. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5551. return $core.withContext(function($ctx1) {
  5552. //>>excludeEnd("ctx");
  5553. var $4,$3,$6,$5,$2,$1;
  5554. n=$recv($recv($self.y)._negated()).__at($self.x);
  5555. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5556. $ctx1.sendIdx["@"]=1;
  5557. //>>excludeEnd("ctx");
  5558. $4=$recv(n)._x();
  5559. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5560. $ctx1.sendIdx["x"]=1;
  5561. //>>excludeEnd("ctx");
  5562. $3=$recv($4).__star($recv(n)._x());
  5563. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5564. $ctx1.sendIdx["*"]=1;
  5565. //>>excludeEnd("ctx");
  5566. $6=$recv(n)._y();
  5567. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5568. $ctx1.sendIdx["y"]=1;
  5569. //>>excludeEnd("ctx");
  5570. $5=$recv($6).__star($recv(n)._y());
  5571. d=$recv($3).__plus($5);
  5572. $2=d;
  5573. $1=$recv($2).__eq((0));
  5574. if($core.assert($1)){
  5575. return (-1).__at((0));
  5576. }
  5577. return $recv(n).__slash($recv(d)._sqrt());
  5578. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5579. }, function($ctx1) {$ctx1.fill(self,"normal",{n:n,d:d})});
  5580. //>>excludeEnd("ctx");
  5581. },
  5582. //>>excludeStart("ide", pragmas.excludeIdeData);
  5583. args: [],
  5584. source: "normal\x0a\x09\x22Answer a Point representing the unit vector rotated 90 deg clockwise. For the zero point return -1@0.\x22\x0a\x0a\x09| n d |\x0a\x09n := y negated @ x.\x0a\x09(d := (n x * n x + (n y * n y))) = 0\x0a\x09\x09 ifTrue: [ ^ -1 @0 ].\x0a\x09^ n / d sqrt",
  5585. referencedClasses: [],
  5586. //>>excludeEnd("ide");
  5587. pragmas: [],
  5588. messageSends: ["@", "negated", "ifTrue:", "=", "+", "*", "x", "y", "/", "sqrt"]
  5589. }),
  5590. $globals.Point);
  5591. $core.addMethod(
  5592. $core.method({
  5593. selector: "normalized",
  5594. protocol: "point functions",
  5595. fn: function (){
  5596. var self=this,$self=this;
  5597. var r;
  5598. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5599. return $core.withContext(function($ctx1) {
  5600. //>>excludeEnd("ctx");
  5601. var $1,$2,$3;
  5602. r=$self._r();
  5603. $1=$recv(r).__eq((0));
  5604. if($core.assert($1)){
  5605. $2=$recv($globals.Point)._x_y_((0),(0));
  5606. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5607. $ctx1.sendIdx["x:y:"]=1;
  5608. //>>excludeEnd("ctx");
  5609. return $2;
  5610. } else {
  5611. $3=$recv($self.x).__slash(r);
  5612. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5613. $ctx1.sendIdx["/"]=1;
  5614. //>>excludeEnd("ctx");
  5615. return $recv($globals.Point)._x_y_($3,$recv($self.y).__slash(r));
  5616. }
  5617. return self;
  5618. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5619. }, function($ctx1) {$ctx1.fill(self,"normalized",{r:r})});
  5620. //>>excludeEnd("ctx");
  5621. },
  5622. //>>excludeStart("ide", pragmas.excludeIdeData);
  5623. args: [],
  5624. source: "normalized\x0a\x09| r |\x0a\x09r := self r.\x0a\x09\x0a\x09r = 0\x0a\x09\x09ifTrue: [ ^ Point x: 0 y: 0 ]\x0a\x09\x09ifFalse: [ ^ Point x: x / r y: y / r ]",
  5625. referencedClasses: ["Point"],
  5626. //>>excludeEnd("ide");
  5627. pragmas: [],
  5628. messageSends: ["r", "ifTrue:ifFalse:", "=", "x:y:", "/"]
  5629. }),
  5630. $globals.Point);
  5631. $core.addMethod(
  5632. $core.method({
  5633. selector: "printOn:",
  5634. protocol: "printing",
  5635. fn: function (aStream){
  5636. var self=this,$self=this;
  5637. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5638. return $core.withContext(function($ctx1) {
  5639. //>>excludeEnd("ctx");
  5640. var $1;
  5641. $recv($self.x)._printOn_(aStream);
  5642. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5643. $ctx1.sendIdx["printOn:"]=1;
  5644. //>>excludeEnd("ctx");
  5645. $recv(aStream)._nextPutAll_("@");
  5646. $1=$recv($recv($self.y)._notNil())._and_((function(){
  5647. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5648. return $core.withContext(function($ctx2) {
  5649. //>>excludeEnd("ctx");
  5650. return $recv($self.y)._negative();
  5651. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5652. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  5653. //>>excludeEnd("ctx");
  5654. }));
  5655. if($core.assert($1)){
  5656. $recv(aStream)._space();
  5657. }
  5658. $recv($self.y)._printOn_(aStream);
  5659. return self;
  5660. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5661. }, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream})});
  5662. //>>excludeEnd("ctx");
  5663. },
  5664. //>>excludeStart("ide", pragmas.excludeIdeData);
  5665. args: ["aStream"],
  5666. source: "printOn: aStream\x0a\x09\x22Print receiver in classic x@y notation.\x22\x0a\x0a\x09x printOn: aStream.\x0a\x09\x0a\x09aStream nextPutAll: '@'.\x0a\x09(y notNil and: [ y negative ]) ifTrue: [\x0a\x09\x09\x09\x22Avoid ambiguous @- construct\x22\x0a\x09\x09\x09aStream space ].\x0a\x09\x0a\x09y printOn: aStream",
  5667. referencedClasses: [],
  5668. //>>excludeEnd("ide");
  5669. pragmas: [],
  5670. messageSends: ["printOn:", "nextPutAll:", "ifTrue:", "and:", "notNil", "negative", "space"]
  5671. }),
  5672. $globals.Point);
  5673. $core.addMethod(
  5674. $core.method({
  5675. selector: "r",
  5676. protocol: "polar coordinates",
  5677. fn: function (){
  5678. var self=this,$self=this;
  5679. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5680. return $core.withContext(function($ctx1) {
  5681. //>>excludeEnd("ctx");
  5682. var $2,$1;
  5683. $2=$recv($self.x).__star($self.x);
  5684. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5685. $ctx1.sendIdx["*"]=1;
  5686. //>>excludeEnd("ctx");
  5687. $1=$recv($2).__plus($recv($self.y).__star($self.y));
  5688. return $recv($1)._sqrt();
  5689. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5690. }, function($ctx1) {$ctx1.fill(self,"r",{})});
  5691. //>>excludeEnd("ctx");
  5692. },
  5693. //>>excludeStart("ide", pragmas.excludeIdeData);
  5694. args: [],
  5695. source: "r\x0a\x09^ ((x * x) + (y * y)) sqrt",
  5696. referencedClasses: [],
  5697. //>>excludeEnd("ide");
  5698. pragmas: [],
  5699. messageSends: ["sqrt", "+", "*"]
  5700. }),
  5701. $globals.Point);
  5702. $core.addMethod(
  5703. $core.method({
  5704. selector: "rectangle:",
  5705. protocol: "rectangle creation",
  5706. fn: function (aPoint){
  5707. var self=this,$self=this;
  5708. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5709. return $core.withContext(function($ctx1) {
  5710. //>>excludeEnd("ctx");
  5711. return $recv($globals.Rectangle)._point_point_(self,aPoint);
  5712. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5713. }, function($ctx1) {$ctx1.fill(self,"rectangle:",{aPoint:aPoint})});
  5714. //>>excludeEnd("ctx");
  5715. },
  5716. //>>excludeStart("ide", pragmas.excludeIdeData);
  5717. args: ["aPoint"],
  5718. source: "rectangle: aPoint\x0a\x09^ Rectangle point: self point: aPoint",
  5719. referencedClasses: ["Rectangle"],
  5720. //>>excludeEnd("ide");
  5721. pragmas: [],
  5722. messageSends: ["point:point:"]
  5723. }),
  5724. $globals.Point);
  5725. $core.addMethod(
  5726. $core.method({
  5727. selector: "translateBy:",
  5728. protocol: "transforming",
  5729. fn: function (delta){
  5730. var self=this,$self=this;
  5731. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5732. return $core.withContext(function($ctx1) {
  5733. //>>excludeEnd("ctx");
  5734. var $1;
  5735. $1=$recv($recv(delta)._x()).__plus($self.x);
  5736. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5737. $ctx1.sendIdx["+"]=1;
  5738. //>>excludeEnd("ctx");
  5739. return $recv($1).__at($recv($recv(delta)._y()).__plus($self.y));
  5740. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5741. }, function($ctx1) {$ctx1.fill(self,"translateBy:",{delta:delta})});
  5742. //>>excludeEnd("ctx");
  5743. },
  5744. //>>excludeStart("ide", pragmas.excludeIdeData);
  5745. args: ["delta"],
  5746. source: "translateBy: delta\x0a\x09\x22Answer a Point translated by delta (an instance of Point).\x22\x0a\x09^ (delta x + x) @ (delta y + y)",
  5747. referencedClasses: [],
  5748. //>>excludeEnd("ide");
  5749. pragmas: [],
  5750. messageSends: ["@", "+", "x", "y"]
  5751. }),
  5752. $globals.Point);
  5753. $core.addMethod(
  5754. $core.method({
  5755. selector: "x",
  5756. protocol: "accessing",
  5757. fn: function (){
  5758. var self=this,$self=this;
  5759. return $self.x;
  5760. },
  5761. //>>excludeStart("ide", pragmas.excludeIdeData);
  5762. args: [],
  5763. source: "x\x0a\x09^ x",
  5764. referencedClasses: [],
  5765. //>>excludeEnd("ide");
  5766. pragmas: [],
  5767. messageSends: []
  5768. }),
  5769. $globals.Point);
  5770. $core.addMethod(
  5771. $core.method({
  5772. selector: "x:",
  5773. protocol: "accessing",
  5774. fn: function (aNumber){
  5775. var self=this,$self=this;
  5776. $self.x=aNumber;
  5777. return self;
  5778. },
  5779. //>>excludeStart("ide", pragmas.excludeIdeData);
  5780. args: ["aNumber"],
  5781. source: "x: aNumber\x0a\x09x := aNumber",
  5782. referencedClasses: [],
  5783. //>>excludeEnd("ide");
  5784. pragmas: [],
  5785. messageSends: []
  5786. }),
  5787. $globals.Point);
  5788. $core.addMethod(
  5789. $core.method({
  5790. selector: "y",
  5791. protocol: "accessing",
  5792. fn: function (){
  5793. var self=this,$self=this;
  5794. return $self.y;
  5795. },
  5796. //>>excludeStart("ide", pragmas.excludeIdeData);
  5797. args: [],
  5798. source: "y\x0a\x09^ y",
  5799. referencedClasses: [],
  5800. //>>excludeEnd("ide");
  5801. pragmas: [],
  5802. messageSends: []
  5803. }),
  5804. $globals.Point);
  5805. $core.addMethod(
  5806. $core.method({
  5807. selector: "y:",
  5808. protocol: "accessing",
  5809. fn: function (aNumber){
  5810. var self=this,$self=this;
  5811. $self.y=aNumber;
  5812. return self;
  5813. },
  5814. //>>excludeStart("ide", pragmas.excludeIdeData);
  5815. args: ["aNumber"],
  5816. source: "y: aNumber\x0a\x09y := aNumber",
  5817. referencedClasses: [],
  5818. //>>excludeEnd("ide");
  5819. pragmas: [],
  5820. messageSends: []
  5821. }),
  5822. $globals.Point);
  5823. $core.addMethod(
  5824. $core.method({
  5825. selector: "classTag",
  5826. protocol: "accessing",
  5827. fn: function (){
  5828. var self=this,$self=this;
  5829. return "magnitude";
  5830. },
  5831. //>>excludeStart("ide", pragmas.excludeIdeData);
  5832. args: [],
  5833. source: "classTag\x0a\x09\x22Returns a tag or general category for this class.\x0a\x09Typically used to help tools do some reflection.\x0a\x09Helios, for example, uses this to decide what icon the class should display.\x22\x0a\x09\x0a\x09^ 'magnitude'",
  5834. referencedClasses: [],
  5835. //>>excludeEnd("ide");
  5836. pragmas: [],
  5837. messageSends: []
  5838. }),
  5839. $globals.Point.a$cls);
  5840. $core.addMethod(
  5841. $core.method({
  5842. selector: "x:y:",
  5843. protocol: "instance creation",
  5844. fn: function (aNumber,anotherNumber){
  5845. var self=this,$self=this;
  5846. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5847. return $core.withContext(function($ctx1) {
  5848. //>>excludeEnd("ctx");
  5849. var $1;
  5850. $1=$self._new();
  5851. $recv($1)._x_(aNumber);
  5852. $recv($1)._y_(anotherNumber);
  5853. return $recv($1)._yourself();
  5854. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5855. }, function($ctx1) {$ctx1.fill(self,"x:y:",{aNumber:aNumber,anotherNumber:anotherNumber})});
  5856. //>>excludeEnd("ctx");
  5857. },
  5858. //>>excludeStart("ide", pragmas.excludeIdeData);
  5859. args: ["aNumber", "anotherNumber"],
  5860. source: "x: aNumber y: anotherNumber\x0a\x09^ self new\x0a\x09\x09x: aNumber;\x0a\x09\x09y: anotherNumber;\x0a\x09\x09yourself",
  5861. referencedClasses: [],
  5862. //>>excludeEnd("ide");
  5863. pragmas: [],
  5864. messageSends: ["x:", "new", "y:", "yourself"]
  5865. }),
  5866. $globals.Point.a$cls);
  5867. $core.addClass("Random", $globals.Object, [], "Kernel-Objects");
  5868. //>>excludeStart("ide", pragmas.excludeIdeData);
  5869. $globals.Random.comment="I an used to generate a random number and I am implemented as a trivial wrapper around javascript `Math.random()`.\x0a\x0a## API\x0a\x0aThe typical use case it to use the `#next` method like the following:\x0a\x0a\x09Random new next\x0a\x0aThis will return a float x where x < 1 and x > 0. If you want a random integer from 1 to 10 you can use `#atRandom`\x0a\x0a\x0910 atRandom\x0a\x0aA random number in a specific interval can be obtained with the following:\x0a\x0a\x09(3 to: 7) atRandom\x0a\x0aBe aware that `#to:` does not create an Interval as in other Smalltalk implementations but in fact an `Array` of numbers, so it's better to use:\x0a\x0a\x095 atRandom + 2\x0a\x0aSince `#atRandom` is implemented in `SequencableCollection` you can easy pick an element at random:\x0a\x0a\x09#('a' 'b' 'c') atRandom\x0a\x0aAs well as letter from a `String`:\x0a\x0a\x09'abc' atRandom\x0a\x0aSince Amber does not have Characters this will return a `String` of length 1 like for example `'b'`.";
  5870. //>>excludeEnd("ide");
  5871. $core.addMethod(
  5872. $core.method({
  5873. selector: "next",
  5874. protocol: "accessing",
  5875. fn: function (){
  5876. var self=this,$self=this;
  5877. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5878. return $core.withContext(function($ctx1) {
  5879. //>>excludeEnd("ctx");
  5880. return Math.random();
  5881. return self;
  5882. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5883. }, function($ctx1) {$ctx1.fill(self,"next",{})});
  5884. //>>excludeEnd("ctx");
  5885. },
  5886. //>>excludeStart("ide", pragmas.excludeIdeData);
  5887. args: [],
  5888. source: "next\x0a\x09<inlineJS: 'return Math.random()'>",
  5889. referencedClasses: [],
  5890. //>>excludeEnd("ide");
  5891. pragmas: [["inlineJS:", ["return Math.random()"]]],
  5892. messageSends: []
  5893. }),
  5894. $globals.Random);
  5895. $core.addMethod(
  5896. $core.method({
  5897. selector: "next:",
  5898. protocol: "accessing",
  5899. fn: function (anInteger){
  5900. var self=this,$self=this;
  5901. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5902. return $core.withContext(function($ctx1) {
  5903. //>>excludeEnd("ctx");
  5904. return $recv((1)._to_(anInteger))._collect_((function(each){
  5905. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5906. return $core.withContext(function($ctx2) {
  5907. //>>excludeEnd("ctx");
  5908. return $self._next();
  5909. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5910. }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)});
  5911. //>>excludeEnd("ctx");
  5912. }));
  5913. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5914. }, function($ctx1) {$ctx1.fill(self,"next:",{anInteger:anInteger})});
  5915. //>>excludeEnd("ctx");
  5916. },
  5917. //>>excludeStart("ide", pragmas.excludeIdeData);
  5918. args: ["anInteger"],
  5919. source: "next: anInteger\x0a\x09^ (1 to: anInteger) collect: [ :each | self next ]",
  5920. referencedClasses: [],
  5921. //>>excludeEnd("ide");
  5922. pragmas: [],
  5923. messageSends: ["collect:", "to:", "next"]
  5924. }),
  5925. $globals.Random);
  5926. $core.addClass("Rectangle", $globals.Object, ["origin", "corner"], "Kernel-Objects");
  5927. //>>excludeStart("ide", pragmas.excludeIdeData);
  5928. $globals.Rectangle.comment="I represent a Rectangle defined by my two corners.\x0a\x0aThe simplest way to create an instance is using Point methods:\x0a\x0a 1@1 corner: 2@2\x0a\x0aWIll create a rectangle with 1@1 as the top left and 2@2 at the bottom right.\x0a\x0a 1@1 extent: 1@1\x0a\x0aWill create the same rectangle, defining an origin and a size instead of an origin and a corner.";
  5929. //>>excludeEnd("ide");
  5930. $core.addMethod(
  5931. $core.method({
  5932. selector: "=",
  5933. protocol: "testing",
  5934. fn: function (aRectangle){
  5935. var self=this,$self=this;
  5936. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5937. return $core.withContext(function($ctx1) {
  5938. //>>excludeEnd("ctx");
  5939. var $1;
  5940. $1=$recv($self.origin).__eq($recv(aRectangle)._origin());
  5941. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5942. $ctx1.sendIdx["="]=1;
  5943. //>>excludeEnd("ctx");
  5944. return $recv($1)._and_((function(){
  5945. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5946. return $core.withContext(function($ctx2) {
  5947. //>>excludeEnd("ctx");
  5948. return $recv($self.corner).__eq($recv(aRectangle)._corner());
  5949. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5950. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  5951. //>>excludeEnd("ctx");
  5952. }));
  5953. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5954. }, function($ctx1) {$ctx1.fill(self,"=",{aRectangle:aRectangle})});
  5955. //>>excludeEnd("ctx");
  5956. },
  5957. //>>excludeStart("ide", pragmas.excludeIdeData);
  5958. args: ["aRectangle"],
  5959. source: "= aRectangle\x0a\x09^ origin = aRectangle origin and: [ corner = aRectangle corner ]",
  5960. referencedClasses: [],
  5961. //>>excludeEnd("ide");
  5962. pragmas: [],
  5963. messageSends: ["and:", "=", "origin", "corner"]
  5964. }),
  5965. $globals.Rectangle);
  5966. $core.addMethod(
  5967. $core.method({
  5968. selector: "containsPoint:",
  5969. protocol: "testing",
  5970. fn: function (aPoint){
  5971. var self=this,$self=this;
  5972. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5973. return $core.withContext(function($ctx1) {
  5974. //>>excludeEnd("ctx");
  5975. return $recv($recv($self.origin).__lt_eq(aPoint))._and_((function(){
  5976. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5977. return $core.withContext(function($ctx2) {
  5978. //>>excludeEnd("ctx");
  5979. return $recv($self.corner).__gt_eq(aPoint);
  5980. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5981. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  5982. //>>excludeEnd("ctx");
  5983. }));
  5984. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  5985. }, function($ctx1) {$ctx1.fill(self,"containsPoint:",{aPoint:aPoint})});
  5986. //>>excludeEnd("ctx");
  5987. },
  5988. //>>excludeStart("ide", pragmas.excludeIdeData);
  5989. args: ["aPoint"],
  5990. source: "containsPoint: aPoint\x0a\x09^ origin <= aPoint and: [ corner >= aPoint ]",
  5991. referencedClasses: [],
  5992. //>>excludeEnd("ide");
  5993. pragmas: [],
  5994. messageSends: ["and:", "<=", ">="]
  5995. }),
  5996. $globals.Rectangle);
  5997. $core.addMethod(
  5998. $core.method({
  5999. selector: "containsRect:",
  6000. protocol: "testing",
  6001. fn: function (aRect){
  6002. var self=this,$self=this;
  6003. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6004. return $core.withContext(function($ctx1) {
  6005. //>>excludeEnd("ctx");
  6006. return $recv($recv($recv(aRect)._origin()).__gt_eq($self.origin))._and_((function(){
  6007. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6008. return $core.withContext(function($ctx2) {
  6009. //>>excludeEnd("ctx");
  6010. return $recv($recv(aRect)._corner()).__lt_eq($self.corner);
  6011. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6012. }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
  6013. //>>excludeEnd("ctx");
  6014. }));
  6015. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6016. }, function($ctx1) {$ctx1.fill(self,"containsRect:",{aRect:aRect})});
  6017. //>>excludeEnd("ctx");
  6018. },
  6019. //>>excludeStart("ide", pragmas.excludeIdeData);
  6020. args: ["aRect"],
  6021. source: "containsRect: aRect\x0a\x09^ aRect origin >= origin and: [ aRect corner <= corner ]",
  6022. referencedClasses: [],
  6023. //>>excludeEnd("ide");
  6024. pragmas: [],
  6025. messageSends: ["and:", ">=", "origin", "<=", "corner"]
  6026. }),
  6027. $globals.Rectangle);
  6028. $core.addMethod(
  6029. $core.method({
  6030. selector: "corner",
  6031. protocol: "accessing",
  6032. fn: function (){
  6033. var self=this,$self=this;
  6034. return $self.corner;
  6035. },
  6036. //>>excludeStart("ide", pragmas.excludeIdeData);
  6037. args: [],
  6038. source: "corner\x0a\x09^ corner",
  6039. referencedClasses: [],
  6040. //>>excludeEnd("ide");
  6041. pragmas: [],
  6042. messageSends: []
  6043. }),
  6044. $globals.Rectangle);
  6045. $core.addMethod(
  6046. $core.method({
  6047. selector: "origin",
  6048. protocol: "accessing",
  6049. fn: function (){
  6050. var self=this,$self=this;
  6051. return $self.origin;
  6052. },
  6053. //>>excludeStart("ide", pragmas.excludeIdeData);
  6054. args: [],
  6055. source: "origin\x0a\x09^ origin",
  6056. referencedClasses: [],
  6057. //>>excludeEnd("ide");
  6058. pragmas: [],
  6059. messageSends: []
  6060. }),
  6061. $globals.Rectangle);
  6062. $core.addMethod(
  6063. $core.method({
  6064. selector: "printOn:",
  6065. protocol: "testing",
  6066. fn: function (aStream){
  6067. var self=this,$self=this;
  6068. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6069. return $core.withContext(function($ctx1) {
  6070. //>>excludeEnd("ctx");
  6071. $recv($self.origin)._printOn_(aStream);
  6072. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6073. $ctx1.sendIdx["printOn:"]=1;
  6074. //>>excludeEnd("ctx");
  6075. $recv(aStream)._nextPutAll_(" corner: ");
  6076. $recv($self.corner)._printOn_(aStream);
  6077. return self;
  6078. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6079. }, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream})});
  6080. //>>excludeEnd("ctx");
  6081. },
  6082. //>>excludeStart("ide", pragmas.excludeIdeData);
  6083. args: ["aStream"],
  6084. source: "printOn: aStream\x0a\x09origin printOn: aStream.\x0a\x09aStream nextPutAll: ' corner: '.\x0a\x09corner printOn: aStream.",
  6085. referencedClasses: [],
  6086. //>>excludeEnd("ide");
  6087. pragmas: [],
  6088. messageSends: ["printOn:", "nextPutAll:"]
  6089. }),
  6090. $globals.Rectangle);
  6091. $core.addMethod(
  6092. $core.method({
  6093. selector: "setPoint:point:",
  6094. protocol: "private",
  6095. fn: function (pt1,pt2){
  6096. var self=this,$self=this;
  6097. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6098. return $core.withContext(function($ctx1) {
  6099. //>>excludeEnd("ctx");
  6100. var $2,$3,$1,$5,$6,$4,$8,$7,$10,$9;
  6101. $2=$recv(pt1)._x();
  6102. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6103. $ctx1.sendIdx["x"]=1;
  6104. //>>excludeEnd("ctx");
  6105. $3=$recv(pt2)._x();
  6106. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6107. $ctx1.sendIdx["x"]=2;
  6108. //>>excludeEnd("ctx");
  6109. $1=$recv($2)._min_($3);
  6110. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6111. $ctx1.sendIdx["min:"]=1;
  6112. //>>excludeEnd("ctx");
  6113. $5=$recv(pt1)._y();
  6114. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6115. $ctx1.sendIdx["y"]=1;
  6116. //>>excludeEnd("ctx");
  6117. $6=$recv(pt2)._y();
  6118. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6119. $ctx1.sendIdx["y"]=2;
  6120. //>>excludeEnd("ctx");
  6121. $4=$recv($5)._min_($6);
  6122. $self.origin=$recv($1).__at($4);
  6123. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6124. $ctx1.sendIdx["@"]=1;
  6125. //>>excludeEnd("ctx");
  6126. $8=$recv(pt1)._x();
  6127. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6128. $ctx1.sendIdx["x"]=3;
  6129. //>>excludeEnd("ctx");
  6130. $7=$recv($8)._max_($recv(pt2)._x());
  6131. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6132. $ctx1.sendIdx["max:"]=1;
  6133. //>>excludeEnd("ctx");
  6134. $10=$recv(pt1)._y();
  6135. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6136. $ctx1.sendIdx["y"]=3;
  6137. //>>excludeEnd("ctx");
  6138. $9=$recv($10)._max_($recv(pt2)._y());
  6139. $self.corner=$recv($7).__at($9);
  6140. return self;
  6141. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6142. }, function($ctx1) {$ctx1.fill(self,"setPoint:point:",{pt1:pt1,pt2:pt2})});
  6143. //>>excludeEnd("ctx");
  6144. },
  6145. //>>excludeStart("ide", pragmas.excludeIdeData);
  6146. args: ["pt1", "pt2"],
  6147. source: "setPoint: pt1 point: pt2\x0a\x0a\x09origin := (pt1 x min: pt2 x)@(pt1 y min: pt2 y).\x0a\x09corner := (pt1 x max: pt2 x)@(pt1 y max: pt2 y).",
  6148. referencedClasses: [],
  6149. //>>excludeEnd("ide");
  6150. pragmas: [],
  6151. messageSends: ["@", "min:", "x", "y", "max:"]
  6152. }),
  6153. $globals.Rectangle);
  6154. $core.addMethod(
  6155. $core.method({
  6156. selector: "origin:corner:",
  6157. protocol: "instance creation",
  6158. fn: function (anOrigin,aCorner){
  6159. var self=this,$self=this;
  6160. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6161. return $core.withContext(function($ctx1) {
  6162. //>>excludeEnd("ctx");
  6163. return $recv($self._basicNew())._setPoint_point_(anOrigin,aCorner);
  6164. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6165. }, function($ctx1) {$ctx1.fill(self,"origin:corner:",{anOrigin:anOrigin,aCorner:aCorner})});
  6166. //>>excludeEnd("ctx");
  6167. },
  6168. //>>excludeStart("ide", pragmas.excludeIdeData);
  6169. args: ["anOrigin", "aCorner"],
  6170. source: "origin: anOrigin corner: aCorner\x0a\x09^ self basicNew setPoint: anOrigin point: aCorner.",
  6171. referencedClasses: [],
  6172. //>>excludeEnd("ide");
  6173. pragmas: [],
  6174. messageSends: ["setPoint:point:", "basicNew"]
  6175. }),
  6176. $globals.Rectangle.a$cls);
  6177. $core.addMethod(
  6178. $core.method({
  6179. selector: "origin:extent:",
  6180. protocol: "instance creation",
  6181. fn: function (anOrigin,anExtent){
  6182. var self=this,$self=this;
  6183. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6184. return $core.withContext(function($ctx1) {
  6185. //>>excludeEnd("ctx");
  6186. return $recv($self._basicNew())._setPoint_point_(anOrigin,$recv(anOrigin).__plus(anExtent));
  6187. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6188. }, function($ctx1) {$ctx1.fill(self,"origin:extent:",{anOrigin:anOrigin,anExtent:anExtent})});
  6189. //>>excludeEnd("ctx");
  6190. },
  6191. //>>excludeStart("ide", pragmas.excludeIdeData);
  6192. args: ["anOrigin", "anExtent"],
  6193. source: "origin: anOrigin extent: anExtent\x0a\x09^ self basicNew setPoint: anOrigin point: anOrigin + anExtent.",
  6194. referencedClasses: [],
  6195. //>>excludeEnd("ide");
  6196. pragmas: [],
  6197. messageSends: ["setPoint:point:", "basicNew", "+"]
  6198. }),
  6199. $globals.Rectangle.a$cls);
  6200. $core.addMethod(
  6201. $core.method({
  6202. selector: "point:point:",
  6203. protocol: "instance creation",
  6204. fn: function (anOrigin,aCorner){
  6205. var self=this,$self=this;
  6206. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6207. return $core.withContext(function($ctx1) {
  6208. //>>excludeEnd("ctx");
  6209. return $recv($self._basicNew())._setPoint_point_(anOrigin,aCorner);
  6210. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6211. }, function($ctx1) {$ctx1.fill(self,"point:point:",{anOrigin:anOrigin,aCorner:aCorner})});
  6212. //>>excludeEnd("ctx");
  6213. },
  6214. //>>excludeStart("ide", pragmas.excludeIdeData);
  6215. args: ["anOrigin", "aCorner"],
  6216. source: "point: anOrigin point: aCorner\x0a\x09^ self basicNew setPoint: anOrigin point: aCorner.",
  6217. referencedClasses: [],
  6218. //>>excludeEnd("ide");
  6219. pragmas: [],
  6220. messageSends: ["setPoint:point:", "basicNew"]
  6221. }),
  6222. $globals.Rectangle.a$cls);
  6223. $core.addClass("UndefinedObject", $globals.Object, [], "Kernel-Objects");
  6224. //>>excludeStart("ide", pragmas.excludeIdeData);
  6225. $globals.UndefinedObject.comment="I describe the behavior of my sole instance, `nil`. `nil` represents a prior value for variables that have not been initialized, or for results which are meaningless.\x0a\x0a`nil` is the Smalltalk equivalent of the `undefined` JavaScript object.\x0a\x0a__note:__ When sending messages to the `undefined` JavaScript object, it will be replaced by `nil`.";
  6226. //>>excludeEnd("ide");
  6227. $core.addMethod(
  6228. $core.method({
  6229. selector: "==",
  6230. protocol: "testing",
  6231. fn: function (anObject){
  6232. var self=this,$self=this;
  6233. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6234. return $core.withContext(function($ctx1) {
  6235. //>>excludeEnd("ctx");
  6236. return $recv(anObject)._isNil();
  6237. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6238. }, function($ctx1) {$ctx1.fill(self,"==",{anObject:anObject})});
  6239. //>>excludeEnd("ctx");
  6240. },
  6241. //>>excludeStart("ide", pragmas.excludeIdeData);
  6242. args: ["anObject"],
  6243. source: "== anObject\x0a\x09^ anObject isNil",
  6244. referencedClasses: [],
  6245. //>>excludeEnd("ide");
  6246. pragmas: [],
  6247. messageSends: ["isNil"]
  6248. }),
  6249. $globals.UndefinedObject);
  6250. $core.addMethod(
  6251. $core.method({
  6252. selector: "asJavaScriptObject",
  6253. protocol: "converting",
  6254. fn: function (){
  6255. var self=this,$self=this;
  6256. return null;
  6257. },
  6258. //>>excludeStart("ide", pragmas.excludeIdeData);
  6259. args: [],
  6260. source: "asJavaScriptObject\x0a\x09^ null",
  6261. referencedClasses: [],
  6262. //>>excludeEnd("ide");
  6263. pragmas: [],
  6264. messageSends: []
  6265. }),
  6266. $globals.UndefinedObject);
  6267. $core.addMethod(
  6268. $core.method({
  6269. selector: "deepCopy",
  6270. protocol: "copying",
  6271. fn: function (){
  6272. var self=this,$self=this;
  6273. return self;
  6274. },
  6275. //>>excludeStart("ide", pragmas.excludeIdeData);
  6276. args: [],
  6277. source: "deepCopy\x0a\x09^ self",
  6278. referencedClasses: [],
  6279. //>>excludeEnd("ide");
  6280. pragmas: [],
  6281. messageSends: []
  6282. }),
  6283. $globals.UndefinedObject);
  6284. $core.addMethod(
  6285. $core.method({
  6286. selector: "identityHash",
  6287. protocol: "accessing",
  6288. fn: function (){
  6289. var self=this,$self=this;
  6290. return "NIL";
  6291. },
  6292. //>>excludeStart("ide", pragmas.excludeIdeData);
  6293. args: [],
  6294. source: "identityHash\x0a\x09^ 'NIL'",
  6295. referencedClasses: [],
  6296. //>>excludeEnd("ide");
  6297. pragmas: [],
  6298. messageSends: []
  6299. }),
  6300. $globals.UndefinedObject);
  6301. $core.addMethod(
  6302. $core.method({
  6303. selector: "ifNil:",
  6304. protocol: "testing",
  6305. fn: function (aBlock){
  6306. var self=this,$self=this;
  6307. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6308. return $core.withContext(function($ctx1) {
  6309. //>>excludeEnd("ctx");
  6310. return $self._ifNil_ifNotNil_(aBlock,(function(){
  6311. }));
  6312. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6313. }, function($ctx1) {$ctx1.fill(self,"ifNil:",{aBlock:aBlock})});
  6314. //>>excludeEnd("ctx");
  6315. },
  6316. //>>excludeStart("ide", pragmas.excludeIdeData);
  6317. args: ["aBlock"],
  6318. source: "ifNil: aBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09^ self ifNil: aBlock ifNotNil: []",
  6319. referencedClasses: [],
  6320. //>>excludeEnd("ide");
  6321. pragmas: [],
  6322. messageSends: ["ifNil:ifNotNil:"]
  6323. }),
  6324. $globals.UndefinedObject);
  6325. $core.addMethod(
  6326. $core.method({
  6327. selector: "ifNil:ifNotNil:",
  6328. protocol: "testing",
  6329. fn: function (aBlock,anotherBlock){
  6330. var self=this,$self=this;
  6331. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6332. return $core.withContext(function($ctx1) {
  6333. //>>excludeEnd("ctx");
  6334. return $recv(aBlock)._value();
  6335. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6336. }, function($ctx1) {$ctx1.fill(self,"ifNil:ifNotNil:",{aBlock:aBlock,anotherBlock:anotherBlock})});
  6337. //>>excludeEnd("ctx");
  6338. },
  6339. //>>excludeStart("ide", pragmas.excludeIdeData);
  6340. args: ["aBlock", "anotherBlock"],
  6341. source: "ifNil: aBlock ifNotNil: anotherBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09^ aBlock value",
  6342. referencedClasses: [],
  6343. //>>excludeEnd("ide");
  6344. pragmas: [],
  6345. messageSends: ["value"]
  6346. }),
  6347. $globals.UndefinedObject);
  6348. $core.addMethod(
  6349. $core.method({
  6350. selector: "ifNotNil:",
  6351. protocol: "testing",
  6352. fn: function (aBlock){
  6353. var self=this,$self=this;
  6354. return self;
  6355. },
  6356. //>>excludeStart("ide", pragmas.excludeIdeData);
  6357. args: ["aBlock"],
  6358. source: "ifNotNil: aBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09^ self",
  6359. referencedClasses: [],
  6360. //>>excludeEnd("ide");
  6361. pragmas: [],
  6362. messageSends: []
  6363. }),
  6364. $globals.UndefinedObject);
  6365. $core.addMethod(
  6366. $core.method({
  6367. selector: "ifNotNil:ifNil:",
  6368. protocol: "testing",
  6369. fn: function (aBlock,anotherBlock){
  6370. var self=this,$self=this;
  6371. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6372. return $core.withContext(function($ctx1) {
  6373. //>>excludeEnd("ctx");
  6374. return $recv(anotherBlock)._value();
  6375. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6376. }, function($ctx1) {$ctx1.fill(self,"ifNotNil:ifNil:",{aBlock:aBlock,anotherBlock:anotherBlock})});
  6377. //>>excludeEnd("ctx");
  6378. },
  6379. //>>excludeStart("ide", pragmas.excludeIdeData);
  6380. args: ["aBlock", "anotherBlock"],
  6381. source: "ifNotNil: aBlock ifNil: anotherBlock\x0a\x09\x22inlined in the Compiler\x22\x0a\x09^ anotherBlock value",
  6382. referencedClasses: [],
  6383. //>>excludeEnd("ide");
  6384. pragmas: [],
  6385. messageSends: ["value"]
  6386. }),
  6387. $globals.UndefinedObject);
  6388. $core.addMethod(
  6389. $core.method({
  6390. selector: "isImmutable",
  6391. protocol: "testing",
  6392. fn: function (){
  6393. var self=this,$self=this;
  6394. return true;
  6395. },
  6396. //>>excludeStart("ide", pragmas.excludeIdeData);
  6397. args: [],
  6398. source: "isImmutable\x0a\x09^ true",
  6399. referencedClasses: [],
  6400. //>>excludeEnd("ide");
  6401. pragmas: [],
  6402. messageSends: []
  6403. }),
  6404. $globals.UndefinedObject);
  6405. $core.addMethod(
  6406. $core.method({
  6407. selector: "isNil",
  6408. protocol: "testing",
  6409. fn: function (){
  6410. var self=this,$self=this;
  6411. return true;
  6412. },
  6413. //>>excludeStart("ide", pragmas.excludeIdeData);
  6414. args: [],
  6415. source: "isNil\x0a\x09^ true",
  6416. referencedClasses: [],
  6417. //>>excludeEnd("ide");
  6418. pragmas: [],
  6419. messageSends: []
  6420. }),
  6421. $globals.UndefinedObject);
  6422. $core.addMethod(
  6423. $core.method({
  6424. selector: "notNil",
  6425. protocol: "testing",
  6426. fn: function (){
  6427. var self=this,$self=this;
  6428. return false;
  6429. },
  6430. //>>excludeStart("ide", pragmas.excludeIdeData);
  6431. args: [],
  6432. source: "notNil\x0a\x09^ false",
  6433. referencedClasses: [],
  6434. //>>excludeEnd("ide");
  6435. pragmas: [],
  6436. messageSends: []
  6437. }),
  6438. $globals.UndefinedObject);
  6439. $core.addMethod(
  6440. $core.method({
  6441. selector: "printOn:",
  6442. protocol: "printing",
  6443. fn: function (aStream){
  6444. var self=this,$self=this;
  6445. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6446. return $core.withContext(function($ctx1) {
  6447. //>>excludeEnd("ctx");
  6448. $recv(aStream)._nextPutAll_("nil");
  6449. return self;
  6450. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6451. }, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream})});
  6452. //>>excludeEnd("ctx");
  6453. },
  6454. //>>excludeStart("ide", pragmas.excludeIdeData);
  6455. args: ["aStream"],
  6456. source: "printOn: aStream\x0a\x09aStream nextPutAll: 'nil'",
  6457. referencedClasses: [],
  6458. //>>excludeEnd("ide");
  6459. pragmas: [],
  6460. messageSends: ["nextPutAll:"]
  6461. }),
  6462. $globals.UndefinedObject);
  6463. $core.addMethod(
  6464. $core.method({
  6465. selector: "shallowCopy",
  6466. protocol: "copying",
  6467. fn: function (){
  6468. var self=this,$self=this;
  6469. return self;
  6470. },
  6471. //>>excludeStart("ide", pragmas.excludeIdeData);
  6472. args: [],
  6473. source: "shallowCopy\x0a\x09^ self",
  6474. referencedClasses: [],
  6475. //>>excludeEnd("ide");
  6476. pragmas: [],
  6477. messageSends: []
  6478. }),
  6479. $globals.UndefinedObject);
  6480. $core.addMethod(
  6481. $core.method({
  6482. selector: "value",
  6483. protocol: "evaluating",
  6484. fn: function (){
  6485. var self=this,$self=this;
  6486. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6487. return $core.withContext(function($ctx1) {
  6488. //>>excludeEnd("ctx");
  6489. return null;
  6490. return self;
  6491. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6492. }, function($ctx1) {$ctx1.fill(self,"value",{})});
  6493. //>>excludeEnd("ctx");
  6494. },
  6495. //>>excludeStart("ide", pragmas.excludeIdeData);
  6496. args: [],
  6497. source: "value\x0a\x09<inlineJS: 'return null'>",
  6498. referencedClasses: [],
  6499. //>>excludeEnd("ide");
  6500. pragmas: [["inlineJS:", ["return null"]]],
  6501. messageSends: []
  6502. }),
  6503. $globals.UndefinedObject);
  6504. $core.addMethod(
  6505. $core.method({
  6506. selector: "new",
  6507. protocol: "instance creation",
  6508. fn: function (){
  6509. var self=this,$self=this;
  6510. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6511. return $core.withContext(function($ctx1) {
  6512. //>>excludeEnd("ctx");
  6513. $self._error_("You cannot create new instances of UndefinedObject. Use nil");
  6514. return self;
  6515. //>>excludeStart("ctx", pragmas.excludeDebugContexts);
  6516. }, function($ctx1) {$ctx1.fill(self,"new",{})});
  6517. //>>excludeEnd("ctx");
  6518. },
  6519. //>>excludeStart("ide", pragmas.excludeIdeData);
  6520. args: [],
  6521. source: "new\x0a\x09\x09self error: 'You cannot create new instances of UndefinedObject. Use nil'",
  6522. referencedClasses: [],
  6523. //>>excludeEnd("ide");
  6524. pragmas: [],
  6525. messageSends: ["error:"]
  6526. }),
  6527. $globals.UndefinedObject.a$cls);
  6528. $core.setTraitComposition([{trait: $globals.TSubclassable}], $globals.UndefinedObject);
  6529. });