ClassInitializeChange.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 31 May 2018 10:52:50 +0100
branchjv
changeset 4330 998eb03f0736
parent 3850 461c0b054a4f
permissions -rw-r--r--
Copyright updates
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3850
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
     1
"
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
     3
              All Rights Reserved
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
     4
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
     5
 This software is furnished under a license and may be used
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
     6
 only in accordance with the terms of that license and with the
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
     8
 be provided or otherwise made available to, or used by, any
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
     9
 other person.  No title to or ownership of the software is
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    10
 hereby transferred.
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    11
"
3522
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
"{ Package: 'stx:libbasic3' }"
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
3850
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    14
"{ NameSpace: Smalltalk }"
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    15
3522
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
ClassChange subclass:#ClassInitializeChange
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	instanceVariableNames:''
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
	classVariableNames:''
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
	poolDictionaries:''
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
	category:'System-Changes'
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
!
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
!ClassInitializeChange class methodsFor:'documentation'!
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
3850
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    25
copyright
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    26
"
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    27
 COPYRIGHT (c) 2006 by eXept Software AG
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    28
              All Rights Reserved
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    29
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    30
 This software is furnished under a license and may be used
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    31
 only in accordance with the terms of that license and with the
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    33
 be provided or otherwise made available to, or used by, any
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    34
 other person.  No title to or ownership of the software is
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    35
 hereby transferred.
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    36
"
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    37
!
461c0b054a4f Added Bee source writer (both for inidividual classes and for project sources)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3681
diff changeset
    38
3522
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
documentation
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
"
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    Change for class initialization chunk. Unlike DoItChange, 
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    ClassInitializeChange handles namespaces and private classes
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
    properly.
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    [author:]
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
        Jan Vrany <jan.vrany@fit.cvut.cz>
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    [instance variables:]
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    [class variables:]
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
    [see also:]
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
"
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
! !
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
!ClassInitializeChange methodsFor:'accessing'!
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
source
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    "return the source of the change"
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    source isNil ifTrue:[
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
        ^ String streamContents:[ :s | 
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
            (nameSpaceName notNil and:[ nameSpaceName ~= 'Smalltalk' ]) ifTrue:[ 
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
                s nextPutAll: '"{ NameSpace: '; nextPutAll: nameSpaceName; nextPutAll: ' }"'; cr; cr.
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
                s nextPutAll: self className; nextPutAll: ' initialize!!'; cr.   
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
            ].
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
        ]
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    ].
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
    ^ source
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    "Created: / 21-03-2014 / 17:43:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
! !
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
!ClassInitializeChange methodsFor:'applying'!
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
apply
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
    "apply the change"
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
    | class |
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
    class := self changeClass.
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    class isNil ifTrue:[ 
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
        self error:('Class %1 does not (yet?) exists' bindWith: self fullClassName).
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
        ^ self.
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    ].
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    class initialize.
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
    "Created: / 21-03-2014 / 17:38:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
! !
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
3532
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
    92
!ClassInitializeChange methodsFor:'comparing'!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
    93
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
    94
sameAs:changeB
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
    95
    "return true, if the given change represents the same change as the receiver."
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
    96
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
    97
    ^ (changeB isKindOf: self class) 
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
    98
        and:[ self fullClassName  = changeB fullClassName ]
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
    99
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
   100
    "Created: / 26-03-2014 / 17:41:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
   101
! !
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
   102
3681
026411d4acce class: ClassInitializeChange
Claus Gittinger <cg@exept.de>
parents: 3532
diff changeset
   103
!ClassInitializeChange methodsFor:'printing & storing'!
026411d4acce class: ClassInitializeChange
Claus Gittinger <cg@exept.de>
parents: 3532
diff changeset
   104
026411d4acce class: ClassInitializeChange
Claus Gittinger <cg@exept.de>
parents: 3532
diff changeset
   105
printOn:aStream
026411d4acce class: ClassInitializeChange
Claus Gittinger <cg@exept.de>
parents: 3532
diff changeset
   106
    aStream nextPutAll:self source
026411d4acce class: ClassInitializeChange
Claus Gittinger <cg@exept.de>
parents: 3532
diff changeset
   107
! !
026411d4acce class: ClassInitializeChange
Claus Gittinger <cg@exept.de>
parents: 3532
diff changeset
   108
3532
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
   109
!ClassInitializeChange methodsFor:'testing'!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
   110
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
   111
isClassInitializeChange
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
   112
    ^ true
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
   113
! !
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3522
diff changeset
   114
3522
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
!ClassInitializeChange class methodsFor:'documentation'!
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
version
3681
026411d4acce class: ClassInitializeChange
Claus Gittinger <cg@exept.de>
parents: 3532
diff changeset
   118
    ^ '$Header: /cvs/stx/stx/libbasic3/ClassInitializeChange.st,v 1.3 2014-12-11 20:47:09 cg Exp $'
3522
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
!
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
version_CVS
3681
026411d4acce class: ClassInitializeChange
Claus Gittinger <cg@exept.de>
parents: 3532
diff changeset
   122
    ^ '$Header: /cvs/stx/stx/libbasic3/ClassInitializeChange.st,v 1.3 2014-12-11 20:47:09 cg Exp $'
3522
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
! !
1f72f0fbdcf8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124