Engine::gen_fn_signatures enumerates non-standard external packages.

This commit is contained in:
Stephen Chung
2022-01-17 23:15:22 +08:00
parent 86fc2f7bf1
commit d58df1fb34
4 changed files with 31 additions and 33 deletions

View File

@@ -1027,7 +1027,8 @@ impl Engine {
/// Functions from the following sources are included, in order:
/// 1) Functions registered into the global namespace
/// 2) Functions in registered sub-modules
/// 3) Functions in packages (optional)
/// 3) Functions in registered packages
/// 4) Functions in standard packages (optional)
#[cfg(feature = "metadata")]
#[inline]
#[must_use]
@@ -1040,14 +1041,13 @@ impl Engine {
signatures.extend(m.gen_fn_signatures().map(|f| format!("{}::{}", name, f)))
});
if include_packages {
signatures.extend(
self.global_modules
.iter()
.skip(1)
.flat_map(|m| m.gen_fn_signatures()),
);
}
signatures.extend(
self.global_modules
.iter()
.skip(1)
.filter(|m| !m.internal && (include_packages || !m.standard))
.flat_map(|m| m.gen_fn_signatures()),
);
signatures
}