Tools__TagList.st
branchjv
changeset 13356 51a964477563
parent 13333 2e8aa3023772
parent 13342 e25160142e1e
child 13491 b3afe831ff0a
--- a/Tools__TagList.st	Fri Aug 23 12:01:50 2013 +0100
+++ b/Tools__TagList.st	Fri Aug 23 12:10:52 2013 +0100
@@ -14,20 +14,21 @@
 "{ NameSpace: Tools }"
 
 List subclass:#TagList
-	instanceVariableNames:'rawList filteredList filter sortCriteria groupBy showOnly
-		hideStatic hideStructMembers hideClasses hideMethods hideDefines
-		hideTypedefs hideVariables hideStructures hideFunctions
-		hideFunctionProtoTypes hideJavaClasses hideJavaMethods
-		hideJavaInterfaces hideJavaFields hideJavaPackages
-		hideDartClasses hideDartMethods hideDartInterfaces hideDartFields
-		hideDartPackages hideLispMacros hideLispEvaluations
-		hideLispMethods hideLispConstants hideLocalLabels
-		hideLocalLabels2 hideDataLabels hideTextLabels tagTypesPresent
-		hidePythonClasses hidePythonMethods hidePythonFunctions
-		hideOzClasses hideOzMethods hideOzFunctions hideHTMLTextArea
-		hideHTMLInput hideHTMLTable hideHTMLScript hideHTMLForm
-		hideHTMLHeaders usingDefaultCTags ctagsCommand ctagsIsExCtags
-		ctagsIsExCtags5x hideDocumentation remoteTarget hideLocalLabels3'
+	instanceVariableNames:'rawList filteredList filter tagsValidForFile sortCriteria groupBy
+		showOnly hideStatic hideStructMembers hideClasses hideMethods
+		hideDefines hideTypedefs hideVariables hideStructures
+		hideFunctions hideFunctionProtoTypes hideJavaClasses
+		hideJavaMethods hideJavaInterfaces hideJavaFields
+		hideJavaPackages hideDartClasses hideDartMethods
+		hideDartInterfaces hideDartFields hideDartPackages hideLispMacros
+		hideLispEvaluations hideLispMethods hideLispConstants
+		hideLocalLabels hideLocalLabels2 hideDataLabels hideTextLabels
+		tagTypesPresent hidePythonClasses hidePythonMethods
+		hidePythonFunctions hideOzClasses hideOzMethods hideOzFunctions
+		hideHTMLTextArea hideHTMLInput hideHTMLTable hideHTMLScript
+		hideHTMLForm hideHTMLHeaders usingDefaultCTags ctagsCommand
+		ctagsIsExCtags ctagsIsExCtags5x hideDocumentation remoteTarget
+		hideLocalLabels3'
 	classVariableNames:'Sorted CachedTagListsPerFile DefaultSortCriteria DefaultShowOnly
 		TagsSuffixes DefaultGroupBy'
 	poolDictionaries:''
@@ -2053,6 +2054,20 @@
     ].
 
     ^ bestTag
+!
+
+tagForFunction:functionName 
+    ^ rawList 
+        detect:[:tag |
+            tag isFunctionTag and:[ tag label = functionName ]
+        ]
+        ifNone:nil
+!
+
+tagsValidForFile
+    "the file, for which the tagsList is valid"
+
+    ^ tagsValidForFile
 ! !
 
 !TagList methodsFor:'tag generation'!
@@ -2064,6 +2079,8 @@
     |forceSimpleTagList list shellCmd numTags fileContents|
 
     rawList := nil.
+    tagsValidForFile := nil.
+
     list := OrderedCollection new.
 
     forceSimpleTagList := false.
@@ -2102,6 +2119,7 @@
         ]
     ].    
     self setRawList:list.
+    tagsValidForFile := aFile.
 
     "Modified: / 05-01-2012 / 11:03:29 / cg"
 !
@@ -3628,19 +3646,15 @@
 supportsFile:aFile
     "return true, if we can generate tags for a file"
 
-    |suffix lcSuffix lcName selfClass|
-
     aFile isReadable ifFalse:[^ false].
 
     "/ cg: now always return true - let generateTag run against the wall...
     ^ true.
 
-"/    suffix := aFile suffix.
-"/    lcSuffix := suffix asLowercase.
-"/
+"/    lcSuffix := aFile suffix asLowercase.
 "/    selfClass := self class.
 "/
-"/    suffix size ~~ 0 ifTrue:[
+"/    lcSuffix size ~~ 0 ifTrue:[
 "/        ((selfClass isCSuffix:lcSuffix) 
 "/        or:[(selfClass isJavaSuffix:lcSuffix)
 "/        or:[(selfClass isEiffelSuffix:lcSuffix)
@@ -3658,20 +3672,17 @@
 "/    ].
 "/
 "/    lcName := aFile baseName asLowercase.
-"/    (selfClass makeFilePatterns contains:[:pattern | pattern match:lcName]) ifTrue:[
-"/        ^ true
-"/    ].
-"/    ^ false
+"/    ^ selfClass makeFilePatterns contains:[:pattern | pattern match:lcName]
 ! !
 
 !TagList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.31 2013-08-16 15:04:37 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.33 2013-08-22 07:59:49 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.31 2013-08-16 15:04:37 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.33 2013-08-22 07:59:49 cg Exp $'
 !
 
 version_HG
@@ -3680,6 +3691,6 @@
 !
 
 version_SVN
-    ^ '$Id: Tools__TagList.st,v 1.31 2013-08-16 15:04:37 cg Exp $'
+    ^ '$Id: Tools__TagList.st,v 1.33 2013-08-22 07:59:49 cg Exp $'
 ! !