s/global_var/builtin_var/

master
Daniel Kolesa 2021-05-06 03:47:38 +02:00
parent 139ead5d72
commit 74f437f851
4 changed files with 24 additions and 24 deletions

View File

@ -67,7 +67,7 @@ struct LIBCUBESCRIPT_EXPORT ident {
/** @brief Check if the idents are not the same. */ /** @brief Check if the idents are not the same. */
bool operator!=(ident &other) const; bool operator!=(ident &other) const;
/** @brief Check if the ident is a cubescript::global_var. /** @brief Check if the ident is a cubescript::builtin_var.
* *
* This will return `true` if ident::type() returns either * This will return `true` if ident::type() returns either
* ident_type::IVAR, ident_type::FVAR or ident_type::SVAR. * ident_type::IVAR, ident_type::FVAR or ident_type::SVAR.
@ -120,7 +120,7 @@ protected:
struct ident_impl *p_impl{}; struct ident_impl *p_impl{};
}; };
/** @brief An additional cubescript::global_var type. /** @brief An additional cubescript::builtin_var type.
* *
* Global vars can have no additional type, or they can be persistent, or * Global vars can have no additional type, or they can be persistent, or
* they can be overridable. Persistent variables are meant to be saved and * they can be overridable. Persistent variables are meant to be saved and
@ -144,7 +144,7 @@ enum class var_type {
* This represents one of cubescript::integer_var, cubescript::float_var or * This represents one of cubescript::integer_var, cubescript::float_var or
* cubescript::string_var as a single interface, with shared operations. * cubescript::string_var as a single interface, with shared operations.
*/ */
struct LIBCUBESCRIPT_EXPORT global_var: ident { struct LIBCUBESCRIPT_EXPORT builtin_var: ident {
/** @brief Get whether the variable is read only. /** @brief Get whether the variable is read only.
* *
* Variables can be set as read only during their creation (but not * Variables can be set as read only during their creation (but not
@ -189,20 +189,20 @@ struct LIBCUBESCRIPT_EXPORT global_var: ident {
any_value value() const; any_value value() const;
protected: protected:
global_var() = default; builtin_var() = default;
}; };
/** @brief An integer variable. /** @brief An integer variable.
* *
* A specialization of cubescript::global_var for integer values. * A specialization of cubescript::builtin_var for integer values.
*/ */
struct LIBCUBESCRIPT_EXPORT integer_var: global_var { struct LIBCUBESCRIPT_EXPORT integer_var: builtin_var {
/** @brief Set the value of the variable. /** @brief Set the value of the variable.
* *
* If read only, an error is raised. If `do_write` is `false`, nothing * If read only, an error is raised. If `do_write` is `false`, nothing
* will be performed other than the read-only checking. If `trigger` is * will be performed other than the read-only checking. If `trigger` is
* `false`, a potential variable change trigger command will not be * `false`, a potential variable change trigger command will not be
* invoked. The value is saved with global_var::save(), assuming * invoked. The value is saved with builtin_var::save(), assuming
* `do_write` is `true`. After that, integer_var::set_raw_value() * `do_write` is `true`. After that, integer_var::set_raw_value()
* is invoked, and then the trigger. * is invoked, and then the trigger.
* *
@ -228,15 +228,15 @@ protected:
/** @brief A float variable. /** @brief A float variable.
* *
* A specialization of cubescript::global_var for float values. * A specialization of cubescript::builtin_var for float values.
*/ */
struct LIBCUBESCRIPT_EXPORT float_var: global_var { struct LIBCUBESCRIPT_EXPORT float_var: builtin_var {
/** @brief Set the value of the variable. /** @brief Set the value of the variable.
* *
* If read only, an error is raised. If `do_write` is `false`, nothing * If read only, an error is raised. If `do_write` is `false`, nothing
* will be performed other than the read-only checking. If `trigger` is * will be performed other than the read-only checking. If `trigger` is
* `false`, a potential variable change trigger command will not be * `false`, a potential variable change trigger command will not be
* invoked. The value is saved with global_var::save(), assuming * invoked. The value is saved with builtin_var::save(), assuming
* `do_write` is `true`. After that, integer_var::set_raw_value() * `do_write` is `true`. After that, integer_var::set_raw_value()
* is invoked, and then the trigger. * is invoked, and then the trigger.
* *
@ -262,15 +262,15 @@ protected:
/** @brief A string variable. /** @brief A string variable.
* *
* A specialization of cubescript::global_var for string values. * A specialization of cubescript::builtin_var for string values.
*/ */
struct LIBCUBESCRIPT_EXPORT string_var: global_var { struct LIBCUBESCRIPT_EXPORT string_var: builtin_var {
/** @brief Set the value of the variable. /** @brief Set the value of the variable.
* *
* If read only, an error is raised. If `do_write` is `false`, nothing * If read only, an error is raised. If `do_write` is `false`, nothing
* will be performed other than the read-only checking. If `trigger` is * will be performed other than the read-only checking. If `trigger` is
* `false`, a potential variable change trigger command will not be * `false`, a potential variable change trigger command will not be
* invoked. The value is saved with global_var::save(), assuming * invoked. The value is saved with builtin_var::save(), assuming
* `do_write` is `true`. After that, integer_var::set_raw_value() * `do_write` is `true`. After that, integer_var::set_raw_value()
* is invoked, and then the trigger. * is invoked, and then the trigger.
* *

View File

@ -100,7 +100,7 @@ void var_changed(thread_state &ts, ident *id, any_value &oldval) {
case ident_type::IVAR: case ident_type::IVAR:
case ident_type::FVAR: case ident_type::FVAR:
case ident_type::SVAR: case ident_type::SVAR:
val[2] = static_cast<global_var *>(id)->value(); val[2] = static_cast<builtin_var *>(id)->value();
break; break;
default: default:
return; return;
@ -238,15 +238,15 @@ LIBCUBESCRIPT_EXPORT any_value ident::call(span_type<any_value>, state &cs) {
throw error{cs, "this ident type is not callable"}; throw error{cs, "this ident type is not callable"};
} }
LIBCUBESCRIPT_EXPORT bool global_var::is_read_only() const { LIBCUBESCRIPT_EXPORT bool builtin_var::is_read_only() const {
return (p_impl->p_flags & IDENT_FLAG_READONLY); return (p_impl->p_flags & IDENT_FLAG_READONLY);
} }
LIBCUBESCRIPT_EXPORT bool global_var::is_overridable() const { LIBCUBESCRIPT_EXPORT bool builtin_var::is_overridable() const {
return (p_impl->p_flags & IDENT_FLAG_OVERRIDE); return (p_impl->p_flags & IDENT_FLAG_OVERRIDE);
} }
LIBCUBESCRIPT_EXPORT var_type global_var::variable_type() const { LIBCUBESCRIPT_EXPORT var_type builtin_var::variable_type() const {
if (p_impl->p_flags & IDENT_FLAG_OVERRIDE) { if (p_impl->p_flags & IDENT_FLAG_OVERRIDE) {
return var_type::OVERRIDABLE; return var_type::OVERRIDABLE;
} else if (p_impl->p_flags & IDENT_FLAG_PERSIST) { } else if (p_impl->p_flags & IDENT_FLAG_PERSIST) {
@ -256,7 +256,7 @@ LIBCUBESCRIPT_EXPORT var_type global_var::variable_type() const {
} }
} }
LIBCUBESCRIPT_EXPORT void global_var::save(state &cs) { LIBCUBESCRIPT_EXPORT void builtin_var::save(state &cs) {
auto &ts = state_p{cs}.ts(); auto &ts = state_p{cs}.ts();
if ((ts.ident_flags & IDENT_FLAG_OVERRIDDEN) || is_overridable()) { if ((ts.ident_flags & IDENT_FLAG_OVERRIDDEN) || is_overridable()) {
if (p_impl->p_flags & IDENT_FLAG_PERSIST) { if (p_impl->p_flags & IDENT_FLAG_PERSIST) {
@ -274,13 +274,13 @@ LIBCUBESCRIPT_EXPORT void global_var::save(state &cs) {
} }
} }
LIBCUBESCRIPT_EXPORT any_value global_var::call( LIBCUBESCRIPT_EXPORT any_value builtin_var::call(
span_type<any_value> args, state &cs span_type<any_value> args, state &cs
) { ) {
return ident::call(args, cs); return ident::call(args, cs);
} }
LIBCUBESCRIPT_EXPORT any_value global_var::value() const { LIBCUBESCRIPT_EXPORT any_value builtin_var::value() const {
return static_cast<var_impl const *>(p_impl)->p_storage; return static_cast<var_impl const *>(p_impl)->p_storage;
} }

View File

@ -532,7 +532,7 @@ LIBCUBESCRIPT_EXPORT any_value state::lookup_value(std::string_view name) {
case ident_type::SVAR: case ident_type::SVAR:
case ident_type::IVAR: case ident_type::IVAR:
case ident_type::FVAR: case ident_type::FVAR:
return static_cast<global_var *>(id)->value(); return static_cast<builtin_var *>(id)->value();
case ident_type::COMMAND: { case ident_type::COMMAND: {
any_value val{}; any_value val{};
/* make sure value stack gets restored */ /* make sure value stack gets restored */
@ -561,7 +561,7 @@ LIBCUBESCRIPT_EXPORT void state::reset_value(std::string_view name) {
throw error{*this, "variable '%s' does not exist", name.data()}; throw error{*this, "variable '%s' does not exist", name.data()};
} }
if (id->get().is_var()) { if (id->get().is_var()) {
if (static_cast<global_var &>(id->get()).is_read_only()) { if (static_cast<builtin_var &>(id->get()).is_read_only()) {
throw error{*this, "variable '%s' is read only", name.data()}; throw error{*this, "variable '%s' is read only", name.data()};
} }
} }
@ -579,7 +579,7 @@ LIBCUBESCRIPT_EXPORT void state::touch_value(std::string_view name) {
case ident_type::IVAR: case ident_type::IVAR:
case ident_type::FVAR: case ident_type::FVAR:
case ident_type::SVAR: case ident_type::SVAR:
v = static_cast<global_var &>(idr).value(); v = static_cast<builtin_var &>(idr).value();
break; break;
default: default:
return; return;

View File

@ -720,7 +720,7 @@ std::uint32_t *vm_exec(
case BC_INST_VAR | BC_RET_INT: case BC_INST_VAR | BC_RET_INT:
case BC_INST_VAR | BC_RET_FLOAT: case BC_INST_VAR | BC_RET_FLOAT:
case BC_INST_VAR | BC_RET_STRING: case BC_INST_VAR | BC_RET_STRING:
args.emplace_back() = static_cast<global_var *>( args.emplace_back() = static_cast<builtin_var *>(
ts.istate->identmap[op >> 8] ts.istate->identmap[op >> 8]
)->value(); )->value();
force_arg(cs, args.back(), op & BC_INST_RET_MASK); force_arg(cs, args.back(), op & BC_INST_RET_MASK);