@@ -162,6 +162,20 @@ impl ItemScope {
162
162
. map ( move |name| ( name, self . get ( name) ) )
163
163
}
164
164
165
+ pub fn values ( & self ) -> impl Iterator < Item = ( & Name , Item < ModuleDefId , ImportId > ) > + ' _ {
166
+ self . values . iter ( ) . map ( |( n, & i) | ( n, i) )
167
+ }
168
+
169
+ pub fn types (
170
+ & self ,
171
+ ) -> impl Iterator < Item = ( & Name , Item < ModuleDefId , ImportOrExternCrate > ) > + ' _ {
172
+ self . types . iter ( ) . map ( |( n, & i) | ( n, i) )
173
+ }
174
+
175
+ pub fn macros ( & self ) -> impl Iterator < Item = ( & Name , Item < MacroId , ImportId > ) > + ' _ {
176
+ self . macros . iter ( ) . map ( |( n, & i) | ( n, i) )
177
+ }
178
+
165
179
pub fn imports ( & self ) -> impl Iterator < Item = ImportId > + ' _ {
166
180
self . use_imports_types
167
181
. keys ( )
@@ -263,11 +277,6 @@ impl ItemScope {
263
277
self . unnamed_consts . iter ( ) . copied ( )
264
278
}
265
279
266
- /// Iterate over all module scoped macros
267
- pub ( crate ) fn macros ( & self ) -> impl Iterator < Item = ( & Name , MacroId ) > + ' _ {
268
- self . entries ( ) . filter_map ( |( name, def) | def. take_macros ( ) . map ( |macro_| ( name, macro_) ) )
269
- }
270
-
271
280
/// Iterate over all legacy textual scoped macros visible at the end of the module
272
281
pub fn legacy_macros ( & self ) -> impl Iterator < Item = ( & Name , & [ MacroId ] ) > + ' _ {
273
282
self . legacy_macros . iter ( ) . map ( |( name, def) | ( name, & * * def) )
0 commit comments