summaryrefslogtreecommitdiff
path: root/include/method.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/method.h')
-rw-r--r--include/method.h27
1 files changed, 5 insertions, 22 deletions
diff --git a/include/method.h b/include/method.h
index 9398fd7..d652d89 100644
--- a/include/method.h
+++ b/include/method.h
@@ -33,11 +33,10 @@ public:
/**
* Invoke the method
- * @param environment
* @param parameters
* @return Value
*/
- Value invoke(Environment &environment, Parameters &parameters)
+ Value invoke(Parameters &parameters)
{
// the object to call a method on
Base *base = parameters.object();
@@ -46,12 +45,8 @@ public:
switch (_type) {
case 0: (base->*_callback.m0)(); return Value();
case 1: (base->*_callback.m1)(parameters); return Value();
- case 2: (base->*_callback.m2)(environment); return Value();
- case 3: (base->*_callback.m3)(environment, parameters); return Value();
- case 4: return (base->*_callback.m4)();
- case 5: return (base->*_callback.m5)(parameters);
- case 6: return (base->*_callback.m6)(environment);
- case 7: return (base->*_callback.m7)(environment, parameters);
+ case 2: return (base->*_callback.m2)();
+ case 3: return (base->*_callback.m3)(parameters);
default: return Value();
}
}
@@ -64,10 +59,6 @@ protected:
_Method(method_callback_1 callback) : _type(1) { _callback.m1 = callback; }
_Method(method_callback_2 callback) : _type(2) { _callback.m2 = callback; }
_Method(method_callback_3 callback) : _type(3) { _callback.m3 = callback; }
- _Method(method_callback_4 callback) : _type(4) { _callback.m4 = callback; }
- _Method(method_callback_5 callback) : _type(5) { _callback.m5 = callback; }
- _Method(method_callback_6 callback) : _type(6) { _callback.m6 = callback; }
- _Method(method_callback_7 callback) : _type(7) { _callback.m7 = callback; }
private:
/**
@@ -85,10 +76,6 @@ private:
method_callback_1 m1;
method_callback_2 m2;
method_callback_3 m3;
- method_callback_4 m4;
- method_callback_5 m5;
- method_callback_6 m6;
- method_callback_7 m7;
} _callback;
};
@@ -105,12 +92,8 @@ public:
*/
Method(void(T::*callback)()) : _Method(static_cast<method_callback_0>(callback)) {}
Method(void(T::*callback)(Parameters&)) : _Method(static_cast<method_callback_1>(callback)) {}
- Method(void(T::*callback)(Environment&)) : _Method(static_cast<method_callback_2>(callback)) {}
- Method(void(T::*callback)(Environment&,Parameters&)) : _Method(static_cast<method_callback_3>(callback)) {}
- Method(Value(T::*callback)()) : _Method(static_cast<method_callback_4>(callback)) {}
- Method(Value(T::*callback)(Parameters&)) : _Method(static_cast<method_callback_5>(callback)) {}
- Method(Value(T::*callback)(Environment&)) : _Method(static_cast<method_callback_6>(callback)) {}
- Method(Value(T::*callback)(Environment&,Parameters&)) : _Method(static_cast<method_callback_7>(callback)) {}
+ Method(Value(T::*callback)()) : _Method(static_cast<method_callback_2>(callback)) {}
+ Method(Value(T::*callback)(Parameters&)) : _Method(static_cast<method_callback_3>(callback)) {}
/**
* Destructor