ChangeSet.st
author ps
Fri, 14 Jan 2000 09:11:38 +0100
changeset 878 99583ccfe415
parent 877 0340af2075f3
child 879 bfd06666f6c1
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
263f814933d4 *** empty log message ***
claus
parents: 0
diff changeset
     1
"
263f814933d4 *** empty log message ***
claus
parents: 0
diff changeset
     2
 COPYRIGHT (c) 1993 by Claus Gittinger
16
fcbfbba03d49 *** empty log message ***
claus
parents: 10
diff changeset
     3
	      All Rights Reserved
3
263f814933d4 *** empty log message ***
claus
parents: 0
diff changeset
     4
263f814933d4 *** empty log message ***
claus
parents: 0
diff changeset
     5
 This software is furnished under a license and may be used
263f814933d4 *** empty log message ***
claus
parents: 0
diff changeset
     6
 only in accordance with the terms of that license and with the
263f814933d4 *** empty log message ***
claus
parents: 0
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
263f814933d4 *** empty log message ***
claus
parents: 0
diff changeset
     8
 be provided or otherwise made available to, or used by, any
263f814933d4 *** empty log message ***
claus
parents: 0
diff changeset
     9
 other person.  No title to or ownership of the software is
263f814933d4 *** empty log message ***
claus
parents: 0
diff changeset
    10
 hereby transferred.
263f814933d4 *** empty log message ***
claus
parents: 0
diff changeset
    11
"
0
470788421600 Initial revision
claus
parents:
diff changeset
    12
470788421600 Initial revision
claus
parents:
diff changeset
    13
OrderedCollection subclass:#ChangeSet
235
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    14
	instanceVariableNames:''
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    15
	classVariableNames:''
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    16
	poolDictionaries:''
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    17
	category:'System-Changes'
0
470788421600 Initial revision
claus
parents:
diff changeset
    18
!
470788421600 Initial revision
claus
parents:
diff changeset
    19
625
06f4ed35832b added #patches for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
    20
!ChangeSet class methodsFor:'documentation'!
9
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    21
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    22
copyright
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    23
"
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    24
 COPYRIGHT (c) 1993 by Claus Gittinger
16
fcbfbba03d49 *** empty log message ***
claus
parents: 10
diff changeset
    25
	      All Rights Reserved
9
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    26
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    27
 This software is furnished under a license and may be used
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    28
 only in accordance with the terms of that license and with the
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    29
 inclusion of the above copyright notice.   This software may not
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    30
 be provided or otherwise made available to, or used by, any
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    31
 other person.  No title to or ownership of the software is
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    32
 hereby transferred.
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    33
"
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    34
!
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    35
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    36
documentation
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    37
"
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    38
    used in the changes management to keep track of changes
235
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    39
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    40
    [author:]
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
    41
        Claus Gittinger
9
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    42
"
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    43
! !
f5b6ab00bdf6 *** empty log message ***
claus
parents: 3
diff changeset
    44
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    45
!ChangeSet class methodsFor:'instance creation'!
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    46
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    47
fromStream:aStream
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    48
    "build a changeSet from a stream, containing chunks.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    49
     (i.e. either a classes sourceFile or a change-file).
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    50
     Return the changeSet."
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    51
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    52
    |changeSet chunk sawExcla lastTimeStamp s change nameSpace|
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    53
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    54
    changeSet := self new.
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    55
    nameSpace := Smalltalk.
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    56
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    57
    [aStream atEnd] whileFalse:[
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    58
        aStream skipSeparators.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    59
        sawExcla := aStream peekFor:$!!.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    60
        chunk := aStream nextChunk.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
    61
        (chunk notNil and:[chunk notEmpty]) ifTrue:[
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    62
            Class nameSpaceQuerySignal answer:nameSpace do:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    63
                |parser tree|
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    64
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    65
                parser := Parser for:chunk.
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    66
                tree := parser 
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    67
                            parseExpressionWithSelf:nil 
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    68
                            notifying:nil 
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    69
                            ignoreErrors:true 
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    70
                            ignoreWarnings:true 
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    71
                            inNameSpace:nameSpace.
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    72
                tree == #Error ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    73
                    change := DoItChange new.
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    74
                    change source:chunk.
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    75
                    changeSet add: change.
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    76
                ] ifFalse:[    
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    77
                    (tree notNil and:[tree ~~ #Error]) ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    78
                        "/ if there is any nameSPace directoive in there, extract it.
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    79
                        parser currentNameSpace notNil ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    80
                            nameSpace := parser currentNameSpace
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    81
                        ].
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    82
                        Class nameSpaceQuerySignal answer:nameSpace do:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    83
                            "/
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    84
                            "/ what type of chunk is this ...
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    85
                            "/
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    86
                            tree isConstant ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    87
                                (s := tree evaluate) isString ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    88
                                    (s startsWith:'---- timestamp ') ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    89
                                        lastTimeStamp := s.
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    90
                                    ]
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    91
                                ] ifFalse:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    92
                                    self halt:'unexpected change-chunk'
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    93
                                ]
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    94
                            ] ifFalse:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    95
                                tree isMessage ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    96
                                    (changeSet addFromParseTree:tree andStream:aStream) ifFalse:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    97
                                        change := DoItChange new.
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    98
                                        change source:chunk.
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
    99
                                        changeSet add: change.
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   100
                                    ]
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   101
                                ] ifFalse:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   102
                                    self halt:'unexpected change-chunk'
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   103
                                ]
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   104
                            ]
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   105
                        ]
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   106
                    ]
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   107
                ]
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   108
            ]
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   109
        ]
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   110
    ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   111
    ^ changeSet
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   112
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   113
    "
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   114
     ChangeSet fromStream:('changes' asFilename readStream)
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   115
     ChangeSet fromStream:('patches' asFilename readStream)
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   116
     ChangeSet fromStream:(Object source asString readStream)
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   117
    "
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   118
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   119
    "Created: / 16.2.1998 / 12:19:34 / cg"
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   120
    "Modified: / 14.12.1999 / 15:23:16 / cg"
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   121
! !
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   122
625
06f4ed35832b added #patches for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
   123
!ChangeSet class methodsFor:'ST80 compatibility'!
06f4ed35832b added #patches for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
   124
06f4ed35832b added #patches for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
   125
patches
06f4ed35832b added #patches for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
   126
    ^ #()
06f4ed35832b added #patches for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
   127
06f4ed35832b added #patches for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
   128
    "Created: / 27.10.1997 / 13:52:54 / cg"
06f4ed35832b added #patches for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
   129
! !
06f4ed35832b added #patches for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
   130
06f4ed35832b added #patches for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
   131
!ChangeSet class methodsFor:'queries'!
27
claus
parents: 16
diff changeset
   132
claus
parents: 16
diff changeset
   133
current
claus
parents: 16
diff changeset
   134
    "ST-80 compatibility: return the current changeSet"
claus
parents: 16
diff changeset
   135
claus
parents: 16
diff changeset
   136
    |p|
claus
parents: 16
diff changeset
   137
claus
parents: 16
diff changeset
   138
    (Project notNil and:[(p := Project current) notNil]) ifTrue:[
claus
parents: 16
diff changeset
   139
	^ p changeSet
claus
parents: 16
diff changeset
   140
    ]
claus
parents: 16
diff changeset
   141
claus
parents: 16
diff changeset
   142
    "
claus
parents: 16
diff changeset
   143
     ChangeSet current 
claus
parents: 16
diff changeset
   144
    "
claus
parents: 16
diff changeset
   145
! !
claus
parents: 16
diff changeset
   146
0
470788421600 Initial revision
claus
parents:
diff changeset
   147
!ChangeSet methodsFor:'change management'!
470788421600 Initial revision
claus
parents:
diff changeset
   148
100
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   149
addClassCategoryChange:newCategory for:aClass
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   150
    "add a classCategory change to the receiver"
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   151
100
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   152
    |newChange|
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   153
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   154
    newChange := ClassCategoryChange class:aClass category:newCategory.
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   155
    self add:newChange
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   156
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   157
    "Created: 3.12.1995 / 13:45:53 / cg"
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   158
    "Modified: 15.7.1996 / 09:26:52 / cg"
100
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   159
!
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   160
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   161
addClassDefinitionChangeFor:aClass
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   162
    "add a classDefinition change to the receiver"
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   163
100
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   164
    |newChange|
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   165
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   166
    newChange := ClassDefinitionChange class:aClass.
787
5d49bd054fc2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 783
diff changeset
   167
    newChange source:aClass definition.
100
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   168
    self add:newChange
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   169
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   170
    "Modified: 15.7.1996 / 09:27:05 / cg"
100
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   171
!
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   172
16
fcbfbba03d49 *** empty log message ***
claus
parents: 10
diff changeset
   173
addMethodCategoryChange:aMethod category:newCategory in:aClass
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   174
    "add a methodCategory change to the receiver"
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   175
16
fcbfbba03d49 *** empty log message ***
claus
parents: 10
diff changeset
   176
    |newChange|
fcbfbba03d49 *** empty log message ***
claus
parents: 10
diff changeset
   177
fcbfbba03d49 *** empty log message ***
claus
parents: 10
diff changeset
   178
    newChange := MethodCategoryChange class:aClass
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   179
                                   selector:(aClass selectorAtMethod:aMethod)
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   180
                                   category:newCategory.
16
fcbfbba03d49 *** empty log message ***
claus
parents: 10
diff changeset
   181
    self add:newChange
fcbfbba03d49 *** empty log message ***
claus
parents: 10
diff changeset
   182
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   183
    "Modified: 15.7.1996 / 09:27:15 / cg"
44
claus
parents: 39
diff changeset
   184
!
claus
parents: 39
diff changeset
   185
85
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   186
addMethodChange:aMethod in:aClass
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   187
    "add a method change to the receiver"
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   188
85
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   189
    |newChange|
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   190
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   191
    newChange := MethodChange class:aClass
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   192
                           selector:(aClass selectorAtMethod:aMethod)
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   193
                             source:aMethod source
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   194
                           category:aMethod category.
85
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   195
    self add:newChange
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   196
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   197
    "Modified: 15.7.1996 / 09:27:21 / cg"
85
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   198
!
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   199
44
claus
parents: 39
diff changeset
   200
addMethodPrivacyChange:aMethod in:aClass
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   201
    "add a methodPrivacy change to the receiver"
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   202
44
claus
parents: 39
diff changeset
   203
    |newChange|
claus
parents: 39
diff changeset
   204
claus
parents: 39
diff changeset
   205
    newChange := MethodPrivacyChange class:aClass
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   206
                                   selector:(aClass selectorAtMethod:aMethod)
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   207
                                   privacy:aMethod privacy.
44
claus
parents: 39
diff changeset
   208
    self add:newChange
claus
parents: 39
diff changeset
   209
claus
parents: 39
diff changeset
   210
    "Modified: 27.8.1995 / 22:55:22 / claus"
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   211
    "Modified: 15.7.1996 / 09:27:28 / cg"
235
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   212
!
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   213
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   214
addPrimitiveDefinitionsChangeFor:aClass
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   215
    "add a primitiveDefinitions change to the receiver"
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   216
235
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   217
    |newChange|
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   218
783
90ffa6f0a86b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   219
    newChange := ClassPrimitiveDefinitionsChange new
90ffa6f0a86b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   220
                        class:aClass name source:aClass primitiveDefinitionsString.
235
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   221
    self add:newChange
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   222
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   223
    "Modified: 15.7.1996 / 09:27:40 / cg"
235
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   224
!
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   225
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   226
addPrimitiveFunctionsChangeFor:aClass
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   227
    "add a primitiveFunctions change to the receiver"
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   228
235
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   229
    |newChange|
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   230
783
90ffa6f0a86b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   231
    newChange := ClassPrimitiveFunctionsChange new
90ffa6f0a86b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   232
                        class:aClass name source:aClass primitiveFunctionsString.
235
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   233
    self add:newChange
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   234
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   235
    "Modified: 15.7.1996 / 09:27:47 / cg"
235
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   236
!
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   237
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   238
addPrimitiveVariablesChangeFor:aClass
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   239
    "add a primitiveVariables change to the receiver"
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   240
235
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   241
    |newChange|
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   242
783
90ffa6f0a86b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   243
    newChange := ClassPrimitiveVariablesChange new
90ffa6f0a86b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   244
                         class:aClass name source:aClass primitiveVariablesString.
235
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 102
diff changeset
   245
    self add:newChange
378
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   246
f106015c98a6 commentary
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   247
    "Modified: 15.7.1996 / 09:27:55 / cg"
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   248
!
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   249
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   250
addRemoveSelectorChange:aSelector in:aClass
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   251
    "add a method-remove change to the receiver"
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   252
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   253
    |newChange|
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   254
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   255
    newChange := MethodRemoveChange 
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   256
                        class:aClass
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   257
                        selector:aSelector.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   258
    self add:newChange
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   259
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   260
    "Modified: / 27.8.1995 / 22:55:22 / claus"
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   261
    "Modified: / 15.7.1996 / 09:27:28 / cg"
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   262
    "Created: / 16.2.1998 / 12:47:07 / cg"
877
0340af2075f3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 864
diff changeset
   263
!
0340af2075f3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 864
diff changeset
   264
0340af2075f3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 864
diff changeset
   265
condenseChangesForClass:aClass package:package
0340af2075f3 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 864
diff changeset
   266
    "to be implemented soon"
0
470788421600 Initial revision
claus
parents:
diff changeset
   267
! !
470788421600 Initial revision
claus
parents:
diff changeset
   268
85
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   269
!ChangeSet methodsFor:'misc'!
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   270
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   271
addPatch:nameOfPatch
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   272
    "ignored for now - allows fileIn of ST-80 patch stuff .."
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   273
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   274
    ^ self
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   275
! !
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
diff changeset
   276
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   277
!ChangeSet methodsFor:'private'!
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   278
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   279
addFromParseTree:aTree andStream:aStream
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   280
    |sel className categoryName 
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   281
     methodSource methodSelector change parser
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   282
     oldName newName priv receiver receiverVarName
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   283
     receiverSelector receiverReceiver primSource
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   284
     nameSpace|
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   285
860
4e159afd172a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 859
diff changeset
   286
    nameSpace := Class nameSpaceQuerySignal query.
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   287
    nameSpace isNil ifTrue:[nameSpace := Smalltalk].
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   288
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   289
    sel := aTree selector.
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   290
    receiver := aTree receiver.
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   291
    receiver isMessage ifTrue:[
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   292
        receiverSelector := receiver selector.
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   293
        receiverReceiver := receiver receiver.
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   294
    ] ifFalse:[
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   295
        receiver isVariable ifTrue:[
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   296
            receiverVarName := receiver name
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   297
        ]
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   298
    ].
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   299
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   300
    (sel == #'methodsFor:'
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   301
    or:[(sel == #'ignoredMethodsFor:')]) ifTrue:[
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   302
        (sel == #'ignoredMethodsFor:') ifTrue:[
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   303
            priv := #ignored.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   304
        ] ifFalse:[
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   305
            priv := nil
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   306
        ].
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   307
        (receiver isUnaryMessage 
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   308
        and:[receiverSelector == #class]) ifTrue:[
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   309
            className := (receiverReceiver name) , ' class'.
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   310
        ] ifFalse:[
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   311
            className := (receiver name).
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   312
        ].
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   313
        nameSpace ~~ Smalltalk ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   314
            className := nameSpace name , '::' , className
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   315
        ].
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   316
        categoryName := (aTree arguments at:1) evaluate.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   317
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   318
        aStream skipSeparators.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   319
        methodSource := aStream nextChunk.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   320
        [methodSource notEmpty] whileTrue:[
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   321
            parser := Parser
789
f5dd39d0653e dont parse the methods body, if all we need is the selector.
Claus Gittinger <cg@exept.de>
parents: 787
diff changeset
   322
                        parseMethodArgAndVarSpecification:methodSource 
f5dd39d0653e dont parse the methods body, if all we need is the selector.
Claus Gittinger <cg@exept.de>
parents: 787
diff changeset
   323
                        in:nil 
f5dd39d0653e dont parse the methods body, if all we need is the selector.
Claus Gittinger <cg@exept.de>
parents: 787
diff changeset
   324
                        ignoreErrors:true 
f5dd39d0653e dont parse the methods body, if all we need is the selector.
Claus Gittinger <cg@exept.de>
parents: 787
diff changeset
   325
                        ignoreWarnings:true
f5dd39d0653e dont parse the methods body, if all we need is the selector.
Claus Gittinger <cg@exept.de>
parents: 787
diff changeset
   326
                        parseBody:false.
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   327
829
1e701ca3c59f care for unparsable stuff (java methods)
Claus Gittinger <cg@exept.de>
parents: 802
diff changeset
   328
            parser isNil ifTrue:[
1e701ca3c59f care for unparsable stuff (java methods)
Claus Gittinger <cg@exept.de>
parents: 802
diff changeset
   329
                "/ something wierd ...
1e701ca3c59f care for unparsable stuff (java methods)
Claus Gittinger <cg@exept.de>
parents: 802
diff changeset
   330
                methodSelector := '????'.
1e701ca3c59f care for unparsable stuff (java methods)
Claus Gittinger <cg@exept.de>
parents: 802
diff changeset
   331
            ] ifFalse:[
1e701ca3c59f care for unparsable stuff (java methods)
Claus Gittinger <cg@exept.de>
parents: 802
diff changeset
   332
                methodSelector := parser selector.
1e701ca3c59f care for unparsable stuff (java methods)
Claus Gittinger <cg@exept.de>
parents: 802
diff changeset
   333
            ].
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   334
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   335
            change := MethodChange new.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   336
            change 
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   337
                className:className
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   338
                selector:methodSelector
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   339
                source:methodSource
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   340
                category:categoryName
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   341
                privacy:priv.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   342
            self add: change.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   343
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   344
            aStream skipSeparators.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   345
            methodSource := aStream nextChunk.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   346
        ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   347
        ^ true
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   348
    ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   349
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   350
    sel == #'removeSelector:' ifTrue:[
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   351
        (receiver isUnaryMessage 
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   352
        and:[receiverSelector == #class]) ifTrue:[
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   353
            className := (receiverReceiver name) , ' class'.
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   354
        ] ifFalse:[
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   355
            className := (receiver name).
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   356
        ].
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   357
        nameSpace ~~ Smalltalk ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   358
            className := nameSpace name , '::' , className
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   359
        ].
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   360
        methodSelector := (aTree arguments at:1) evaluate.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   361
        change := MethodRemoveChange new.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   362
        change 
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   363
            className:className
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   364
            selector:methodSelector.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   365
        self add: change.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   366
        ^ true
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   367
    ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   368
787
5d49bd054fc2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 783
diff changeset
   369
    "/ any subclass definiton selector ?
802
f6cfa27d60e0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 798
diff changeset
   370
    (Behavior definitionSelectors includes:sel)
787
5d49bd054fc2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 783
diff changeset
   371
    ifTrue:[
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   372
        className := (aTree arguments at:1) evaluate.
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   373
        nameSpace ~~ Smalltalk ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   374
            className := nameSpace name , '::' , className
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   375
        ].
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   376
        change := ClassDefinitionChange new.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   377
        change 
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   378
            className:className;
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   379
            source:(aTree printString).
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   380
        self add: change.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   381
        ^ true
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   382
    ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   383
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   384
    sel == #'renameCategory:to:' ifTrue:[
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   385
        (receiver isUnaryMessage 
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   386
        and:[receiverSelector == #class]) ifTrue:[
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   387
            className := (receiverReceiver name) , ' class'.
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   388
        ] ifFalse:[
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   389
            className := (receiver name).
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   390
        ].
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   391
        nameSpace ~~ Smalltalk ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   392
            className := nameSpace name , '::' , className
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   393
        ].
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   394
        change := MethodCategoryRenameChange new.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   395
        change 
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   396
            className:className;
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   397
            oldCategoryName:(aTree arguments at:1) evaluate
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   398
            newCategoryName:(aTree arguments at:2) evaluate.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   399
        self add: change.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   400
        ^ true
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   401
    ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   402
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   403
    (sel == #'category:' 
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   404
    or:[sel == #'privacy:']) ifTrue:[
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   405
        (receiver isMessage
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   406
        and:[receiverSelector == #'compiledMethodAt:']) ifTrue:[
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   407
            (receiverReceiver isUnaryMessage 
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   408
            and:[receiverReceiver selector == #class]) ifTrue:[
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   409
                className := (receiverReceiver receiver name) , ' class'.
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   410
            ] ifFalse:[
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   411
                className := (receiverReceiver name).
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   412
            ].
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   413
            nameSpace ~~ Smalltalk ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   414
                className := nameSpace name , '::' , className
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   415
            ].
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   416
            methodSelector := (receiver arguments at:1) evaluate.
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   417
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   418
            sel == #'category:' ifTrue:[
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   419
                change := MethodCategoryChange new.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   420
                change 
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   421
                    className:className
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   422
                    selector:methodSelector
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   423
                    category:(aTree arguments at:1) evaluate.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   424
            ] ifFalse:[
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   425
                change := MethodPrivacyChange new.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   426
                change 
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   427
                    className:className
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   428
                    selector:methodSelector
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   429
                    privacy:(aTree arguments at:1) evaluate.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   430
            ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   431
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   432
            self add: change.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   433
            ^ true
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   434
        ] ifFalse:[
798
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   435
            self halt:'unexpected change'
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   436
        ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   437
    ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   438
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   439
    sel == #'comment:' ifTrue:[
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   440
        (receiver isUnaryMessage 
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   441
        and:[receiverSelector == #class]) ifTrue:[
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   442
            className := (receiverReceiver name) , ' class'.
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   443
        ] ifFalse:[
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   444
            className := (receiver name).
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   445
        ].
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   446
        nameSpace ~~ Smalltalk ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   447
            className := nameSpace name , '::' , className
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   448
        ].
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   449
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   450
        change := ClassCommentChange new.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   451
        change 
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   452
            className:className
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   453
            comment:(aTree arguments at:1) evaluate.
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   454
        change source:(aTree printString).
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   455
        self add: change.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   456
        ^ true
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   457
    ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   458
798
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   459
    sel == #'instanceVariableNames:' ifTrue:[
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   460
        (receiver isUnaryMessage 
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   461
        and:[receiverSelector == #class]) ifTrue:[
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   462
            className := (receiverReceiver name) , ' class'.
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   463
        ] ifFalse:[
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   464
            className := (receiver name).
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   465
        ].
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   466
        nameSpace ~~ Smalltalk ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   467
            className := nameSpace name , '::' , className
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   468
        ].
798
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   469
        change := ClassInstVarDefinitionChange new.
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   470
        change className:className.
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   471
        change source:(aTree printString).
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   472
        self add: change.
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   473
        ^ true
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   474
    ].
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 789
diff changeset
   475
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   476
    sel == #'removeClass:' ifTrue:[
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   477
        (receiverVarName == #Smalltalk) ifTrue:[
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   478
            className := (aTree arguments at:1) name.
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   479
            nameSpace ~~ Smalltalk ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   480
                className := nameSpace name , '::' , className
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   481
            ].
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   482
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   483
            change := ClassRemoveChange new.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   484
            change className:className.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   485
            self add: change.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   486
            ^ true
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   487
        ] ifFalse:[
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   488
            self halt
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   489
        ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   490
    ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   491
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   492
    sel == #'renameClass:to:' ifTrue:[
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   493
        (receiverVarName == #Smalltalk) ifTrue:[
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   494
            oldName := (aTree arguments at:1) name.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   495
            newName := (aTree arguments at:2) evaluate.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   496
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   497
            change := ClassRenameChange new.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   498
            change oldName:oldName newName:newName.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   499
            self add: change.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   500
            ^ true
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   501
        ] ifFalse:[
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   502
            self halt
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   503
        ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   504
    ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   505
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   506
    sel == #'name:' ifTrue:[
775
04b5618b4477 code cleanup
Claus Gittinger <cg@exept.de>
parents: 757
diff changeset
   507
        (receiverVarName == #Namespace) ifTrue:[
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   508
            className := (aTree arguments at:1) evaluate.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   509
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   510
            change := NameSpaceCreationChange new.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   511
            change name:className.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   512
            self add: change.
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   513
            ^ true
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   514
        ] ifFalse:[
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   515
            self halt
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   516
        ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   517
    ].
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   518
781
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   519
    (sel == #'primitiveDefinitions'
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   520
    or:[sel == #'primitiveFunctions'
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   521
    or:[sel == #'primitiveVariables']]) ifTrue:[
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   522
        (receiver isUnaryMessage 
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   523
        and:[receiverSelector == #class]) ifTrue:[
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   524
            className := (receiverReceiver name) , ' class'.
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   525
        ] ifFalse:[
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   526
            className := (receiver name).
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   527
        ].
859
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   528
        nameSpace ~~ Smalltalk ifTrue:[
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   529
            className := nameSpace name , '::' , className
5d50d068c63b keep track of the nameSpace
Claus Gittinger <cg@exept.de>
parents: 857
diff changeset
   530
        ].
781
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   531
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   532
        aStream skipSeparators.
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   533
        primSource := aStream nextChunk.
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   534
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   535
        sel == #'primitiveDefinitions' ifTrue:[
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   536
            change := ClassPrimitiveDefinitionsChange new
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   537
        ] ifFalse:[
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   538
            sel == #'primitiveFunctions' ifTrue:[
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   539
                change := ClassPrimitiveFunctionsChange new
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   540
            ] ifFalse:[
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   541
                change := ClassPrimitiveVariablesChange new
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   542
            ]
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   543
        ].
783
90ffa6f0a86b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 781
diff changeset
   544
        change class:className source:primSource.
781
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   545
        self add: change.
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   546
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   547
        ^ true
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   548
    ].
d32abf3c57d7 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 775
diff changeset
   549
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   550
    ^ false
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   551
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   552
    "Created: / 16.2.1998 / 13:42:40 / cg"
860
4e159afd172a checkin from browser
Claus Gittinger <cg@exept.de>
parents: 859
diff changeset
   553
    "Modified: / 15.12.1999 / 00:29:06 / cg"
654
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   554
! !
edeb63d98088 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 625
diff changeset
   555
857
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   556
!ChangeSet methodsFor:'utilities'!
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   557
878
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   558
apply
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   559
    "apply all changes in the receivers changeSet"
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   560
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   561
    self do:[:aChange |
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   562
        aChange apply
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   563
    ]
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   564
!
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   565
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   566
condenseChangesForClass:aClass package:aPackageSymbol
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   567
    "remove all changes for aClass and aPackageSymbol
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   568
     (i.e. leave methodChanges for other packages"
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   569
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   570
    |changesToRemove|
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   571
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   572
    changesToRemove := OrderedCollection new.
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   573
    self do:[:aChange |
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   574
        aChange changeClass name = aClass name ifTrue:[
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   575
            changesToRemove add:aChange
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   576
        ]
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   577
    ].
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   578
    self removeAll:changesToRemove
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   579
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   580
!
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   581
857
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   582
diffSetsAgainst:anotherChangeSet
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   583
    "walk over the receiver and anotherChangeSet,
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   584
     add all changes to one of the tree lists:
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   585
        onlyInReceiver, onlyInArg or changed,
864
4f35b96a799e checkin from browser
ps
parents: 860
diff changeset
   586
     each being a changeSet containing corresponding changes."
857
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   587
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   588
    |onlyInReceiver onlyInArg changedMethods
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   589
     indexFromChangedMethodsToA indexFromChangedMethodsToB
864
4f35b96a799e checkin from browser
ps
parents: 860
diff changeset
   590
     "info" ret|
857
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   591
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   592
    onlyInReceiver := ChangeSet new.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   593
    onlyInArg      := ChangeSet new.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   594
    changedMethods := ChangeSet new.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   595
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   596
    indexFromChangedMethodsToA := OrderedCollection new.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   597
    indexFromChangedMethodsToB := OrderedCollection new.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   598
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   599
    self keysAndValuesDo:[:idxA :aChangeInA |
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   600
        |anyFound ch|
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   601
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   602
        anyFound := false.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   603
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   604
        anotherChangeSet keysAndValuesDo:[:idxB :aChangeInB |
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   605
            (aChangeInA isForSameAs:aChangeInB) ifTrue:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   606
                anyFound := true.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   607
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   608
                "/ also in B - is it different ?
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   609
                (aChangeInA sameAs:aChangeInB) ifFalse:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   610
                    changedMethods add:aChangeInA.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   611
                    indexFromChangedMethodsToA add:idxA.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   612
                    indexFromChangedMethodsToB add:idxB.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   613
                ] ifTrue:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   614
                    aChangeInA isMethodChange ifTrue:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   615
                        aChangeInA methodCategory ~= aChangeInB methodCategory ifTrue:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   616
                            "/ only the category is different;
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   617
                            "/ make it a MethodCategory changes.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   618
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   619
                            ch := MethodCategoryChange new
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   620
                                    className:aChangeInA className
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   621
                                    selector:aChangeInA selector
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   622
                                    category:aChangeInA methodCategory.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   623
                            self at:idxA put:ch.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   624
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   625
                            ch := MethodCategoryChange new
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   626
                                    className:aChangeInB className
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   627
                                    selector:aChangeInB selector
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   628
                                    category:aChangeInB methodCategory.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   629
                            anotherChangeSet at:idxB put:ch.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   630
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   631
                            changedMethods add:aChangeInA.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   632
                            indexFromChangedMethodsToA add:idxA.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   633
                            indexFromChangedMethodsToB add:idxB.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   634
                        ]
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   635
                    ].
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   636
                ]
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   637
            ] ifFalse:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   638
                (aChangeInA sameAs:aChangeInB) ifTrue:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   639
                    anyFound := true.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   640
                ] ifFalse:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   641
                ]
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   642
            ]
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   643
        ].
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   644
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   645
        anyFound ifFalse:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   646
            onlyInReceiver add:aChangeInA.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   647
        ]
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   648
    ].
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   649
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   650
    anotherChangeSet keysAndValuesDo:[:idxB :aChangeInB |
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   651
        |anyFound|
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   652
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   653
        anyFound := false.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   654
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   655
        self do:[:aChangeInA |
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   656
            |idxM|
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   657
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   658
            (aChangeInA isForSameAs:aChangeInB) ifTrue:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   659
                anyFound := true.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   660
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   661
                "/ also in B - is it different ?
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   662
                (aChangeInA sameAs:aChangeInB) ifFalse:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   663
                    "/ already there ?
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   664
                    idxM := changedMethods findFirst:[:c | c isForSameAs:aChangeInB].
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   665
                    idxM == 0 ifTrue:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   666
                        changedMethods add:aChangeInB.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   667
                        indexFromChangedMethodsToB add:idxB.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   668
                    ] ifFalse:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   669
                        indexFromChangedMethodsToB at:idxM put:idxB
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   670
                    ]
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   671
                ]
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   672
            ] ifFalse:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   673
                (aChangeInA sameAs:aChangeInB) ifTrue:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   674
                    anyFound := true.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   675
                ] ifFalse:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   676
                ]
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   677
            ]
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   678
        ].
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   679
        anyFound ifFalse:[
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   680
            onlyInArg add:aChangeInB.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   681
        ]
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   682
    ].
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   683
864
4f35b96a799e checkin from browser
ps
parents: 860
diff changeset
   684
"/    info := OrderedCollection new:(changedMethods size).
4f35b96a799e checkin from browser
ps
parents: 860
diff changeset
   685
"/    changedMethods keysAndValuesDo:[:idx :changedMethod |
4f35b96a799e checkin from browser
ps
parents: 860
diff changeset
   686
"/        info add:(Array 
4f35b96a799e checkin from browser
ps
parents: 860
diff changeset
   687
"/                        with:(indexFromChangedMethodsToA at:idx)
4f35b96a799e checkin from browser
ps
parents: 860
diff changeset
   688
"/                        with:(indexFromChangedMethodsToB at:idx)
4f35b96a799e checkin from browser
ps
parents: 860
diff changeset
   689
"/                 )
4f35b96a799e checkin from browser
ps
parents: 860
diff changeset
   690
"/    ].
857
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   691
    changedMethods := (1 to:changedMethods size) collect:[:idx |
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   692
                        |cA cB|
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   693
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   694
                        cA := self at:(indexFromChangedMethodsToA at:idx).
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   695
                        cB := anotherChangeSet at:(indexFromChangedMethodsToB at:idx).
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   696
                        Array with:cA with:cB
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   697
                      ].
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   698
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   699
    ret := IdentityDictionary new.
864
4f35b96a799e checkin from browser
ps
parents: 860
diff changeset
   700
"/    ret at:#info           put:info.
857
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   701
    ret at:#changed        put:changedMethods.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   702
    ret at:#onlyInReceiver put:onlyInReceiver.
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   703
    ret at:#onlyInArg      put:onlyInArg.
864
4f35b96a799e checkin from browser
ps
parents: 860
diff changeset
   704
    ^ret
857
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   705
! !
0a1a91c94e53 diff utility
Claus Gittinger <cg@exept.de>
parents: 829
diff changeset
   706
625
06f4ed35832b added #patches for ST80 compatibility
Claus Gittinger <cg@exept.de>
parents: 378
diff changeset
   707
!ChangeSet class methodsFor:'documentation'!
100
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   708
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   709
version
878
99583ccfe415 *** empty log message ***
ps
parents: 877
diff changeset
   710
    ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.35 2000-01-14 08:11:38 ps Exp $'
100
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   711
! !