Tools__TagList.st
changeset 13342 e25160142e1e
parent 13335 41db12e54ad3
child 13356 51a964477563
child 13444 3a0b8902f2c0
--- a/Tools__TagList.st	Thu Aug 22 09:59:25 2013 +0200
+++ b/Tools__TagList.st	Thu Aug 22 09:59:49 2013 +0200
@@ -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"
 !
@@ -3660,14 +3678,14 @@
 !TagList class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.32 2013-08-20 08:33:27 stefan 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.32 2013-08-20 08:33:27 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__TagList.st,v 1.33 2013-08-22 07:59:49 cg Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__TagList.st,v 1.32 2013-08-20 08:33:27 stefan Exp $'
+    ^ '$Id: Tools__TagList.st,v 1.33 2013-08-22 07:59:49 cg Exp $'
 ! !