ClassDefinitionChange.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 04 Feb 2014 21:01:56 +0100
branchjv
changeset 3435 d15ba356cc58
parent 3422 9e7c2aec7846
child 3838 474d8ec95b33
permissions -rw-r--r--
ChangeSet read/write refactored. Fixed writing & reading changefile. Now class definitions are always written using namespace pragma. Sole method definitions still use namespace prefix as stc and old tools can't deal with namespace pragmas for methods. Support for overriding a class's namespace using `Class nameSpaceQuerySignal` has been dropped as it made things lot more complicated and the only user was Tools::ChangeSetBrowser2.
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
85
c354e2f81394 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 68
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
"
957
54dade11e57f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 911
diff changeset
    12
"{ Package: 'stx:libbasic3' }"
54dade11e57f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 911
diff changeset
    13
0
470788421600 Initial revision
claus
parents:
diff changeset
    14
ClassChange subclass:#ClassDefinitionChange
2316
df2a19de6d8a class definition
Claus Gittinger <cg@exept.de>
parents: 2289
diff changeset
    15
	instanceVariableNames:'objectType superClassName classType indexedType otherParameters
df2a19de6d8a class definition
Claus Gittinger <cg@exept.de>
parents: 2289
diff changeset
    16
		instanceVariableNames classVariableNames
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
    17
		classInstanceVariableNames poolDictionaries category private
3303
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
    18
		definitionSelector'
235
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 101
diff changeset
    19
	classVariableNames:''
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 101
diff changeset
    20
	poolDictionaries:''
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 101
diff changeset
    21
	category:'System-Changes'
0
470788421600 Initial revision
claus
parents:
diff changeset
    22
!
470788421600 Initial revision
claus
parents:
diff changeset
    23
9
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    24
!ClassDefinitionChange class methodsFor:'documentation'!
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    25
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    26
copyright
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    27
"
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    28
 COPYRIGHT (c) 1993 by Claus Gittinger
38
claus
parents: 10
diff changeset
    29
	      All Rights Reserved
9
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    30
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    31
 This software is furnished under a license and may be used
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    32
 only in accordance with the terms of that license and with the
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    33
 inclusion of the above copyright notice.   This software may not
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    34
 be provided or otherwise made available to, or used by, any
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    35
 other person.  No title to or ownership of the software is
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    36
 hereby transferred.
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    37
"
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    38
!
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    39
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    40
documentation
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    41
"
1162
4af27057a3ce comment
Claus Gittinger <cg@exept.de>
parents: 1134
diff changeset
    42
    instances represent class definition-changes. 
4af27057a3ce comment
Claus Gittinger <cg@exept.de>
parents: 1134
diff changeset
    43
    They are typically held in a ChangeSet.
235
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 101
diff changeset
    44
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 101
diff changeset
    45
    [author:]
3ebfdc6edab9 documentation
Claus Gittinger <cg@exept.de>
parents: 101
diff changeset
    46
        Claus Gittinger
9
f5b6ab00bdf6 *** empty log message ***
claus
parents: 6
diff changeset
    47
"
100
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
    48
! !
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
    49
911
cecf421ee767 VW5i compatibility
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
    50
!ClassDefinitionChange methodsFor:'accessing'!
cecf421ee767 VW5i compatibility
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
    51
1434
bc28c94f2e04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
    52
basicSuperClassName 
bc28c94f2e04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
    53
    ^ superClassName
bc28c94f2e04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
    54
!
bc28c94f2e04 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1427
diff changeset
    55
1427
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    56
category
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
    57
    category isNil ifTrue:[
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
    58
        self setupFromSource.
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
    59
    ].
1427
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    60
    ^ category
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
    61
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
    62
    "Modified: / 11-10-2006 / 14:12:01 / cg"
1427
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    63
!
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    64
1178
3d3111846c92 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1162
diff changeset
    65
category:something
3d3111846c92 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1162
diff changeset
    66
    category := something.
3d3111846c92 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1162
diff changeset
    67
!
3d3111846c92 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1162
diff changeset
    68
1427
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    69
classInstanceVariableNames
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    70
    ^ classInstanceVariableNames
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    71
!
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    72
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    73
classInstanceVariableNames:something
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    74
    classInstanceVariableNames := something.
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    75
!
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    76
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    77
classVariableNames
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    78
    ^ classVariableNames
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    79
!
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    80
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    81
classVariableNames:something
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    82
    classVariableNames := something.
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    83
!
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
    84
2368
7e64ab6633f9 Jan's changes
vrany
parents: 2316
diff changeset
    85
delta
3435
d15ba356cc58 ChangeSet read/write refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3422
diff changeset
    86
    | changeClass changeSource imageSource  |
d15ba356cc58 ChangeSet read/write refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3422
diff changeset
    87
2368
7e64ab6633f9 Jan's changes
vrany
parents: 2316
diff changeset
    88
3435
d15ba356cc58 ChangeSet read/write refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3422
diff changeset
    89
    changeClass := self changeClass.
d15ba356cc58 ChangeSet read/write refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3422
diff changeset
    90
    changeClass isNil ifTrue:[^#+].
d15ba356cc58 ChangeSet read/write refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3422
diff changeset
    91
    changeSource := self definitionString.
d15ba356cc58 ChangeSet read/write refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3422
diff changeset
    92
    imageSource := self isPrivateClassDefinitionChange 
d15ba356cc58 ChangeSet read/write refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3422
diff changeset
    93
                    ifTrue:[changeClass definition]
d15ba356cc58 ChangeSet read/write refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3422
diff changeset
    94
                    ifFalse:[changeClass definitionWithoutPackage].
3139
c6eb068647cc class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3111
diff changeset
    95
3414
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
    96
    ^ (self class isSource: changeSource 
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
    97
                 sameSourceAs: imageSource) ifTrue:[ #= ] ifFalse:[ #~ ].
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
    98
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
    99
    "
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   100
        Tools::TextDiff2Tool openOn: changeSource label: 'Change' and: imageSource label: 'Image'
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   101
    "
2504
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   102
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   103
    "Modified: / 31-08-2011 / 09:26:48 / cg"
3435
d15ba356cc58 ChangeSet read/write refactored.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3422
diff changeset
   104
    "Modified: / 04-02-2014 / 20:30:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2504
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   105
!
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   106
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   107
deltaDetail
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   108
    "Returns a delta to the current state as a ChangeDelta object"
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   109
2690
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   110
    | class mySource imageSource myTree imageTree same |
2504
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   111
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   112
    class := self changeClass.
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   113
    class isNil ifTrue:[^ ChangeDeltaInformation added ].
2753
81f43ea8ce75 changed: #deltaDetail
vrany
parents: 2690
diff changeset
   114
    class isLoaded ifFalse:[^ ChangeDeltaInformation different ].
2504
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   115
    mySource := self source.
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   116
    imageSource := class definitionWithoutPackage "definition".
2690
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   117
    same := (mySource = imageSource).
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   118
    same ifFalse:[
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   119
        same := (self class isSource: mySource sameSourceAs: imageSource ).
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   120
        same ifFalse:[
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   121
            "/ care for formatting (tabs, indentation etc.)
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   122
            myTree := RBParser parseExpression:mySource.
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   123
            imageTree := RBParser parseExpression:imageSource.
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   124
            same := (myTree = imageTree).
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   125
            same ifFalse:[
3275
e525d31c2a9b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3270
diff changeset
   126
                "/ some classDefinition strings may contain whitespace
2690
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   127
                "/ instVarName string like 'foo bar ' instead of 'foo bar' (i.e. added a space)...
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   128
                ((myTree receiver = imageTree receiver)
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   129
                    and:[ (myTree selector = imageTree selector)
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   130
                    and:[ ('*ubclass:instanceVariableNames:classVariableNames:poolDictionaries:category:' match: myTree selector)
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   131
                    and:[ (myTree arguments at:1) = (imageTree arguments at:1)  
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   132
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   133
                    and:[ (2 to:5) conform:[:i |
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   134
                            ((myTree arguments at:i) isLiteral
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   135
                            and:[ (imageTree arguments at:i) isLiteral
3275
e525d31c2a9b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3270
diff changeset
   136
                            and:[ (myTree arguments at:i) value asString asCollectionOfWords
e525d31c2a9b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3270
diff changeset
   137
                                  = (imageTree arguments at:i) value asString asCollectionOfWords ]]) ]   
2690
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   138
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   139
                ]]]])
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   140
                    ifTrue:[
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   141
                        same := true
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   142
                    ]
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   143
            ].
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   144
        ]
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   145
    ].
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   146
f2ccdca6b6af changed: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2614
diff changeset
   147
    ^ same 
2504
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   148
        ifTrue:[ ChangeDeltaInformation identical ]
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   149
        ifFalse:[ ChangeDeltaInformation different ]
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   150
c0f78584ae54 added: #deltaDetail
Claus Gittinger <cg@exept.de>
parents: 2425
diff changeset
   151
    "Created: / 31-08-2011 / 10:26:42 / cg"
2753
81f43ea8ce75 changed: #deltaDetail
vrany
parents: 2690
diff changeset
   152
    "Modified: / 24-01-2012 / 22:13:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2368
7e64ab6633f9 Jan's changes
vrany
parents: 2316
diff changeset
   153
!
7e64ab6633f9 Jan's changes
vrany
parents: 2316
diff changeset
   154
3163
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   155
imageSource
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   156
    "return the source for the in-image version of the method"
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   157
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   158
    | cls |
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   159
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   160
    cls := self changeClass.
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   161
    cls isNil ifTrue:[ ^ nil ].
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   162
    ^ cls definitionWithoutPackage
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   163
!
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   164
1427
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   165
instanceVariableNames
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   166
    ^ instanceVariableNames
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   167
!
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   168
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   169
instanceVariableNames:something
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   170
    instanceVariableNames := something.
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   171
!
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   172
3150
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   173
localClassName
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   174
    "for private classes, this returns the name relative to its owner;
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   175
     for non-private ones, this is the regular name.
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   176
     Notice that className always returns the full name (incl. any owner prefix)"
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   177
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   178
    self isPrivateClassDefinitionChange ifFalse:[^ self className].
3220
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   179
3150
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   180
    (className startsWith:(owningClassName,'::')) ifTrue:[
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   181
        ^ className copyFrom:(owningClassName size + 2 + 1).
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   182
    ] ifFalse:[
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   183
        "/ should not happen
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   184
        ^ self className
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   185
    ]
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   186
!
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   187
1046
450ef3136cc3 care for the nameSpace in a class-definition
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
   188
nameSpaceName
3303
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   189
    | nm |
3270
b986056e7fe8 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3245
diff changeset
   190
3303
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   191
    nm := super nameSpaceName.
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   192
    ^nm.
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   193
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   194
"/    "/ JV: What is the following good for? Please explain..."
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   195
"/    objectType == #variable ifTrue:[
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   196
"/        ^ nil
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   197
"/    ].
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   198
"/    ^ self cutNameSpaceOf:(self nameSpaceOverride ? super nameSpaceName)
2280
c93519e114c9 fix for namespace: do not add ns twice.
Claus Gittinger <cg@exept.de>
parents: 2207
diff changeset
   199
2515
39059cf824a8 handle namespace overrides (for mc browser)
Claus Gittinger <cg@exept.de>
parents: 2504
diff changeset
   200
    "Modified: / 07-09-2011 / 20:47:14 / cg"
3303
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   201
    "Modified: / 11-06-2013 / 17:18:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1046
450ef3136cc3 care for the nameSpace in a class-definition
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
   202
!
450ef3136cc3 care for the nameSpace in a class-definition
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
   203
1196
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   204
nameSpaceName: aNameSpaceName classType: aClassType otherParameters:otherParametersArg
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   205
    "this instance setup message is used when reading from a VW-xml change file.
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   206
     Support for this is not yet complete."
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   207
3422
9e7c2aec7846 Fixes for reading VW .xml fileouts.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3414
diff changeset
   208
    | imports |
1196
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   209
3422
9e7c2aec7846 Fixes for reading VW .xml fileouts.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3414
diff changeset
   210
    nameSpaceName := aNameSpaceName.
911
cecf421ee767 VW5i compatibility
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
   211
    classType := aClassType.
1196
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   212
    otherParameters := Dictionary new addAll:otherParametersArg; yourself.
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   213
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   214
    superClassName := otherParameters at:#superclass: ifAbsent:nil.
3163
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   215
    self assert:(superClassName notNil).
1196
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   216
    superClassName notNil ifTrue:[
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   217
        superClassName := superClassName pathString.
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   218
    ].
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   219
    indexedType := otherParameters at:#indexedType: ifAbsent:nil.
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   220
    private := otherParameters at:#private: ifAbsent:nil.
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   221
    instanceVariableNames := otherParameters at:#instanceVariableNames: ifAbsent:nil.
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   222
    classInstanceVariableNames := otherParameters at:#classInstanceVariableNames: ifAbsent:nil.
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   223
    imports := otherParameters at:#imports: ifAbsent:nil.
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   224
    category := otherParameters at:#category: ifAbsent:nil.
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   225
2280
c93519e114c9 fix for namespace: do not add ns twice.
Claus Gittinger <cg@exept.de>
parents: 2207
diff changeset
   226
    "Modified: / 15-06-2010 / 14:50:35 / cg"
3422
9e7c2aec7846 Fixes for reading VW .xml fileouts.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3414
diff changeset
   227
    "Modified: / 12-12-2013 / 12:59:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
911
cecf421ee767 VW5i compatibility
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
   228
!
cecf421ee767 VW5i compatibility
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
   229
cecf421ee767 VW5i compatibility
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
   230
objectType
cecf421ee767 VW5i compatibility
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
   231
    "return the value of the instance variable 'objectType' (automatically generated)"
cecf421ee767 VW5i compatibility
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
   232
1046
450ef3136cc3 care for the nameSpace in a class-definition
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
   233
    ^ objectType
450ef3136cc3 care for the nameSpace in a class-definition
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
   234
!
911
cecf421ee767 VW5i compatibility
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
   235
cecf421ee767 VW5i compatibility
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
   236
objectType:something
cecf421ee767 VW5i compatibility
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
   237
    "set the value of the instance variable 'objectType' (automatically generated)"
cecf421ee767 VW5i compatibility
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
   238
1046
450ef3136cc3 care for the nameSpace in a class-definition
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
   239
    objectType := something.
450ef3136cc3 care for the nameSpace in a class-definition
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
   240
!
450ef3136cc3 care for the nameSpace in a class-definition
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
   241
1427
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   242
poolDictionaries
2832
3cefeea51558 changed:
Claus Gittinger <cg@exept.de>
parents: 2831
diff changeset
   243
    poolDictionaries isNil ifTrue:[
3cefeea51558 changed:
Claus Gittinger <cg@exept.de>
parents: 2831
diff changeset
   244
        self setupFromSource.
3cefeea51558 changed:
Claus Gittinger <cg@exept.de>
parents: 2831
diff changeset
   245
    ].
1427
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   246
    ^ poolDictionaries
2832
3cefeea51558 changed:
Claus Gittinger <cg@exept.de>
parents: 2831
diff changeset
   247
3cefeea51558 changed:
Claus Gittinger <cg@exept.de>
parents: 2831
diff changeset
   248
    "Modified: / 13-06-2012 / 12:23:41 / cg"
1427
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   249
!
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   250
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   251
poolDictionaries:something
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   252
    poolDictionaries := something.
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   253
!
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   254
2289
Claus Gittinger <cg@exept.de>
parents: 2280
diff changeset
   255
private:aBoolean
Claus Gittinger <cg@exept.de>
parents: 2280
diff changeset
   256
    private := aBoolean.
Claus Gittinger <cg@exept.de>
parents: 2280
diff changeset
   257
Claus Gittinger <cg@exept.de>
parents: 2280
diff changeset
   258
    "Created: / 30-08-2010 / 13:56:11 / cg"
Claus Gittinger <cg@exept.de>
parents: 2280
diff changeset
   259
!
Claus Gittinger <cg@exept.de>
parents: 2280
diff changeset
   260
1046
450ef3136cc3 care for the nameSpace in a class-definition
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
   261
source
3220
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   262
    "return the source of the change;
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   263
     either the original source or a synthesized"
1046
450ef3136cc3 care for the nameSpace in a class-definition
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
   264
3220
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   265
    |src|
1196
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   266
1473
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   267
    (src := source) isNil ifTrue:[
1196
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   268
        src := self definitionString
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   269
    ].
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   270
    ^ src
2280
c93519e114c9 fix for namespace: do not add ns twice.
Claus Gittinger <cg@exept.de>
parents: 2207
diff changeset
   271
2900
c21c251db4a0 fixed namespaceoverride (for changeSetBrowser)
Claus Gittinger <cg@exept.de>
parents: 2876
diff changeset
   272
    "Modified: / 10-08-2012 / 11:53:54 / cg"
1196
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   273
!
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   274
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   275
superClassName 
1473
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   276
    |nm|
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   277
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   278
    nm := superClassName.
3163
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   279
    nm isNil ifTrue:[^ 'nil'].
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   280
    "/ convert VW namespace syntax
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   281
    (nm includes:$.) ifTrue:[
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   282
        ^ nm copyReplaceAll:$. withAll:'::'.
1473
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   283
    ].
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   284
    ^ nm
1427
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   285
!
ada0805a62aa more state
Claus Gittinger <cg@exept.de>
parents: 1418
diff changeset
   286
3163
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   287
superClassName:aString
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   288
    superClassName := aString.
16fdcb5a998b class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3150
diff changeset
   289
    self assert:(aString notNil).
2207
16ad29953b1b added: #invalidateSource
Claus Gittinger <cg@exept.de>
parents: 2180
diff changeset
   290
    self invalidateSource.
1473
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   291
!
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   292
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   293
superClassNameWithoutMyNamespace
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   294
    |nm|
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   295
1956
45c24d58e47e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1916
diff changeset
   296
    superClassName isNil ifTrue:[^ 'nil'].
45c24d58e47e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1916
diff changeset
   297
1473
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   298
    nm := self cutMyNameSpaceOf:superClassName.
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   299
    (nm includes:$.) ifTrue:[
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   300
        ^ nm copyReplaceAll:$. withAll:'::'.
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   301
    ].
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   302
    ^ nm
1956
45c24d58e47e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1916
diff changeset
   303
45c24d58e47e *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1916
diff changeset
   304
    "Modified: / 03-03-2007 / 13:09:07 / cg"
1473
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   305
!
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   306
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   307
superClassNameWithoutNamespace
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   308
    |nm|
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   309
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   310
    nm := self cutNameSpaceOf:superClassName.
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   311
    (nm includes:$.) ifTrue:[
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   312
        ^ nm copyReplaceAll:$. withAll:'::'.
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   313
    ].
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   314
    ^ nm
1046
450ef3136cc3 care for the nameSpace in a class-definition
Claus Gittinger <cg@exept.de>
parents: 962
diff changeset
   315
! !
911
cecf421ee767 VW5i compatibility
Claus Gittinger <cg@exept.de>
parents: 896
diff changeset
   316
1998
06004ad8a6e4 changed #apply - set the packageId
Stefan Vogel <sv@exept.de>
parents: 1956
diff changeset
   317
!ClassDefinitionChange methodsFor:'applying'!
06004ad8a6e4 changed #apply - set the packageId
Stefan Vogel <sv@exept.de>
parents: 1956
diff changeset
   318
06004ad8a6e4 changed #apply - set the packageId
Stefan Vogel <sv@exept.de>
parents: 1956
diff changeset
   319
apply
3220
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   320
    |changeClass sourceWithNamespace|
3111
2fddc2f92c11 class: ClassDefinitionChange
Stefan Vogel <sv@exept.de>
parents: 2900
diff changeset
   321
2425
b0011db09dfe changed: #apply
Claus Gittinger <cg@exept.de>
parents: 2410
diff changeset
   322
    superClassName isNil ifTrue:[
3301
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   323
        self setupFromSource.
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   324
    ].
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   325
    "Some classes have nil superclass (such as Object)..."
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   326
    superClassName notNil ifTrue:[
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   327
        (Smalltalk classNamed:superClassName) isNil ifTrue:[
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   328
            Class undeclared:superClassName
3111
2fddc2f92c11 class: ClassDefinitionChange
Stefan Vogel <sv@exept.de>
parents: 2900
diff changeset
   329
        ].
2425
b0011db09dfe changed: #apply
Claus Gittinger <cg@exept.de>
parents: 2410
diff changeset
   330
    ].
3220
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   331
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   332
    "/ here, using the current namespace as provided by the query or the override,
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   333
    "/ generate a class definition with full names (i.e. incl. ns prefix).
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   334
    sourceWithNamespace := self source. 
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   335
    "/ as the namespace is already in the definition string, make sure that the namespace is not
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   336
    "/ added twice, by anwering Smalltalk now!!
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   337
    Class nameSpaceQuerySignal 
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   338
        answer:Smalltalk
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   339
        do:[
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   340
            Parser evaluate:sourceWithNamespace.       
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   341
        ].
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   342
1998
06004ad8a6e4 changed #apply - set the packageId
Stefan Vogel <sv@exept.de>
parents: 1956
diff changeset
   343
    package notNil ifTrue:[
3111
2fddc2f92c11 class: ClassDefinitionChange
Stefan Vogel <sv@exept.de>
parents: 2900
diff changeset
   344
        changeClass := self changeClass.
2fddc2f92c11 class: ClassDefinitionChange
Stefan Vogel <sv@exept.de>
parents: 2900
diff changeset
   345
        changeClass notNil ifTrue:[
2fddc2f92c11 class: ClassDefinitionChange
Stefan Vogel <sv@exept.de>
parents: 2900
diff changeset
   346
            changeClass setPackage:package.
2fddc2f92c11 class: ClassDefinitionChange
Stefan Vogel <sv@exept.de>
parents: 2900
diff changeset
   347
        ].
1998
06004ad8a6e4 changed #apply - set the packageId
Stefan Vogel <sv@exept.de>
parents: 1956
diff changeset
   348
    ].
2368
7e64ab6633f9 Jan's changes
vrany
parents: 2316
diff changeset
   349
7e64ab6633f9 Jan's changes
vrany
parents: 2316
diff changeset
   350
    "
2425
b0011db09dfe changed: #apply
Claus Gittinger <cg@exept.de>
parents: 2410
diff changeset
   351
      (ClassDefinitionChange className: #TestB source: 'TestA subclass: #TestB
b0011db09dfe changed: #apply
Claus Gittinger <cg@exept.de>
parents: 2410
diff changeset
   352
          instanceVariableNames:''''
b0011db09dfe changed: #apply
Claus Gittinger <cg@exept.de>
parents: 2410
diff changeset
   353
          classVariableNames:''''
b0011db09dfe changed: #apply
Claus Gittinger <cg@exept.de>
parents: 2410
diff changeset
   354
          poolDictionaries:''''
b0011db09dfe changed: #apply
Claus Gittinger <cg@exept.de>
parents: 2410
diff changeset
   355
          category:''* remove me *''')
b0011db09dfe changed: #apply
Claus Gittinger <cg@exept.de>
parents: 2410
diff changeset
   356
          apply
2368
7e64ab6633f9 Jan's changes
vrany
parents: 2316
diff changeset
   357
    "
7e64ab6633f9 Jan's changes
vrany
parents: 2316
diff changeset
   358
2554
f3d7c0dc56b0 changed: #definitionString
Claus Gittinger <cg@exept.de>
parents: 2518
diff changeset
   359
    "Modified: / 06-10-2011 / 17:01:58 / cg"
3301
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   360
    "Modified: / 10-06-2013 / 17:12:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1998
06004ad8a6e4 changed #apply - set the packageId
Stefan Vogel <sv@exept.de>
parents: 1956
diff changeset
   361
! !
06004ad8a6e4 changed #apply - set the packageId
Stefan Vogel <sv@exept.de>
parents: 1956
diff changeset
   362
784
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   363
!ClassDefinitionChange methodsFor:'comparing'!
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   364
3210
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   365
isConflict
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   366
    "true if this change is different than what is already in the image
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   367
     (i.e. it overwrites some existing code)"
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   368
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   369
    |cls|
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   370
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   371
    (cls := self changeClass) isNil ifTrue:[^ false].
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   372
    cls superclass name ~= superClassName ifTrue:[ ^ true ].
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   373
    cls instanceVariableString ~= instanceVariableNames ifTrue:[ ^ true ].
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   374
    cls classVariableString ~= classVariableNames ifTrue:[ ^ true ].
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   375
    cls class instanceVariableString ~= classInstanceVariableNames ifTrue:[ ^ true ].
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   376
    cls sharedPoolNames ~= poolDictionaries ifTrue:[ ^ true ].
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   377
    cls category ~= category ifTrue:[ ^ true ].
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   378
    cls isPrivate ifTrue:[
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   379
        cls owningClass name ~= owningClassName ifTrue:[ ^ true ].
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   380
    ].
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   381
    cls definitionSelector ~= self definitionSelector ifTrue:[ ^ true ].
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   382
    ^  false
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   383
!
ab1729c084da class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3205
diff changeset
   384
784
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   385
isForSameAs:changeB
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   386
    "return true, if the given change represents a change for the same
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   387
     thingy as the receiver (i.e. same method, same definition etc.)."
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   388
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   389
    changeB isClassDefinitionChange ifFalse:[^ false].   
3205
5d3a00da5f5a class: ClassDefinitionChange
Stefan Vogel <sv@exept.de>
parents: 3203
diff changeset
   390
    ^ self className = changeB className.
784
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   391
!
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   392
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   393
sameAs:changeB
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   394
    "return true, if the given change represents the same change as the receiver."
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   395
798
999fff0aa0d0 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 787
diff changeset
   396
    (self isForSameAs:changeB) ifFalse:[^ false].
784
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   397
    ^ self sameSourceAs:changeB
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   398
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   399
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   400
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   401
! !
1e50cc7fd07d added compare methods #sameAs: and #isForSameAs:
Claus Gittinger <cg@exept.de>
parents: 772
diff changeset
   402
2410
b09cc8e12790 Extension methods from libsvn
vrany
parents: 2402
diff changeset
   403
!ClassDefinitionChange methodsFor:'converting'!
b09cc8e12790 Extension methods from libsvn
vrany
parents: 2402
diff changeset
   404
b09cc8e12790 Extension methods from libsvn
vrany
parents: 2402
diff changeset
   405
asAntiChange
b09cc8e12790 Extension methods from libsvn
vrany
parents: 2402
diff changeset
   406
b09cc8e12790 Extension methods from libsvn
vrany
parents: 2402
diff changeset
   407
    ^ClassRemoveChange className: self className
b09cc8e12790 Extension methods from libsvn
vrany
parents: 2402
diff changeset
   408
b09cc8e12790 Extension methods from libsvn
vrany
parents: 2402
diff changeset
   409
    "Created: / 02-11-2009 / 11:11:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b09cc8e12790 Extension methods from libsvn
vrany
parents: 2402
diff changeset
   410
! !
b09cc8e12790 Extension methods from libsvn
vrany
parents: 2402
diff changeset
   411
962
3821ab69b939 category change
Claus Gittinger <cg@exept.de>
parents: 957
diff changeset
   412
!ClassDefinitionChange methodsFor:'printing & storing'!
787
5d49bd054fc2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   413
1196
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   414
definitionString
3303
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   415
    | ns  |
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   416
3414
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   417
3303
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   418
    ns := self nameSpaceName.
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   419
    ns isEmptyOrNil ifTrue:[
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   420
        ^ self definitionStringInNamespace: ns.
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   421
    ].
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   422
    ^String streamContents:[:s|
3414
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   423
"/        owningClassName isNil ifTrue:[
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   424
            s nextPutAll: '"{ NameSpace: '; nextPutAll: ns; nextPutAll: ' }"'.
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   425
            s cr; cr.
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   426
"/        ].
3303
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   427
        s nextPutAll: (self definitionStringInNamespace: ns).
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   428
    ]
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   429
3414
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   430
    "Modified: / 13-11-2013 / 17:40:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3203
2639572248b5 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3163
diff changeset
   431
!
2515
39059cf824a8 handle namespace overrides (for mc browser)
Claus Gittinger <cg@exept.de>
parents: 2504
diff changeset
   432
3203
2639572248b5 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3163
diff changeset
   433
definitionStringInNamespace: nsOrNil
3414
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   434
    | classNameUsed superClassNameUsed selPart ownerNameUsed classNameSymbolString |
2515
39059cf824a8 handle namespace overrides (for mc browser)
Claus Gittinger <cg@exept.de>
parents: 2504
diff changeset
   435
1473
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   436
    objectType == #variable ifTrue:[
3220
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   437
        "/ a visualWorks static variable definition change.
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   438
        "/ kludge to be here - should be a separate StaticVariableDefinitionChange
1473
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   439
        ^ String streamContents:[:stream |
3203
2639572248b5 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3163
diff changeset
   440
            nsOrNil notNil ifTrue:[
2639572248b5 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3163
diff changeset
   441
                stream nextPutAll:((nsOrNil asCollectionOfSubstringsSeparatedBy:$.) asStringWith:'::')
2280
c93519e114c9 fix for namespace: do not add ns twice.
Claus Gittinger <cg@exept.de>
parents: 2207
diff changeset
   442
            ] ifFalse:[
c93519e114c9 fix for namespace: do not add ns twice.
Claus Gittinger <cg@exept.de>
parents: 2207
diff changeset
   443
                self halt:'can this happen ?'.
2834
7b578e35a658 changed: #definitionString
Claus Gittinger <cg@exept.de>
parents: 2833
diff changeset
   444
                stream nextPutAll:'Smalltalk'
2280
c93519e114c9 fix for namespace: do not add ns twice.
Claus Gittinger <cg@exept.de>
parents: 2207
diff changeset
   445
            ].
c93519e114c9 fix for namespace: do not add ns twice.
Claus Gittinger <cg@exept.de>
parents: 2207
diff changeset
   446
1196
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   447
            stream 
928f537ddeac more for vw-XML fileIn
Claus Gittinger <cg@exept.de>
parents: 1178
diff changeset
   448
                nextPutAll:' addClassVarName:';
1318
e31c6a24ab5f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1234
diff changeset
   449
                nextPutAll:className asString storeString
1473
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   450
          ].
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   451
    ].
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   452
2554
f3d7c0dc56b0 changed: #definitionString
Claus Gittinger <cg@exept.de>
parents: 2518
diff changeset
   453
    superClassNameUsed := self superClassName.
3303
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   454
    "Strip of namespace"
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   455
    nsOrNil notNil ifTrue:[
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   456
        (superClassNameUsed startsWith: nsOrNil) ifTrue:[
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   457
            superClassNameUsed := superClassNameUsed copyFrom: nsOrNil size + 3
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   458
        ].
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   459
    ].
7ed5d48e3756 Refactoring of class names and namespaces in ClassChange (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3301
diff changeset
   460
3150
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   461
    "/ careful with private classes: the definition MUST give the
3414
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   462
    "/ local name as argument, not the full name                                
3220
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   463
    self isPrivateClassDefinitionChange ifTrue:[
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   464
        classNameUsed := self localClassName.
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   465
    ] ifFalse:[
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   466
        classNameUsed := className.
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   467
    ].
3150
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   468
3203
2639572248b5 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3163
diff changeset
   469
    "/ selPart is the subclass:/variableSubclass/variableByteSubclass:/... - part
2834
7b578e35a658 changed: #definitionString
Claus Gittinger <cg@exept.de>
parents: 2833
diff changeset
   470
    selPart := (self definitionSelector ? #'subclass:instanceVariableNames:classVariableNames:poolDictionaries:category:')
7b578e35a658 changed: #definitionString
Claus Gittinger <cg@exept.de>
parents: 2833
diff changeset
   471
                    keywords first.         
2554
f3d7c0dc56b0 changed: #definitionString
Claus Gittinger <cg@exept.de>
parents: 2518
diff changeset
   472
3414
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   473
    (classNameUsed first isLetter not or:[classNameUsed contains:[:c | c isLetterOrDigit not and:[c ~~ $_]]]) ifTrue:[
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   474
        classNameSymbolString := classNameUsed asSymbol storeString
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   475
    ] ifFalse:[
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   476
        classNameSymbolString := '#' , classNameUsed.
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   477
    ].
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   478
1473
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   479
    ^ String streamContents:[:stream |
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   480
        stream 
2554
f3d7c0dc56b0 changed: #definitionString
Claus Gittinger <cg@exept.de>
parents: 2518
diff changeset
   481
            nextPutAll:superClassNameUsed;
2834
7b578e35a658 changed: #definitionString
Claus Gittinger <cg@exept.de>
parents: 2833
diff changeset
   482
            nextPutAll:' ',selPart;
3414
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   483
            nextPutLine: classNameSymbolString;
3245
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   484
            tab;
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   485
            nextPutAll:'instanceVariableNames:';
3203
2639572248b5 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3163
diff changeset
   486
            nextPutLine:(instanceVariableNames ? '') storeString;
3245
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   487
            tab;
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   488
            nextPutAll:'classVariableNames:';
3203
2639572248b5 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3163
diff changeset
   489
            nextPutLine:(classVariableNames ? '') storeString;
3245
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   490
            tab;
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   491
            nextPutAll:'poolDictionaries:';
3203
2639572248b5 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3163
diff changeset
   492
            nextPutLine:(poolDictionaries ? '') storeString.
3220
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   493
        self isPrivateClassDefinitionChange ifTrue:[
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   494
            ownerNameUsed := self owningClassName.    
3414
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   495
            (nsOrNil isNil or:[nsOrNil ~~ nameSpaceName]) ifTrue:[
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   496
                (nsOrNil ? nameSpaceName) notNil ifTrue:[
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   497
                    ownerNameUsed := (nsOrNil ? nameSpaceName),'::',ownerNameUsed.
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   498
                ].
3220
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   499
            ].
2831
667bf6769db8 changed: #definitionString
Claus Gittinger <cg@exept.de>
parents: 2753
diff changeset
   500
            stream 
3245
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   501
                tab;
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   502
                nextPutAll:'privateIn:';
3220
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   503
                nextPutAll:ownerNameUsed
2831
667bf6769db8 changed: #definitionString
Claus Gittinger <cg@exept.de>
parents: 2753
diff changeset
   504
        ] ifFalse:[
667bf6769db8 changed: #definitionString
Claus Gittinger <cg@exept.de>
parents: 2753
diff changeset
   505
            stream 
3245
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   506
                tab;
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   507
                nextPutAll:'category:';
3203
2639572248b5 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3163
diff changeset
   508
                nextPutAll:(category ? '') asString storeString
2831
667bf6769db8 changed: #definitionString
Claus Gittinger <cg@exept.de>
parents: 2753
diff changeset
   509
        ].
1473
a8fe22600414 more support for alien namespaces (VW7)
Claus Gittinger <cg@exept.de>
parents: 1434
diff changeset
   510
      ]
2280
c93519e114c9 fix for namespace: do not add ns twice.
Claus Gittinger <cg@exept.de>
parents: 2207
diff changeset
   511
2834
7b578e35a658 changed: #definitionString
Claus Gittinger <cg@exept.de>
parents: 2833
diff changeset
   512
    "Modified: / 13-06-2012 / 13:01:58 / cg"
3414
72fcb24786da Fixes in ClassDefinitionChange>>delta
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3410
diff changeset
   513
    "Modified: / 13-11-2013 / 17:13:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2876
6a4f62f95771 Merged from SVN
vrany
parents: 2834
diff changeset
   514
!
6a4f62f95771 Merged from SVN
vrany
parents: 2834
diff changeset
   515
1101
fd826cb660e6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   516
printOn:aStream
1866
137956d65cad *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1854
diff changeset
   517
    aStream 
137956d65cad *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1854
diff changeset
   518
        nextPutAll:className; nextPutAll:' {definition}'
137956d65cad *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1854
diff changeset
   519
137956d65cad *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1854
diff changeset
   520
    "Modified: / 12-10-2006 / 17:48:28 / cg"
1101
fd826cb660e6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   521
!
fd826cb660e6 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   522
896
035d5613a20c *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 798
diff changeset
   523
printWithoutClassNameOn:aStream
787
5d49bd054fc2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   524
    aStream nextPutAll:('definition of ' , className)
5d49bd054fc2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   525
5d49bd054fc2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   526
5d49bd054fc2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   527
! !
5d49bd054fc2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 784
diff changeset
   528
772
8e638e1b2da3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   529
!ClassDefinitionChange methodsFor:'queries'!
8e638e1b2da3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   530
1134
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   531
definitionSelector
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   532
    definitionSelector isNil ifTrue:[
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   533
        self setupFromSource.
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   534
    ].
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   535
    ^ definitionSelector
1134
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   536
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   537
    "Modified: / 11-10-2006 / 14:11:44 / cg"
1134
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   538
!
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   539
2833
08f9fc1732e2 added: #definitionSelector:
Claus Gittinger <cg@exept.de>
parents: 2832
diff changeset
   540
definitionSelector:aSelector
08f9fc1732e2 added: #definitionSelector:
Claus Gittinger <cg@exept.de>
parents: 2832
diff changeset
   541
    definitionSelector := aSelector
08f9fc1732e2 added: #definitionSelector:
Claus Gittinger <cg@exept.de>
parents: 2832
diff changeset
   542
08f9fc1732e2 added: #definitionSelector:
Claus Gittinger <cg@exept.de>
parents: 2832
diff changeset
   543
    "Created: / 13-06-2012 / 12:45:02 / cg"
08f9fc1732e2 added: #definitionSelector:
Claus Gittinger <cg@exept.de>
parents: 2832
diff changeset
   544
!
08f9fc1732e2 added: #definitionSelector:
Claus Gittinger <cg@exept.de>
parents: 2832
diff changeset
   545
3220
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   546
fullOwningClassName
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   547
    "the owner's name, including its namespace"
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   548
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   549
    |nm ns|
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   550
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   551
    nm := self owningClassName.
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   552
    nm isNil ifTrue:[^ nil].
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   553
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   554
    (ns := self nameSpaceOverride) notNil ifTrue:[
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   555
        ^ ns,'::',nm
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   556
    ].
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   557
    ^ nm
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   558
!
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   559
772
8e638e1b2da3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   560
isClassDefinitionChange
8e638e1b2da3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   561
    ^ true
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   562
!
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   563
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   564
isPrivateClassDefinitionChange
3150
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   565
    "compute lazily; remember in private"
10fa70a50dfa class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3139
diff changeset
   566
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   567
    private isNil ifTrue:[
1904
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   568
        (className includes:$:) ifFalse:[
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   569
            "/ cannot be private
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   570
            private := false
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   571
        ] ifTrue:[
1909
ec92c9dabf66 care for isPrivate query when no source is avail.
Claus Gittinger <cg@exept.de>
parents: 1904
diff changeset
   572
            source isNil ifTrue:[^ false ].
ec92c9dabf66 care for isPrivate query when no source is avail.
Claus Gittinger <cg@exept.de>
parents: 1904
diff changeset
   573
            (source includesString:'private') ifFalse:[
ec92c9dabf66 care for isPrivate query when no source is avail.
Claus Gittinger <cg@exept.de>
parents: 1904
diff changeset
   574
                private := false.
1904
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   575
            ] ifTrue:[
1916
398d157846cb changed #isPrivateClassDefinitionChange
ca
parents: 1909
diff changeset
   576
"/                (self changeClass notNil
398d157846cb changed #isPrivateClassDefinitionChange
ca
parents: 1909
diff changeset
   577
"/                and:[self changeClass isLoaded not]) ifTrue:[
398d157846cb changed #isPrivateClassDefinitionChange
ca
parents: 1909
diff changeset
   578
"/                    "/ cannot be private
398d157846cb changed #isPrivateClassDefinitionChange
ca
parents: 1909
diff changeset
   579
"/                    private := false
398d157846cb changed #isPrivateClassDefinitionChange
ca
parents: 1909
diff changeset
   580
"/                ] ifTrue:[
1909
ec92c9dabf66 care for isPrivate query when no source is avail.
Claus Gittinger <cg@exept.de>
parents: 1904
diff changeset
   581
                    self setupFromSource.
1916
398d157846cb changed #isPrivateClassDefinitionChange
ca
parents: 1909
diff changeset
   582
"/                ].
1904
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   583
            ].
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   584
        ].
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   585
    ].
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   586
    ^ private
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   587
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   588
    "Created: / 11-10-2006 / 14:19:03 / cg"
1909
ec92c9dabf66 care for isPrivate query when no source is avail.
Claus Gittinger <cg@exept.de>
parents: 1904
diff changeset
   589
    "Modified: / 16-11-2006 / 16:34:19 / cg"
1871
3daa5601c86e +owner access and other support for private classes
Claus Gittinger <cg@exept.de>
parents: 1866
diff changeset
   590
!
3daa5601c86e +owner access and other support for private classes
Claus Gittinger <cg@exept.de>
parents: 1866
diff changeset
   591
3daa5601c86e +owner access and other support for private classes
Claus Gittinger <cg@exept.de>
parents: 1866
diff changeset
   592
owningClassName
3220
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   593
    "the owner's name, excluding the namespace"
a8e24cc171f6 namespace handling fixed (I hope)
Claus Gittinger <cg@exept.de>
parents: 3210
diff changeset
   594
1871
3daa5601c86e +owner access and other support for private classes
Claus Gittinger <cg@exept.de>
parents: 1866
diff changeset
   595
    self isPrivateClassDefinitionChange ifTrue:[
3daa5601c86e +owner access and other support for private classes
Claus Gittinger <cg@exept.de>
parents: 1866
diff changeset
   596
        owningClassName isNil ifTrue:[
3daa5601c86e +owner access and other support for private classes
Claus Gittinger <cg@exept.de>
parents: 1866
diff changeset
   597
            self setupFromSource.
3daa5601c86e +owner access and other support for private classes
Claus Gittinger <cg@exept.de>
parents: 1866
diff changeset
   598
        ].
3daa5601c86e +owner access and other support for private classes
Claus Gittinger <cg@exept.de>
parents: 1866
diff changeset
   599
    ].
3daa5601c86e +owner access and other support for private classes
Claus Gittinger <cg@exept.de>
parents: 1866
diff changeset
   600
    ^ owningClassName
3daa5601c86e +owner access and other support for private classes
Claus Gittinger <cg@exept.de>
parents: 1866
diff changeset
   601
3daa5601c86e +owner access and other support for private classes
Claus Gittinger <cg@exept.de>
parents: 1866
diff changeset
   602
    "Created: / 12-10-2006 / 23:07:25 / cg"
772
8e638e1b2da3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   603
! !
8e638e1b2da3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 235
diff changeset
   604
1134
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   605
!ClassDefinitionChange methodsFor:'special'!
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   606
1395
6ea99b157f6b Use #setFilename:forClass:package: to define an abbreviation
Stefan Vogel <sv@exept.de>
parents: 1318
diff changeset
   607
installAsAutoloadedClassIfPublicWithFilename:aFilenameString
6ea99b157f6b Use #setFilename:forClass:package: to define an abbreviation
Stefan Vogel <sv@exept.de>
parents: 1318
diff changeset
   608
    "install the class defined by this change as autoloaded.
6ea99b157f6b Use #setFilename:forClass:package: to define an abbreviation
Stefan Vogel <sv@exept.de>
parents: 1318
diff changeset
   609
     Skip private classes.
6ea99b157f6b Use #setFilename:forClass:package: to define an abbreviation
Stefan Vogel <sv@exept.de>
parents: 1318
diff changeset
   610
     Enter class file name as abbreviation"
6ea99b157f6b Use #setFilename:forClass:package: to define an abbreviation
Stefan Vogel <sv@exept.de>
parents: 1318
diff changeset
   611
1904
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   612
    |parseTree sel cat clsName cls catIdx pkg|
1134
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   613
2289
Claus Gittinger <cg@exept.de>
parents: 2280
diff changeset
   614
    private == true ifTrue:[^ self].
Claus Gittinger <cg@exept.de>
parents: 2280
diff changeset
   615
1134
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   616
    parseTree := Parser parseExpression:self source.
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   617
    parseTree isMessage ifFalse:[
1395
6ea99b157f6b Use #setFilename:forClass:package: to define an abbreviation
Stefan Vogel <sv@exept.de>
parents: 1318
diff changeset
   618
        self error:'bad change source'.
1134
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   619
    ].
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   620
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   621
    sel := parseTree selector.
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   622
    (sel endsWith:':privateIn:') ifTrue:[^ self].
1418
12e8c28ea8a4 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1395
diff changeset
   623
3402
d13a0331a314 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3380
diff changeset
   624
    catIdx := sel keywords indexOf:'category:'.  
1134
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   625
    catIdx ~~ 0 ifTrue:[
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   626
        cat := (parseTree args at:catIdx) evaluate.
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   627
    ].
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   628
3223
c3c37b9ce3f1 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3220
diff changeset
   629
    clsName := self fullClassName "className" asSymbol.
1802
e6b6e7ff0475 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1473
diff changeset
   630
    cls := Smalltalk at:clsName.
1904
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   631
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   632
    pkg := package ? Project current package.   
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   633
1802
e6b6e7ff0475 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1473
diff changeset
   634
    (cls isNil 
e6b6e7ff0475 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1473
diff changeset
   635
     or:[cls isBehavior not
e6b6e7ff0475 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1473
diff changeset
   636
     or:[cls isLoaded not]]) ifTrue:[
1904
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   637
        |autoloadedClass|
1395
6ea99b157f6b Use #setFilename:forClass:package: to define an abbreviation
Stefan Vogel <sv@exept.de>
parents: 1318
diff changeset
   638
1836
32d067ea4c1a classFilename handling
Claus Gittinger <cg@exept.de>
parents: 1802
diff changeset
   639
        autoloadedClass := Smalltalk 
1395
6ea99b157f6b Use #setFilename:forClass:package: to define an abbreviation
Stefan Vogel <sv@exept.de>
parents: 1318
diff changeset
   640
           installAutoloadedClassNamed:clsName 
6ea99b157f6b Use #setFilename:forClass:package: to define an abbreviation
Stefan Vogel <sv@exept.de>
parents: 1318
diff changeset
   641
           category:cat 
6ea99b157f6b Use #setFilename:forClass:package: to define an abbreviation
Stefan Vogel <sv@exept.de>
parents: 1318
diff changeset
   642
           package:pkg 
6ea99b157f6b Use #setFilename:forClass:package: to define an abbreviation
Stefan Vogel <sv@exept.de>
parents: 1318
diff changeset
   643
           revision:nil.
6ea99b157f6b Use #setFilename:forClass:package: to define an abbreviation
Stefan Vogel <sv@exept.de>
parents: 1318
diff changeset
   644
        aFilenameString notNil ifTrue:[
1836
32d067ea4c1a classFilename handling
Claus Gittinger <cg@exept.de>
parents: 1802
diff changeset
   645
            autoloadedClass setClassFilename:aFilenameString.
32d067ea4c1a classFilename handling
Claus Gittinger <cg@exept.de>
parents: 1802
diff changeset
   646
            "/ Smalltalk setFilename:aFilenameString forClass:clsName package:pkg.
1395
6ea99b157f6b Use #setFilename:forClass:package: to define an abbreviation
Stefan Vogel <sv@exept.de>
parents: 1318
diff changeset
   647
        ]
1904
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   648
    ] ifFalse:[
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   649
        cls notNil ifTrue:[
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   650
            cls isBehavior ifTrue:[
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   651
                cls package ~= pkg ifTrue:[
3380
e1552e206f02 class: ClassDefinitionChange
Stefan Vogel <sv@exept.de>
parents: 3275
diff changeset
   652
Transcript showCR:('Autoloaded class: %1 (%4) not installed (package would change from %2 to %3)' 
e1552e206f02 class: ClassDefinitionChange
Stefan Vogel <sv@exept.de>
parents: 3275
diff changeset
   653
                        bindWith:clsName with:cls package with:pkg with:aFilenameString).
1904
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   654
                ]
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   655
            ].
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   656
        ].
d025e9f1cb8b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1887
diff changeset
   657
    ].
1836
32d067ea4c1a classFilename handling
Claus Gittinger <cg@exept.de>
parents: 1802
diff changeset
   658
2402
f6799fe6acc4 changed: #installAsAutoloadedClassIfPublicWithFilename:
Claus Gittinger <cg@exept.de>
parents: 2368
diff changeset
   659
    "Modified: / 03-07-2011 / 18:34:05 / cg"
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   660
!
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   661
2207
16ad29953b1b added: #invalidateSource
Claus Gittinger <cg@exept.de>
parents: 2180
diff changeset
   662
invalidateSource
16ad29953b1b added: #invalidateSource
Claus Gittinger <cg@exept.de>
parents: 2180
diff changeset
   663
    "internal - flush the sourceString if it got invalidated due to a
16ad29953b1b added: #invalidateSource
Claus Gittinger <cg@exept.de>
parents: 2180
diff changeset
   664
     className, superclassName, etc... change"
16ad29953b1b added: #invalidateSource
Claus Gittinger <cg@exept.de>
parents: 2180
diff changeset
   665
16ad29953b1b added: #invalidateSource
Claus Gittinger <cg@exept.de>
parents: 2180
diff changeset
   666
    source := nil.
16ad29953b1b added: #invalidateSource
Claus Gittinger <cg@exept.de>
parents: 2180
diff changeset
   667
!
16ad29953b1b added: #invalidateSource
Claus Gittinger <cg@exept.de>
parents: 2180
diff changeset
   668
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   669
setupFromSource
3245
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   670
    "Extract data from class definition string in source. 
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   671
     WARNING: This overwrites values in instvars!!"
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   672
3245
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   673
    |parseTree catIdx poolIdx instVarIdx classVarIdx |
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   674
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   675
    source notNil ifTrue:[
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   676
        parseTree := Parser parseExpression:source.
1878
03616db03ea9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1871
diff changeset
   677
        (parseTree notNil and:[parseTree isMessage]) ifFalse:[
1887
8dac6c403660 changed #setupFromSource
Claus Gittinger <cg@exept.de>
parents: 1878
diff changeset
   678
            self error:'bad change source' mayProceed:true.
8dac6c403660 changed #setupFromSource
Claus Gittinger <cg@exept.de>
parents: 1878
diff changeset
   679
            ^ self
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   680
        ].
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   681
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   682
        definitionSelector := parseTree selector.
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   683
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   684
        private := (definitionSelector endsWith:':privateIn:').
1871
3daa5601c86e +owner access and other support for private classes
Claus Gittinger <cg@exept.de>
parents: 1866
diff changeset
   685
        private ifTrue:[
3daa5601c86e +owner access and other support for private classes
Claus Gittinger <cg@exept.de>
parents: 1866
diff changeset
   686
            owningClassName := parseTree args last name.
3daa5601c86e +owner access and other support for private classes
Claus Gittinger <cg@exept.de>
parents: 1866
diff changeset
   687
        ].
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   688
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   689
        catIdx := definitionSelector keywords indexOf:'category:'.  
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   690
        catIdx ~~ 0 ifTrue:[
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   691
            category := (parseTree args at:catIdx) evaluate.
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   692
        ].
2368
7e64ab6633f9 Jan's changes
vrany
parents: 2316
diff changeset
   693
2832
3cefeea51558 changed:
Claus Gittinger <cg@exept.de>
parents: 2831
diff changeset
   694
        poolIdx := definitionSelector keywords indexOf:'poolDictionaries:'.  
3cefeea51558 changed:
Claus Gittinger <cg@exept.de>
parents: 2831
diff changeset
   695
        poolIdx ~~ 0 ifTrue:[
3cefeea51558 changed:
Claus Gittinger <cg@exept.de>
parents: 2831
diff changeset
   696
            poolDictionaries := (parseTree args at:poolIdx) evaluate.
3cefeea51558 changed:
Claus Gittinger <cg@exept.de>
parents: 2831
diff changeset
   697
        ].
3cefeea51558 changed:
Claus Gittinger <cg@exept.de>
parents: 2831
diff changeset
   698
3245
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   699
        instVarIdx := definitionSelector keywords indexOf:'instanceVariableNames:'.
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   700
        instVarIdx ~~ 0 ifTrue:[
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   701
            instanceVariableNames := (parseTree args at:instVarIdx) value.
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   702
        ].
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   703
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   704
        classVarIdx := definitionSelector keywords indexOf:'classVariableNames:'.
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   705
        classVarIdx ~~ 0 ifTrue:[
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   706
            classVariableNames := (parseTree args at:classVarIdx) value.
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   707
        ].
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   708
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   709
3301
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   710
        "Care about nil superclasss (that's valid for certain
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   711
         classes like Object, ProtoObject or custom proxies"
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   712
        parseTree receiver isVariable ifTrue:[            
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   713
            superClassName := parseTree receiver name.
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   714
        ] ifFalse:[
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   715
            parseTree receiver isConstant ifTrue:[
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   716
                superClassName := parseTree receiver value.
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   717
                superClassName notNil ifTrue:[
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   718
                    self error: 'Invalid superclass - can be either a class or nil'
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   719
                ]        
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   720
            ]        
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   721
        ].
1854
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   722
    ].
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   723
0ff12f6ba051 queries for privacy
Claus Gittinger <cg@exept.de>
parents: 1836
diff changeset
   724
    "Created: / 11-10-2006 / 14:10:02 / cg"
2832
3cefeea51558 changed:
Claus Gittinger <cg@exept.de>
parents: 2831
diff changeset
   725
    "Modified: / 13-06-2012 / 12:25:10 / cg"
3301
cf7793a3625e Bugfix in ClassDefinitionChange (nil superclass),
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3285
diff changeset
   726
    "Modified: / 10-06-2013 / 17:07:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1134
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   727
! !
915934e8aab8 care for package; added installAsAutoloaded
Claus Gittinger <cg@exept.de>
parents: 1101
diff changeset
   728
2614
7d342615bb66 visitor support (for monticello);
Claus Gittinger <cg@exept.de>
parents: 2554
diff changeset
   729
!ClassDefinitionChange methodsFor:'visiting'!
7d342615bb66 visitor support (for monticello);
Claus Gittinger <cg@exept.de>
parents: 2554
diff changeset
   730
7d342615bb66 visitor support (for monticello);
Claus Gittinger <cg@exept.de>
parents: 2554
diff changeset
   731
acceptChangeVisitor:aVisitor
7d342615bb66 visitor support (for monticello);
Claus Gittinger <cg@exept.de>
parents: 2554
diff changeset
   732
    ^ aVisitor visitClassDefinitionChange:self.
7d342615bb66 visitor support (for monticello);
Claus Gittinger <cg@exept.de>
parents: 2554
diff changeset
   733
7d342615bb66 visitor support (for monticello);
Claus Gittinger <cg@exept.de>
parents: 2554
diff changeset
   734
    "Created: / 25-11-2011 / 17:13:13 / cg"
7d342615bb66 visitor support (for monticello);
Claus Gittinger <cg@exept.de>
parents: 2554
diff changeset
   735
! !
7d342615bb66 visitor support (for monticello);
Claus Gittinger <cg@exept.de>
parents: 2554
diff changeset
   736
100
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   737
!ClassDefinitionChange class methodsFor:'documentation'!
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   738
2518
2cae313d2ab7 changed: #package:
Claus Gittinger <cg@exept.de>
parents: 2515
diff changeset
   739
version
3402
d13a0331a314 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3380
diff changeset
   740
    ^ '$Header: /cvs/stx/stx/libbasic3/ClassDefinitionChange.st,v 1.86 2013-09-28 12:10:20 cg Exp $'
3223
c3c37b9ce3f1 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3220
diff changeset
   741
!
c3c37b9ce3f1 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3220
diff changeset
   742
c3c37b9ce3f1 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3220
diff changeset
   743
version_CVS
3402
d13a0331a314 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3380
diff changeset
   744
    ^ '$Header: /cvs/stx/stx/libbasic3/ClassDefinitionChange.st,v 1.86 2013-09-28 12:10:20 cg Exp $'
3245
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   745
!
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   746
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   747
version_HG
a0e79ed3aa65 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3223
diff changeset
   748
3270
b986056e7fe8 class: ClassDefinitionChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3245
diff changeset
   749
    ^ '$Changeset: <not expanded> $'
2180
c952a3ae234d changed: #installAsAutoloadedClassIfPublicWithFilename:
Stefan Vogel <sv@exept.de>
parents: 2093
diff changeset
   750
!
c952a3ae234d changed: #installAsAutoloadedClassIfPublicWithFilename:
Stefan Vogel <sv@exept.de>
parents: 2093
diff changeset
   751
2368
7e64ab6633f9 Jan's changes
vrany
parents: 2316
diff changeset
   752
version_SVN
3402
d13a0331a314 class: ClassDefinitionChange
Claus Gittinger <cg@exept.de>
parents: 3380
diff changeset
   753
    ^ '$Id: ClassDefinitionChange.st,v 1.86 2013-09-28 12:10:20 cg Exp $'
100
d09e51d14901 project changeSet fixes
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   754
! !
3111
2fddc2f92c11 class: ClassDefinitionChange
Stefan Vogel <sv@exept.de>
parents: 2900
diff changeset
   755