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
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 |
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 |