--- a/Tools_MethodCategoryList.st Wed Oct 14 16:51:29 2009 +0200
+++ b/Tools_MethodCategoryList.st Wed Oct 14 20:11:22 2009 +0200
@@ -1309,43 +1309,6 @@
"/ ChangeSet removeDependent:self.
!
-methodInfoFor:aMethod in:mclass selector:selector
- |info|
-
- "/ the first at:ifAbsent: is aktually not needed - it is here to
- "/ reduce the average blocking time, and to allow for debugging the info generating
- "/ code without deadlock
- info := MethodInfoCache at:(mclass name,'>>',selector) ifAbsent:nil.
- info isNil ifTrue:[
- true "aMethod mclass language isSmalltalk" ifTrue:[
- info := CachedMethodInfo new.
- info isObsolete:(aMethod isObsolete).
- info sendsSuper:(aMethod superMessages notEmptyOrNil).
- info isUncommented:(self methodIsMarkedAsUncommented:aMethod).
- info isDocumentationMethod:( aMethod isDocumentationMethod).
- info isLongMethod:( self methodIsMarkedAsLong:aMethod ).
-
- aMethod package ~= mclass package ifTrue:[
- aMethod package ~= #'__NoProject__' ifTrue:[
- info isExtensionMethod:true.
- info isOverride:( aMethod package asPackageId projectDefinitionClass
- methodOverwrittenBy:aMethod ) notNil
- ]
- ] ifFalse:[
- info isExtensionMethod:false.
- info isOverride:false.
- ].
- info isRedefine:( mclass superclass notNil
- and:[ (mclass superclass whichClassIncludesSelector:selector ) notNil ]).
-
- MethodInfoCacheAccessLock critical:[
- MethodInfoCache at:(mclass name,'>>',selector) put:info
- ].
- ].
- ].
- ^ info
-!
-
release
super release.
@@ -1417,6 +1380,47 @@
!MethodCategoryList methodsFor:'private-info'!
+methodInfoFor:aMethod in:mclass selector:selector
+ |info isDocumentationMethod isVersionMethod|
+
+ "/ the first at:ifAbsent: is aktually not needed - it is here to
+ "/ reduce the average blocking time, and to allow for debugging the info generating
+ "/ code without deadlock
+ info := MethodInfoCache at:(mclass name,'>>',selector) ifAbsent:nil.
+ info isNil ifTrue:[
+ true "aMethod mclass language isSmalltalk" ifTrue:[
+ info := CachedMethodInfo new.
+ info isObsolete:(aMethod isObsolete).
+ info sendsSuper:(aMethod superMessages notEmptyOrNil).
+ info isUncommented:(self methodIsMarkedAsUncommented:aMethod).
+ isVersionMethod := aMethod isVersionMethod.
+ isDocumentationMethod := isVersionMethod not and:[aMethod isDocumentationMethod].
+ info isDocumentationMethod:isDocumentationMethod.
+ info isLongMethod:( self methodIsMarkedAsLong:aMethod ).
+
+ aMethod package ~= mclass package ifTrue:[
+ aMethod package ~= #'__NoProject__' ifTrue:[
+ info isExtensionMethod:true.
+ info isOverride:( aMethod package asPackageId projectDefinitionClass
+ methodOverwrittenBy:aMethod ) notNil
+ ]
+ ] ifFalse:[
+ info isExtensionMethod:false.
+ info isOverride:false.
+ ].
+ info isRedefine:( isVersionMethod not
+ and:[ isDocumentationMethod not
+ and:[ mclass superclass notNil
+ and:[ (mclass superclass whichClassIncludesSelector:selector ) notNil ]]]).
+
+ MethodInfoCacheAccessLock critical:[
+ MethodInfoCache at:(mclass name,'>>',selector) put:info
+ ].
+ ].
+ ].
+ ^ info
+!
+
methodIsMarkedAsLong:aMethod
"if true, it will be also categorized under the pseudo category 'long'"
@@ -1648,11 +1652,11 @@
!MethodCategoryList class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.40 2009-10-14 14:51:29 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.41 2009-10-14 18:11:22 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.40 2009-10-14 14:51:29 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools_MethodCategoryList.st,v 1.41 2009-10-14 18:11:22 cg Exp $'
! !
MethodCategoryList initialize!