ClassInstVarDefinitionChange.st
author Claus Gittinger <cg@exept.de>
Sun, 23 Feb 2020 16:35:34 +0100
changeset 4557 069040b49bec
parent 3695 e3c9970df253
child 3838 474d8ec95b33
permissions -rw-r--r--
#REFACTORING by exept class: CVSSourceCodeManager class changed: #revisionInfoFromString:inClass:

"
 COPYRIGHT (c) 1999 by eXept Software AG
              All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
"{ Package: 'stx:libbasic3' }"

ClassChange subclass:#ClassInstVarDefinitionChange
	instanceVariableNames:'classInstVarNames'
	classVariableNames:''
	poolDictionaries:''
	category:'System-Changes'
!

!ClassInstVarDefinitionChange class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 1999 by eXept Software AG
              All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"

! !

!ClassInstVarDefinitionChange methodsFor:'accessing'!

classInstVarNames
    ^ classInstVarNames
!

classInstVarNames:something
    classInstVarNames := something.
!

delta
    | ns changeClass |

    "/ Must enforce current namespace because caller (such as Workspace!!!!!!) enforces
    "/ the namespace wia NameSpaceQuerySignal. Therefore for classes not in Smalltalk.
    "/ `self changeClass` will always return nil, sigh.
    ns := nameSpaceName notNil ifTrue:[(NameSpace name: nameSpaceName)] ifFalse:[nil].
    Class nameSpaceQuerySignal answer: nil do:[
        changeClass := self changeClass.
        changeClass isNil ifTrue:[^#+].
    ].

    ^ self classInstVarNames = changeClass instanceVariableNames ifTrue:[#'='] ifFalse:[#'~']

    "Created: / 13-11-2013 / 17:58:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!ClassInstVarDefinitionChange methodsFor:'comparing'!

isForSameAs:changeB
    "return true, if the given change represents a change for the same
     thingy as the receiver (i.e. same method, same definition etc.)."

    changeB isClassInstVarDefinitionChange ifFalse:[^ false].   

    ^ className = changeB className

!

sameAs:changeB
    "return true, if the given change represents the same change as the receiver."

    (self isForSameAs:changeB) ifFalse:[^ false].
    ^ self sameSourceAs:changeB


! !

!ClassInstVarDefinitionChange methodsFor:'printing & storing'!

printOn:aStream
    "/ aStream nextPutAll:className; nextPutAll:' instanceVariableNames:'
    aStream nextPutAll:source string


! !

!ClassInstVarDefinitionChange methodsFor:'testing'!

isClassInstVarDefinitionChange
    ^ true


! !

!ClassInstVarDefinitionChange methodsFor:'visiting'!

acceptChangeVisitor:aVisitor
    ^ aVisitor visitClassInstVarDefinitionChange:self.

    "Created: / 25-11-2011 / 17:13:30 / cg"
! !

!ClassInstVarDefinitionChange class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libbasic3/ClassInstVarDefinitionChange.st,v 1.10 2014-12-29 20:35:51 cg Exp $'
! !