Remove Position parameter from plugin call function.

This commit is contained in:
Stephen Chung
2020-09-18 13:59:38 +08:00
parent 7c3498a4e1
commit cfe28c9282
5 changed files with 157 additions and 116 deletions

View File

@@ -232,7 +232,7 @@ impl Engine {
// Run external function
let result = if func.is_plugin_fn() {
func.get_plugin_fn().call(args, Position::none())
func.get_plugin_fn().call(args)
} else {
func.get_native_fn()(self, lib, args)
};
@@ -1099,7 +1099,7 @@ impl Engine {
self.call_script_fn(scope, mods, state, lib, &mut None, name, func, args, level)
}
Some(f) if f.is_plugin_fn() => f.get_plugin_fn().call(args.as_mut(), Position::none()),
Some(f) if f.is_plugin_fn() => f.get_plugin_fn().call(args.as_mut()),
Some(f) if f.is_native() => {
if !f.is_method() {
// Clone first argument

View File

@@ -3,7 +3,7 @@
pub use crate::{
fn_native::CallableFunction, stdlib::any::TypeId, stdlib::boxed::Box, stdlib::format,
stdlib::mem, stdlib::string::ToString, stdlib::vec as new_vec, stdlib::vec::Vec, Dynamic,
Engine, EvalAltResult, FnAccess, ImmutableString, Module, Position, RegisterResultFn,
Engine, EvalAltResult, FnAccess, ImmutableString, Module, RegisterResultFn,
};
#[cfg(not(features = "no_module"))]
@@ -34,8 +34,7 @@ pub trait PluginFunction {
fn is_method_call(&self) -> bool;
fn is_varadic(&self) -> bool;
fn call(&self, args: &mut [&mut Dynamic], pos: Position)
-> Result<Dynamic, Box<EvalAltResult>>;
fn call(&self, args: &mut [&mut Dynamic]) -> Result<Dynamic, Box<EvalAltResult>>;
fn clone_boxed(&self) -> Box<dyn PluginFunction>;