Versioning changes to pre-existing classes with Monticello
bert at impara.de
Fri Nov 11 21:51:08 UTC 2005
Here are a few more options to explore:
- select ODBCConstants, choose explain from the shifted context menu.
For TextConstants, I get
TextConstants "is a global variable. It is a pool which is used by
the following classes (CharacterBlock CharacterScanner
MultiTextComposer Paragraph MultiNewParagraph CompositionScanner Text
LimitingLineStreamWrapper TextLineInterval MultiCharacterScanner
TextStyle StrikeFont HostFont DisplayText SegmentScanner CharRecog
- press delete, select ODBCConstants again, and press Cmd-Shift-N (or
choose "references to it" from the shifted context menu). This will
show you a list of methods that directly reference the dictionary.
One of them surely is the defining method.
About actually changing this to a SharedPool ... you probably should
leave that to someone actually knowing what he's doing ;-) Basically
you create the new class, add all the pool vars as class vars, write
an initialize method to assign the values. By using the same name all
references should automatically be correct - if not, you would have
to change them by hand.
OTOH, it might be a lot less trouble to just add your constants to
the existing pool in a class initialize method.
For further discussion, see this thread: http://
- Bert -
Am 11.11.2005 um 14:58 schrieb Simon Kirk:
> Sorry, another thing: Given that there is an existing ODBCConstants
> pool dictionary for the ODBCConnection class that is an actual
> Dictionary rather than a SharedPool, how would I go about
> refactoring this into a SharedPool given that I can't seem to find
> the actual class hierarchy of the ODBCConstants pool anywhere? I
> can get to the Dictionary by highlighting the name of it in the
> definition of ODBCConnection and inspecting it, but that's as far
> as I can go.
> Cheers again,
> Simon Kirk wrote:
>> Hi Bert - thanks for the answer, I kind of understand it. However
>> I'm very much a Squeak newbie, so I'm a bit confused as to how the
>> SharedPool system works. I can see the FFIConstants as an example,
>> but I haven't got a clue about what kind of standards to adhere
>> to, how to set the new constants pool up, etc. Is there any kind
>> of documentation you can point me towards to read up on this?
>> Bert Freudenberg wrote:
>>> Am 11.11.2005 um 14:35 schrieb Simon Kirk:
>>>> Hello again all.
>>>> As part of my recent ODBC work I've added a number of ODBC
>>>> constants to the pool dictionary of the ODBCConnection class
>>>> from ODBC-Core. I've also changed some methods in various ways.
>>>> I can version those method changes with monticello, but how can
>>>> I go about versioning the new constants in the pool dictionary
>>>> into my monticello repository as well?
>>> Pool variables are ordinary class variables of a subclass of
>>> SharedPool. Just initialize the class variables from the class
>>> #initialize method as usual.
>>> If you use old-style pools (dictionaries) you should change them
>>> to proper SharedPools.
>>> - Bert -
>> This message has been scanned for viruses by BlackSpider
>> MailControl - www.blackspider.com
- Bert -
More information about the Squeak-dev