ClassInstVarDefinitionChange.st
author Claus Gittinger <cg@exept.de>
Thu, 05 Mar 2020 11:17:28 +0100
changeset 4561 eace75531554
parent 3695 e3c9970df253
child 3838 474d8ec95b33
permissions -rw-r--r--
#UI_ENHANCEMENT by cg class: SourceCodeManagerUtilities changed: #compareClassWithRepository:askForRevision: typos: genitive of class is class's - not classes.

"
 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 $'
! !