Get Functions Metadata in Scripts
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, 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
importstatement (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 |
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 |