@@ -40,7 +40,7 @@ def _HasClass(tag, *classes):
40
40
return False
41
41
42
42
43
- def _ParseSymbolPage (symbol_page_html , symbol_name ):
43
+ def _ParseSymbolPage (symbol_page_html , symbol_name , qual_name ):
44
44
"""Parse symbol page and retrieve the include header defined in this page.
45
45
The symbol page provides header for the symbol, specifically in
46
46
"Defined in header <header>" section. An example:
@@ -69,7 +69,7 @@ def _ParseSymbolPage(symbol_page_html, symbol_name):
69
69
was_decl = True
70
70
# Symbols are in the first cell.
71
71
found_symbols = row .find ("td" ).stripped_strings
72
- if not symbol_name in found_symbols :
72
+ if not ( symbol_name in found_symbols or qual_name in found_symbols ) :
73
73
continue
74
74
headers .update (current_headers )
75
75
elif _HasClass (row , "t-dsc-header" ):
@@ -137,9 +137,9 @@ def _ParseIndexPage(index_page_html):
137
137
return symbols
138
138
139
139
140
- def _ReadSymbolPage (path , name ):
140
+ def _ReadSymbolPage (path , name , qual_name ):
141
141
with open (path ) as f :
142
- return _ParseSymbolPage (f .read (), name )
142
+ return _ParseSymbolPage (f .read (), name , qual_name )
143
143
144
144
145
145
def _GetSymbols (pool , root_dir , index_page_name , namespace , variants_to_accept ):
@@ -161,8 +161,9 @@ def _GetSymbols(pool, root_dir, index_page_name, namespace, variants_to_accept):
161
161
for symbol_name , symbol_page_path , variant in _ParseIndexPage (f .read ()):
162
162
# Variant symbols (e.g. the std::locale version of isalpha) add ambiguity.
163
163
# FIXME: use these as a fallback rather than ignoring entirely.
164
+ qualified_symbol_name = (namespace or "" ) + symbol_name
164
165
variants_for_symbol = variants_to_accept .get (
165
- ( namespace or "" ) + symbol_name , ()
166
+ qualified_symbol_name , ()
166
167
)
167
168
if variant and variant not in variants_for_symbol :
168
169
continue
@@ -171,7 +172,7 @@ def _GetSymbols(pool, root_dir, index_page_name, namespace, variants_to_accept):
171
172
results .append (
172
173
(
173
174
symbol_name ,
174
- pool .apply_async (_ReadSymbolPage , (path , symbol_name )),
175
+ pool .apply_async (_ReadSymbolPage , (path , symbol_name , qualified_symbol_name )),
175
176
)
176
177
)
177
178
else :
0 commit comments