Tools_MethodCategoryList.st
changeset 13498 b8d845e42988
parent 13194 88b4309ba680
child 13524 9783ab7e24d6
equal deleted inserted replaced
13497:47a292f5d956 13498:b8d845e42988
   417     refetch := [:oldClass | 
   417     refetch := [:oldClass | 
   418                     |nm cls newClass|
   418                     |nm cls newClass|
   419 
   419 
   420                     nm := oldClass theNonMetaclass name.
   420                     nm := oldClass theNonMetaclass name.
   421                     oldClass isMeta ifTrue:[
   421                     oldClass isMeta ifTrue:[
   422                         newClass := Smalltalk at:nm.
   422                         newClass := environment at:nm.
   423                         newClass isNil ifTrue:[
   423                         newClass isNil ifTrue:[
   424                             "/ Transcript showCR:'oops - browser lost class ' , nm.
   424                             "/ Transcript showCR:'oops - browser lost class ' , nm.
   425                             newClass := oldClass
   425                             newClass := oldClass
   426                         ] ifFalse:[
   426                         ] ifFalse:[
   427                             newClass := newClass theMetaclass
   427                             newClass := newClass theMetaclass
   428                         ]
   428                         ]
   429                     ] ifFalse:[
   429                     ] ifFalse:[
   430                         newClass := Smalltalk at:nm
   430                         newClass := environment at:nm
   431                     ].
   431                     ].
   432                     newClass ~~ oldClass ifTrue:[
   432                     newClass ~~ oldClass ifTrue:[
   433                         anyChange := true.
   433                         anyChange := true.
   434                     ].
   434                     ].
   435                     newClass
   435                     newClass
   449      rawProtocolListHolder rawProtocolList oldSelectedProtocols newSelectedProtocols newIndices idx cls listView|
   449      rawProtocolListHolder rawProtocolList oldSelectedProtocols newSelectedProtocols newIndices idx cls listView|
   450 
   450 
   451     selectedProtocolsHolder := self selectedProtocols.
   451     selectedProtocolsHolder := self selectedProtocols.
   452     rawProtocolListHolder := self rawProtocolList.
   452     rawProtocolListHolder := self rawProtocolList.
   453 
   453 
   454     changedObject == Smalltalk ifTrue:[
   454     changedObject == environment ifTrue:[
   455         classes notNil ifTrue:[
   455         classes notNil ifTrue:[
   456             something == #methodCategory ifTrue:[
   456             something == #methodCategory ifTrue:[
   457                 cls := aParameter at:1.
   457                 cls := aParameter at:1.
   458                 (cls notNil and:[classes includesIdentical:cls]) ifTrue:[
   458                 (cls notNil and:[classes includesIdentical:cls]) ifTrue:[
   459                     mthd := aParameter at:2.
   459                     mthd := aParameter at:2.
   713 
   713 
   714 update:something with:aParameter from:changedObject
   714 update:something with:aParameter from:changedObject
   715     |cls sel mthd oldMethod newMethod|
   715     |cls sel mthd oldMethod newMethod|
   716 
   716 
   717     "/ some can be ignored immediately
   717     "/ some can be ignored immediately
   718     changedObject == Smalltalk ifTrue:[
   718     changedObject == environment ifTrue:[
   719         something isNil ifTrue:[
   719         something isNil ifTrue:[
   720             "/ self halt "/ huh - Smalltalk changed - so what ?
   720             "/ self halt "/ huh - environment changed - so what ?
   721             ^ self.
   721             ^ self.
   722         ].
   722         ].
   723 
   723 
   724         something == #currentChangeSet ifTrue:[
   724         something == #currentChangeSet ifTrue:[
   725             listValid == true ifTrue:[ self invalidateList ].
   725             listValid == true ifTrue:[ self invalidateList ].
  1584     "Modified: / 31-08-2011 / 16:26:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  1584     "Modified: / 31-08-2011 / 16:26:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  1585     "Modified: / 08-09-2011 / 04:56:47 / cg"
  1585     "Modified: / 08-09-2011 / 04:56:47 / cg"
  1586 !
  1586 !
  1587 
  1587 
  1588 makeDependent
  1588 makeDependent
  1589     Smalltalk addDependent:self.
  1589     environment addDependent:self.
  1590 "/    ChangeSet addDependent:self.
  1590 "/    ChangeSet addDependent:self.
  1591 
  1591 
  1592     "Modified: / 10-11-2006 / 17:57:13 / cg"
  1592     "Modified: / 10-11-2006 / 17:57:13 / cg"
  1593 !
  1593 !
  1594 
  1594 
  1595 makeIndependent
  1595 makeIndependent
  1596     Smalltalk removeDependent:self.
  1596     environment removeDependent:self.
  1597 "/    ChangeSet removeDependent:self.
  1597 "/    ChangeSet removeDependent:self.
  1598 !
  1598 !
  1599 
  1599 
  1600 release
  1600 release
  1601     super release.
  1601     super release.
  1688     info isNil ifTrue:[
  1688     info isNil ifTrue:[
  1689         lazy ifTrue:[
  1689         lazy ifTrue:[
  1690             "/ TODO: start a background thread to compute the stuff below,
  1690             "/ TODO: start a background thread to compute the stuff below,
  1691             "/ notify me to update the list, when all the lazy info is avail...
  1691             "/ notify me to update the list, when all the lazy info is avail...
  1692         ] ifFalse:[
  1692         ] ifFalse:[
  1693             true "aMethod mclass language isSmalltalk" ifTrue:[
  1693             true "aMethod mclass language isenvironment" ifTrue:[
  1694                 methodsPackage := aMethod package.
  1694                 methodsPackage := aMethod package.
  1695 
  1695 
  1696                 isVersionMethod := aMethod isVersionMethod.
  1696                 isVersionMethod := aMethod isVersionMethod.
  1697                 isDocumentationMethod := isVersionMethod not and:[aMethod isDocumentationMethod].
  1697                 isDocumentationMethod := isVersionMethod not and:[aMethod isDocumentationMethod].
  1698 
  1698 
  1797         categories := Set new.
  1797         categories := Set new.
  1798         AdditionalEmptyCategoriesPerClassName at:aClass name put:categories.
  1798         AdditionalEmptyCategoriesPerClassName at:aClass name put:categories.
  1799     ].
  1799     ].
  1800     categories add:aProtocol.
  1800     categories add:aProtocol.
  1801     aClass changed:#organization.                                                       "/ not really ... to force update
  1801     aClass changed:#organization.                                                       "/ not really ... to force update
  1802     Smalltalk changed:#methodCategoryAdded with:(Array with:aClass with:aProtocol).     "/ not really ... to force update
  1802     environment changed:#methodCategoryAdded with:(Array with:aClass with:aProtocol).     "/ not really ... to force update
  1803 
  1803 
  1804     "Modified (comment): / 01-08-2012 / 17:30:36 / cg"
  1804     "Modified (comment): / 01-08-2012 / 17:30:36 / cg"
  1805 !
  1805 !
  1806 
  1806 
  1807 additionalProtocolForClass:aClass
  1807 additionalProtocolForClass:aClass
  1840     categories isEmpty ifTrue:[
  1840     categories isEmpty ifTrue:[
  1841         AdditionalEmptyCategoriesPerClassName removeKey:aClass name.
  1841         AdditionalEmptyCategoriesPerClassName removeKey:aClass name.
  1842     ].
  1842     ].
  1843 
  1843 
  1844     aClass changed:#organization.                      "/ not really ... to force update
  1844     aClass changed:#organization.                      "/ not really ... to force update
  1845     Smalltalk changed:#methodCategoriesRemoved with:(Array with:aClass with:aListOfProtocols).     "/ not really ... to force update
  1845     environment changed:#methodCategoriesRemoved with:(Array with:aClass with:aListOfProtocols).     "/ not really ... to force update
  1846 
  1846 
  1847     "Modified (comment): / 01-08-2012 / 17:29:59 / cg"
  1847     "Modified (comment): / 01-08-2012 / 17:29:59 / cg"
  1848 !
  1848 !
  1849 
  1849 
  1850 removeAllAdditionalProtocol
  1850 removeAllAdditionalProtocol
  1884     categories isNil ifTrue:[^ self].
  1884     categories isNil ifTrue:[^ self].
  1885     categories remove:oldName ifAbsent:nil.
  1885     categories remove:oldName ifAbsent:nil.
  1886     categories add:newName.
  1886     categories add:newName.
  1887 
  1887 
  1888     aClass changed:#organization.                      "/ not really ... to force update
  1888     aClass changed:#organization.                      "/ not really ... to force update
  1889     Smalltalk changed:#methodCategoryRenamed with:(Array with:aClass with:oldName with:newName).     "/ not really ... to force update
  1889     environment changed:#methodCategoryRenamed with:(Array with:aClass with:oldName with:newName).     "/ not really ... to force update
  1890 
  1890 
  1891     "Modified (comment): / 01-08-2012 / 17:30:16 / cg"
  1891     "Modified (comment): / 01-08-2012 / 17:30:16 / cg"
  1892 ! !
  1892 ! !
  1893 
  1893 
  1894 !MethodCategoryList::CachedMethodInfo class methodsFor:'initialization'!
  1894 !MethodCategoryList::CachedMethodInfo class methodsFor:'initialization'!
  2087 ! !
  2087 ! !
  2088 
  2088 
  2089 !MethodCategoryList class methodsFor:'documentation'!
  2089 !MethodCategoryList class methodsFor:'documentation'!
  2090 
  2090 
  2091 version
  2091 version
  2092     ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.95 2013-07-20 10:29:10 cg Exp $'
  2092     ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.96 2013-09-05 10:46:11 vrany Exp $'
  2093 !
  2093 !
  2094 
  2094 
  2095 version_CVS
  2095 version_CVS
  2096     ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.95 2013-07-20 10:29:10 cg Exp $'
  2096     ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.96 2013-09-05 10:46:11 vrany Exp $'
  2097 ! !
  2097 ! !
  2098 
  2098 
  2099 
  2099 
  2100 MethodCategoryList initialize!
  2100 MethodCategoryList initialize!
  2101 MethodCategoryList::CachedMethodInfo initialize!
  2101 MethodCategoryList::CachedMethodInfo initialize!