(name 'CodeModel-cwp.63' message 'Added assertions to the parser tests to ensure that no nodes have nil parents.' id '112dc50f-0a58-4143-9284-796947c708d3' date '18 July 2004' time '12:27:32 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.63' message 'Added assertions to the parser tests to ensure that no nodes have nil parents.' id 'e1e72407-e33e-42c4-b7ba-3d0801774e64' date '18 July 2004' time '12:26:28 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.62' message 'Fixed many bugs related to parent reference not being set properly.' id '88e4809d-a865-4063-a6cd-86fa30ad10c4' date '9 July 2004' time '4:29:21 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.60' message 'Move the class definition messages to OB-Code.' id '23e040c2-d958-40f0-952a-bb77aa5bb87e' date '6 July 2004' time '11:32:23 am' author 'cwp' ancestors ((name 'CodeModel-cwp.59' message 'Changed the #definitionMessages for classes and metaclasses back to the more familiar ST-80 versions.' id '0f676980-4fa9-4248-9990-7b0c79d2c2fc' date '6 July 2004' time '11:26:52 am' author 'cwp' ancestors ((name 'CodeModel-cwp.58' message 'Added methods for initializing the Library from based on the default PackageOrganizer.

CMMessage>>isCascaded now does a nil check in case it has no parent.' id 'ddbcfd05-1707-45f8-8c8d-c2b5adff7831' date '5 July 2004' time '4:31:24 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.57' message 'Replaced CMTokenGuide with CMPreOrderGuide.' id '9171065a-a0e7-4f4a-8af3-f781ace02c1e' date '19 June 2004' time '3:25:02 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.56' message 'Changed the orientation of nodes after discussion of Library/Environment with Avi. Trees now belong to a Library rather than an Environment, and synchronization between the Library and Environment is no longer implemented by individual nodes. ' id '91f71a1f-9d4d-4bf1-815c-ffa1816a2933' date '18 June 2004' time '5:47:15 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.55' message 'Minor test fix: Running CMEnvironmentTest no longer has the side effect of creating a ''Bogus'' class category.' id 'b83dae44-add7-4919-ac8a-4f135ba497b3' date '15 June 2004' time '1:31:07 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.54' message 'Fixes an incompatibility with the Squeak parser. CMParser now supports negative numbers with whitespace after the negative sign. eg. ''1 @ - 1'' now evaluates to a Point with a y value of negative 1.' id '102582be-6c78-41be-8139-f45f70a5ebf8' date '15 June 2004' time '1:20:23 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.53' message 'Fixed a parser bug: ''foo:=1'' would throw an error.' id 'f3121736-43d6-4d28-96da-1dba475dc34d' date '15 June 2004' time '12:56:40 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.52' message 'Behaviors can now supply definition messages - ie, an expression that will evaluate to a similar behaviour.' id 'a4124908-3290-475b-bc3e-924eeb686435' date '9 June 2004' time '11:56 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.51' message 'Minor bugfixes:

- CMNode>>deepCopy now sets the parent correctly
- CMEnvironment>>packageNamed: implemented' id 'c628be56-2875-4507-b7b5-cfdce4b29e14' date '9 June 2004' time '1:21:14 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.50' message 'Minor bugfixes:

- Package importer no longer imports the class comment template.
- CMClass>>deepCopy now returns the copy instead of self.
- CMPackage>>addOrReplaceClass now replaces any class with the same name, not just identity.
- CMBehavior>>addAnnotation: now returns the annotation instead of self.' id 'a3e85c46-b07f-4150-8ba6-1a5984091134' date '9 June 2004' time '9:27:13 am' author 'cwp' ancestors ((name 'CodeModel-cwp.49' message 'Overrode #deepCopy in the node classes to prevent infinte recursion.' id '20320ccb-5671-4588-a94a-9583618df7a8' date '8 June 2004' time '11:37:59 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.48' message 'Misc additions to make browsing work - mostly implemented install and remove methods in CMEnvironment.' id 'd595288b-766d-4e1d-9a79-c5f813d66447' date '7 June 2004' time '11:14:44 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.47' message 'CMEnvironment can now install and remove classes and methods.' id '88a15211-fda5-49b5-9e6f-f51056acc6a2' date '7 June 2004' time '12:51:46 am' author 'cwp' ancestors ((name 'CodeModel-cwp.46' message 'Added CMPluggableVisitor and ClassGuide for finding classes.' id '1bd44d75-c3bb-44b9-b097-cd20a8030f72' date '6 June 2004' time '7:09:40 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.45' message 'Added some convenience methods for creating nodes programmatically.' id 'cf0376f0-e622-4138-a665-84c167bbdab4' date '5 June 2004' time '4:31:06 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.44' message 'Introduced environments.

Environments represent the context in which the code modelled by the tree resides. In most cases this will be the local image, but it could be a file, a Monticello version, a remote image, a file etc.

The environment for a tree is stored in the parent ivar of the tree''s root node, so the accessor methods #parent and #environment should always be used to get a nodes parent or environment.' id '32e2f4ab-14b8-461c-9cdc-6812fd9e2e3c' date '4 June 2004' time '1:12:40 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.43' message 'Added annotation features:

- annotations with certains selectors are considered invisible, and the source printer will ignore them. 

- Class comments are now recorded via annotations.' id '3fa10a79-fe23-4d1d-8d0b-915457351745' date '4 June 2004' time '10:05:12 am' author 'cwp' ancestors ((name 'CodeModel-cwp.42' message 'Pushed the annotations instance variable from CMClass up to CMBehavior, so that metaclasses can have categories too.' id 'e57da56d-fbde-4a03-a890-6c594dcf1957' date '3 June 2004' time '4:18:45 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.41' message 'Update dependency to BogusInfo-cwp.5' id '4a451d4c-25ff-4746-9b64-eb33c5295a95' date '3 June 2004' time '7:16:42 am' author 'cwp' ancestors ((name 'CodeModel-cwp.40' message 'The package importer now imports extension methods properly.' id '7b496213-4e9d-421f-8c05-06d8e6636414' date '3 June 2004' time '6:59:53 am' author 'cwp' ancestors ((name 'CodeModel-cwp.39' message 'Added CMBundle node which can hold multiple packages.' id '6e3bb659-f25c-4392-8b68-55755463aa0d' date '2 June 2004' time '6:27:37 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.38' message 'Change the importer annotations test to use the new #hasTimestamp method in BogusC.' id 'b2e0350a-1fd6-46ef-b289-b7b57a2e88c7' date '2 June 2004' time '12:01:29 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.37' message 'Bugfix: There was a grammar bug in CMParser - a conflict between the annotation productions and #> binary message sends.' id '53737e15-da2e-4ee6-9d60-6c82dae509ea' date '1 June 2004' time '9:44:30 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.36' message 'The package importer now annotates classes with category names.' id '5a0f7c14-3508-4238-897f-27d30959915d' date '1 June 2004' time '6:13:24 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.35' message 'The model now uses separate classes and metaclasses.' id '4e8e2d06-ae7a-4e28-8f31-f9da9ad5e734' date '1 June 2004' time '10:08:55 am' author 'cwp' ancestors ((name 'CodeModel-cwp.34' message 'Fixed some bugs in the annotations produced by the PackageImporter.' id 'bd136618-f955-418f-91af-ccc14af9bc50' date '31 May 2004' time '12:38:29 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.33' message 'PackageImporter now annotates imported methods with author initials, timestamp and category.' id '17a94e74-b70e-403e-9197-a9a137301536' date '31 May 2004' time '11:54:10 am' author 'cwp' ancestors ((name 'CodeModel-cwp.32' message 'Updated dependencies. Now requires BogusInfo instead of Bogus. ' id '9aa05345-505d-494e-8278-38bec246f13f' date '30 May 2004' time '9:00:11 am' author 'cwp' ancestors ((name 'CodeModel-cwp.31' message 'Refactored the parse tokens so that the AST doesn''t store information only needed during parsing.' id '7a8fb057-e4e4-4e08-9a81-b2cbdf5365c1' date '30 May 2004' time '12:52:02 am' author 'cwp' ancestors ((name 'CodeModel-cwp.30' message 'Bugfix: CMParseToken now implements #stopPosition' id '7fd84973-0284-4b71-9221-e6cdaeb6add1' date '30 May 2004' time '12:21:09 am' author 'cwp' ancestors ((name 'CodeModel-cwp.29' message 'Bugfix: the parser now handles adjacent annotations (ie, annotations without intervening whitespace) correctly.' id 'c7ec5621-a3c5-47f2-a653-6dfa1785d5f2' date '30 May 2004' time '12:15:13 am' author 'cwp' ancestors ((name 'CodeModel-cwp.28' message 'Refactored parser now handles #< and #> correctly.' id '0368d4bd-d372-4d45-893d-08035c7c96a2' date '29 May 2004' time '11:30:57 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.27' message 'Refactored the parser test to abstract the parser class tested. This should make it easier to compare parsers when tracking down grammar bugs. ' id '86aef92c-04f8-4edf-8b0e-23f987d3b26c' date '28 May 2004' time '6:33:27 am' author 'cwp' ancestors ((name 'CodeModel-cwp.26' message 'Added tests for a grammar problem Avi found: the selectors #< and #> raise parser errors, possibly because of conflict with the annotation syntax.' id 'c33412b4-9e50-4db7-82ce-50515ed5fc5a' date '27 May 2004' time '5:29:46 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.25' message 'Updated the tests to use the restructured Bogus package.' id '3acf7353-5852-4b37-a1d6-d0de160be6d0' date '27 May 2004' time '5:22:35 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.24' message 'Added CMPackageMirror, a PackageInfo-like wrapper around a CMPackage.' id '345d84b4-eaaf-4013-94ed-04d74ab5776d' date '26 May 2004' time '10:01:14 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.23' message 'Removed the unused class CMOutboundGuide.' id '960b74cc-ebc9-49d7-b187-14c0312ea465' date '26 May 2004' time '4:28:08 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.22' message 'Primitives are now supported in parsing and printing as a special case of Annotations.' id '9668a556-3f4b-4cac-b6e0-43c6fa98a021' date '26 May 2004' time '3:19:08 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.21' message 'Removed a few unused reduction actions from CMParser.' id '847b6cd6-6d83-420f-ab54-8bf2e34817ec' date '25 May 2004' time '10:58:50 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.20' message 'The source printer now handles literal arrays correctly.' id '138a9537-10ea-4070-8f55-38c2ceb6475c' date '25 May 2004' time '8:40:05 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.19' message 'Added support for printing assignment nodes.' id 'dba34aa0-e0a1-4023-aecd-22303d2bcbb9' date '25 May 2004' time '7:35:48 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.18' message 'The source printer now supports cascades.' id 'b731c25e-1073-49f6-81ba-ce9d868ed038' date '25 May 2004' time '4:59:46 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.17' message 'The source printer now supports parenthesis.' id 'bd8959c9-ea8b-46b9-a0fb-be72ed253991' date '25 May 2004' time '3:57:13 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.16' message 'The source printer now supports blocks.' id '2a49bc78-ec54-408d-88de-33a57bb4c254' date '25 May 2004' time '3:29:55 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.15' message 'Printing now handles Arrays correctly.' id 'af4ba07b-f790-4301-b083-085c72b91e63' date '25 May 2004' time '1:28:17 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.14' message 'Added a source printer. So far it can only handle simple methods.' id '48870345-3454-4718-ba03-9181fd8da741' date '25 May 2004' time '12:21:03 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.13' message 'Now uses CMToken instead of SmaCCToken, which preserves whitespace instead of position in the stream.' id '8b457afb-f20e-4a81-b9d1-4850508ef6bd' date '25 May 2004' time '12:15:14 am' author 'cwp' ancestors ((name 'CodeModel-cwp.12' message 'We now use our own parse nodes instead of the RB parse nodes.' id 'e42fc1aa-cf63-4385-bfed-eb037dcd2a78' date '24 May 2004' time '7:15:31 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.11' message 'Added a SmaCC-generated parser based on Anthony Hanan''s grammar for the ClosureCompiler.' id '1fc9e3bf-63b2-4fca-a45f-684df6450f75' date '24 May 2004' time '12:33:23 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.10' message 'Removed the generator, which was never finished, and is now unnecessary.' id '8cd4e234-6e8e-4ed2-9119-3e010e020e4d' date '22 May 2004' time '7:44:53 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.9' message 'Package import now includes methods.' id 'f42f5468-1fdb-4e87-93b1-0680fbed4a6d' date '22 May 2004' time '2:32:05 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.8' message 'Refactored CMPackageImporter.' id '0d5e7bde-3206-4c3c-a9e1-e951435098e2' date '20 May 2004' time '10:52:41 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.7' message 'Added support for pool imports.' id 'fb6ca4cb-2eea-4eb8-a5cd-eb0ced8886c7' date '20 May 2004' time '9:55:12 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.6' message 'Added class instance variables. ' id 'f739ce5d-6495-4e32-88c0-37b5cf09915d' date '20 May 2004' time '9:05:07 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.5' message 'Refactored the model classes to have explicit instance variables for their children, instead of sticking them all in one collection.' id '3bb41203-6424-47c2-b209-a48b2ce8c7b8' date '20 May 2004' time '7:21:44 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.4' message 'Added a back-reference from child to parent.' id '4c54bab0-48e1-4c89-8b6c-38d192c91c34' date '16 May 2004' time '10:25:05 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.3' message 'Added class variables' id '4366dfd3-5377-4ea8-895e-ee187f180982' date '16 May 2004' time '8:44:47 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.2' message 'Added instance variables.' id '19895b2f-fa29-4ebc-8448-bf32014e5cf8' date '15 May 2004' time '10:59:03 pm' author 'cwp' ancestors ((name 'CodeModel-cwp.1' message 'Can import classes from a PackageInfo.' id 'adb93f10-e348-412f-91d8-72abf97b923b' date '15 May 2004' time '8:57:30 pm' author 'cwp' ancestors ())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))