Remove Module::get_script_function_by_signature.
This commit is contained in:
parent
82d48df734
commit
2f6bb643aa
@ -9,6 +9,7 @@ Breaking changes
|
|||||||
|
|
||||||
* `AST::iter_functions` now returns an iterator instead of taking a closure.
|
* `AST::iter_functions` now returns an iterator instead of taking a closure.
|
||||||
* `Module::iter_script_fn_info` is removed and merged into `Module::iter_script_fn`.
|
* `Module::iter_script_fn_info` is removed and merged into `Module::iter_script_fn`.
|
||||||
|
* `Module::get_script_function_by_signature` renamed to `Module::get_script_fn` and returns `&<Shared<ScriptFnDef>>`.
|
||||||
* The `merge_namespaces` parameter to `Module::eval_ast_as_new` is removed and now defaults to `true`.
|
* The `merge_namespaces` parameter to `Module::eval_ast_as_new` is removed and now defaults to `true`.
|
||||||
* `GlobalFileModuleResolver` is removed because its performance gain over the `FileModuleResolver` is no longer very significant.
|
* `GlobalFileModuleResolver` is removed because its performance gain over the `FileModuleResolver` is no longer very significant.
|
||||||
* The following `EvalAltResult` variants are removed and merged into `EvalAltResult::ErrorMismatchDataType`: `ErrorCharMismatch`, `ErrorNumericIndexExpr`, `ErrorStringIndexExpr`, `ErrorImportExpr`, `ErrorLogicGuard`, `ErrorBooleanArgMismatch`
|
* The following `EvalAltResult` variants are removed and merged into `EvalAltResult::ErrorMismatchDataType`: `ErrorCharMismatch`, `ErrorNumericIndexExpr`, `ErrorStringIndexExpr`, `ErrorImportExpr`, `ErrorLogicGuard`, `ErrorBooleanArgMismatch`
|
||||||
@ -18,7 +19,6 @@ New features
|
|||||||
|
|
||||||
* `OptimizationLevel::Simple` now eagerly evaluates built-in binary operators of primary types (if not overloaded).
|
* `OptimizationLevel::Simple` now eagerly evaluates built-in binary operators of primary types (if not overloaded).
|
||||||
* Added `is_def_var()` to detect if variable is defined, and `is_def_fn()` to detect if script function is defined.
|
* Added `is_def_var()` to detect if variable is defined, and `is_def_fn()` to detect if script function is defined.
|
||||||
* Added `Module::get_script_fn` to get a scripted function in a module, if any, based on name and number of parameters.
|
|
||||||
|
|
||||||
|
|
||||||
Version 0.19.0
|
Version 0.19.0
|
||||||
|
@ -1596,7 +1596,7 @@ impl Engine {
|
|||||||
args: &mut [&mut Dynamic],
|
args: &mut [&mut Dynamic],
|
||||||
) -> FuncReturn<Dynamic> {
|
) -> FuncReturn<Dynamic> {
|
||||||
let fn_def = lib
|
let fn_def = lib
|
||||||
.get_script_function_by_signature(name, args.len(), true)
|
.get_script_fn(name, args.len(), true)
|
||||||
.ok_or_else(|| EvalAltResult::ErrorFunctionNotFound(name.into(), Position::none()))?;
|
.ok_or_else(|| EvalAltResult::ErrorFunctionNotFound(name.into(), Position::none()))?;
|
||||||
|
|
||||||
let mut state = State::new();
|
let mut state = State::new();
|
||||||
|
@ -1103,24 +1103,6 @@ impl Module {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get a script-defined function definition from a module.
|
|
||||||
#[cfg(not(feature = "no_function"))]
|
|
||||||
pub fn get_script_function_by_signature(
|
|
||||||
&self,
|
|
||||||
name: &str,
|
|
||||||
num_params: usize,
|
|
||||||
pub_only: bool,
|
|
||||||
) -> Option<&ScriptFnDef> {
|
|
||||||
// Qualifiers (none) + function name + number of arguments.
|
|
||||||
let hash_script = calc_fn_hash(empty(), name, num_params, empty());
|
|
||||||
let func = self.get_fn(hash_script, pub_only)?;
|
|
||||||
if func.is_script() {
|
|
||||||
Some(func.get_fn_def())
|
|
||||||
} else {
|
|
||||||
None
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Get a modules-qualified function.
|
/// Get a modules-qualified function.
|
||||||
/// Name and Position in `EvalAltResult` are None and must be set afterwards.
|
/// Name and Position in `EvalAltResult` are None and must be set afterwards.
|
||||||
///
|
///
|
||||||
|
Loading…
Reference in New Issue
Block a user