![]() |
Qore Programming Language 2.3.0
|
Runtime configuration passed through the evaluation call chain. More...
#include <RuntimeConfig.h>
Friends | |
| RuntimeConfig | rc_get_current () |
| Get the current runtime configuration from thread-local storage. | |
| RuntimeConfig & | rc_get_current_ref () |
| Get a reference to the thread-local RuntimeConfig updated with current values. | |
| RuntimeConfig | rc_get_parse_time () |
| Get a minimal RuntimeConfig for parse-time constant folding. | |
| RuntimeConfig & | rc_get_tls_ref () |
| Get a direct reference to the thread-local RuntimeConfig. | |
| void | rc_sync_to_thread (const RuntimeConfig &rc) |
| Sync runtime config changes back to thread-local storage. | |
| class | RuntimeConfigClosureHelper |
| class | RuntimeConfigElementHelper |
| class | RuntimeConfigHelper |
| class | RuntimeConfigLocationHelper |
| class | RuntimeConfigObjectHelper |
| class | RuntimeConfigStackHelper |
Runtime configuration passed through the evaluation call chain.
|
friend |
Get the current runtime configuration from thread-local storage.
This function captures the current runtime context from TLS into a RuntimeConfig struct. It should be called at entry points (like AbstractQoreNode::eval()) and the result passed through the call chain.
|
friend |
Get a reference to the thread-local RuntimeConfig updated with current values.
This version avoids stack allocation by using a thread-local RuntimeConfig. Use this in hot paths where stack space is at a premium (e.g., deep recursion).
|
friend |
Get a minimal RuntimeConfig for parse-time constant folding.
This returns a RuntimeConfig with minimal initialization suitable for evaluating constant expressions at parse time. Unlike rc_get_current(), this does not access TLS and can be used safely during parsing.
The returned RuntimeConfig has:
|
friend |
Get a direct reference to the thread-local RuntimeConfig.
This returns a reference to the authoritative TLS RuntimeConfig that stores runtime location, statement, and parse options. Use this for direct updates instead of calling separate TLS update functions.
|
friend |
Sync runtime config changes back to thread-local storage.
Call this when the RuntimeConfig has been modified and those changes need to be reflected in TLS (e.g., for nested eval calls that don't use RuntimeConfig).
| rc | The RuntimeConfig to sync to TLS |