3.2 KiB
3.2 KiB
Get Functions Metadata in Scripts
{{#include ../links.md}}
The built-in function get_fn_metadata_list
returns an [array] of [object maps], each containing
the metadata of one script-defined [function] in scope.
get_fn_metadata_list
is defined in the [LanguageCorePackage
][built-in packages], which is
excluded when using a [raw Engine
].
get_fn_metadata_list
has a few versions taking different parameters:
Signature | Description |
---|---|
get_fn_metadata_list() |
returns an [array] for all script-defined [functions] |
get_fn_metadata_list(name) |
returns an [array] containing all script-defined [functions] matching a specified name |
get_fn_metadata_list(name, params) |
returns an [array] containing all script-defined [functions] matching a specified name and accepting the specified number of parameters |
[Functions] from the following sources are returned, in order:
- Encapsulated script environment (e.g. when loading a [module] from a script file),
- Current script,
- [Modules] registered via
Engine::register_global_module
(latest registrations first) - [Modules] imported via the [
import
] statement (latest imports first), - [Modules] added via
Engine::register_static_module
(latest registrations first)
The return value is an [array] of [object maps] (so get_fn_metadata_list
is also not available under
[no_index
] or [no_object
]), containing the following fields.
Field | Type | Optional? | Description |
---|---|---|---|
namespace |
[string] | yes | the module namespace if the [function] is defined within a [module] |
access |
[string] | no | "public" if the function is public,"private" if it is [private][private ] |
name |
[string] | no | [function] name |
params |
[array] of [strings] | no | parameter names |
this_type |
string | yes | restrict the type of this if the [function] is a [method] |
is_anonymous |
bool |
no | is this [function] an [anonymous function]? |
comments |
[array] of [strings] | yes | [doc-comments], if any, one per line |