Commit 2e501577 authored by Vinicius Jarina's avatar Vinicius Jarina
Browse files

Fixed gendarme warnings.

parent c84425fd
......@@ -45,7 +45,7 @@ namespace NLua
* Author: Fabio Mascarenhas
* Version: 1.0
*/
class CheckType
sealed class CheckType
{
#if SILVERLIGHT
private Dictionary<Type, ExtractValue> extractValues = new Dictionary<Type, ExtractValue>();
......@@ -58,48 +58,48 @@ namespace NLua
public CheckType (ObjectTranslator translator)
{
this.translator = translator;
extractValues.Add(getExtractDictionaryKey(typeof(object)), new ExtractValue(getAsObject));
extractValues.Add(getExtractDictionaryKey(typeof(sbyte)), new ExtractValue(getAsSbyte));
extractValues.Add(getExtractDictionaryKey(typeof(byte)), new ExtractValue(getAsByte));
extractValues.Add(getExtractDictionaryKey(typeof(short)), new ExtractValue(getAsShort));
extractValues.Add(getExtractDictionaryKey(typeof(ushort)), new ExtractValue(getAsUshort));
extractValues.Add(getExtractDictionaryKey(typeof(int)), new ExtractValue(getAsInt));
extractValues.Add(getExtractDictionaryKey(typeof(uint)), new ExtractValue(getAsUint));
extractValues.Add(getExtractDictionaryKey(typeof(long)), new ExtractValue(getAsLong));
extractValues.Add(getExtractDictionaryKey(typeof(ulong)), new ExtractValue(getAsUlong));
extractValues.Add(getExtractDictionaryKey(typeof(double)), new ExtractValue(getAsDouble));
extractValues.Add(getExtractDictionaryKey(typeof(char)), new ExtractValue(getAsChar));
extractValues.Add(getExtractDictionaryKey(typeof(float)), new ExtractValue(getAsFloat));
extractValues.Add(getExtractDictionaryKey(typeof(decimal)), new ExtractValue(getAsDecimal));
extractValues.Add(getExtractDictionaryKey(typeof(bool)), new ExtractValue(getAsBoolean));
extractValues.Add(getExtractDictionaryKey(typeof(string)), new ExtractValue(getAsString));
extractValues.Add(getExtractDictionaryKey(typeof(LuaFunction)), new ExtractValue(getAsFunction));
extractValues.Add(getExtractDictionaryKey(typeof(LuaTable)), new ExtractValue(getAsTable));
extractValues.Add(getExtractDictionaryKey(typeof(LuaUserData)), new ExtractValue(getAsUserdata));
extractNetObject = new ExtractValue (getAsNetObject);
extractValues.Add(GetExtractDictionaryKey(typeof(object)), new ExtractValue(GetAsObject));
extractValues.Add(GetExtractDictionaryKey(typeof(sbyte)), new ExtractValue(GetAsSbyte));
extractValues.Add(GetExtractDictionaryKey(typeof(byte)), new ExtractValue(GetAsByte));
extractValues.Add(GetExtractDictionaryKey(typeof(short)), new ExtractValue(GetAsShort));
extractValues.Add(GetExtractDictionaryKey(typeof(ushort)), new ExtractValue(GetAsUshort));
extractValues.Add(GetExtractDictionaryKey(typeof(int)), new ExtractValue(GetAsInt));
extractValues.Add(GetExtractDictionaryKey(typeof(uint)), new ExtractValue(GetAsUint));
extractValues.Add(GetExtractDictionaryKey(typeof(long)), new ExtractValue(GetAsLong));
extractValues.Add(GetExtractDictionaryKey(typeof(ulong)), new ExtractValue(GetAsUlong));
extractValues.Add(GetExtractDictionaryKey(typeof(double)), new ExtractValue(GetAsDouble));
extractValues.Add(GetExtractDictionaryKey(typeof(char)), new ExtractValue(GetAsChar));
extractValues.Add(GetExtractDictionaryKey(typeof(float)), new ExtractValue(GetAsFloat));
extractValues.Add(GetExtractDictionaryKey(typeof(decimal)), new ExtractValue(GetAsDecimal));
extractValues.Add(GetExtractDictionaryKey(typeof(bool)), new ExtractValue(GetAsBoolean));
extractValues.Add(GetExtractDictionaryKey(typeof(string)), new ExtractValue(GetAsString));
extractValues.Add(GetExtractDictionaryKey(typeof(LuaFunction)), new ExtractValue(GetAsFunction));
extractValues.Add(GetExtractDictionaryKey(typeof(LuaTable)), new ExtractValue(GetAsTable));
extractValues.Add(GetExtractDictionaryKey(typeof(LuaUserData)), new ExtractValue(GetAsUserdata));
extractNetObject = new ExtractValue (GetAsNetObject);
}
/*
* Checks if the value at Lua stack index stackPos matches paramType,
* returning a conversion function if it does and null otherwise.
*/
internal ExtractValue getExtractor (IReflect paramType)
internal ExtractValue GetExtractor (IReflect paramType)
{
return getExtractor (paramType.UnderlyingSystemType);
return GetExtractor (paramType.UnderlyingSystemType);
}
internal ExtractValue getExtractor (Type paramType)
internal ExtractValue GetExtractor (Type paramType)
{
if (paramType.IsByRef)
paramType = paramType.GetElementType ();
var extractKey = getExtractDictionaryKey(paramType);
var extractKey = GetExtractDictionaryKey(paramType);
return extractValues.ContainsKey(extractKey) ? extractValues[extractKey] : extractNetObject;
}
internal ExtractValue checkType (LuaState luaState, int stackPos, Type paramType)
internal ExtractValue CheckLuaType (LuaState luaState, int stackPos, Type paramType)
{
var luatype = LuaLib.lua_type (luaState, stackPos);
var luatype = LuaLib.LuaType (luaState, stackPos);
if (paramType.IsByRef)
paramType = paramType.GetElementType ();
......@@ -109,7 +109,7 @@ namespace NLua
if (!underlyingType.IsNull ())
paramType = underlyingType; // Silently convert nullable types to their non null requics
var extractKey = getExtractDictionaryKey (paramType);
var extractKey = GetExtractDictionaryKey (paramType);
if (paramType.Equals (typeof(object)))
return extractValues [extractKey];
......@@ -117,27 +117,27 @@ namespace NLua
//CP: Added support for generic parameters
if (paramType.IsGenericParameter) {
if (luatype == LuaTypes.Boolean)
return extractValues [getExtractDictionaryKey (typeof(bool))];
return extractValues [GetExtractDictionaryKey (typeof(bool))];
else if (luatype == LuaTypes.String)
return extractValues[getExtractDictionaryKey (typeof(string))];
return extractValues[GetExtractDictionaryKey (typeof(string))];
else if (luatype == LuaTypes.Table)
return extractValues [getExtractDictionaryKey (typeof(LuaTable))];
return extractValues [GetExtractDictionaryKey (typeof(LuaTable))];
else if (luatype == LuaTypes.UserData)
return extractValues [getExtractDictionaryKey (typeof(object))];
return extractValues [GetExtractDictionaryKey (typeof(object))];
else if (luatype == LuaTypes.Function)
return extractValues [getExtractDictionaryKey (typeof(LuaFunction))];
return extractValues [GetExtractDictionaryKey (typeof(LuaFunction))];
else if (luatype == LuaTypes.Number)
return extractValues [getExtractDictionaryKey (typeof(double))];
return extractValues [GetExtractDictionaryKey (typeof(double))];
}
if (LuaLib.lua_isnumber (luaState, stackPos))
if (LuaLib.LuaIsNumber (luaState, stackPos))
return extractValues [extractKey];
if (paramType == typeof(bool)) {
if (LuaLib.lua_isboolean (luaState, stackPos))
if (LuaLib.LuaIsBoolean (luaState, stackPos))
return extractValues [extractKey];
} else if (paramType == typeof(string)) {
if (LuaLib.lua_isstring (luaState, stackPos))
if (LuaLib.LuaIsString (luaState, stackPos))
return extractValues [extractKey];
else if (luatype == LuaTypes.Nil)
return extractNetObject; // kevinh - silently convert nil to a null string pointer
......@@ -151,22 +151,22 @@ namespace NLua
if (luatype == LuaTypes.Function)
return extractValues [extractKey];
} else if (typeof(Delegate).IsAssignableFrom (paramType) && luatype == LuaTypes.Function)
return new ExtractValue (new DelegateGenerator (translator, paramType).extractGenerated);
return new ExtractValue (new DelegateGenerator (translator, paramType).ExtractGenerated);
else if (paramType.IsInterface && luatype == LuaTypes.Table)
return new ExtractValue (new ClassGenerator (translator, paramType).extractGenerated);
return new ExtractValue (new ClassGenerator (translator, paramType).ExtractGenerated);
else if ((paramType.IsInterface || paramType.IsClass) && luatype == LuaTypes.Nil) {
// kevinh - allow nil to be silently converted to null - extractNetObject will return null when the item ain't found
return extractNetObject;
} else if (LuaLib.lua_type (luaState, stackPos) == LuaTypes.Table) {
if (LuaLib.luaL_getmetafield (luaState, stackPos, "__index")) {
object obj = translator.getNetObject (luaState, -1);
LuaLib.lua_settop (luaState, -2);
} else if (LuaLib.LuaType (luaState, stackPos) == LuaTypes.Table) {
if (LuaLib.LuaLGetMetafield (luaState, stackPos, "__index")) {
object obj = translator.GetNetObject (luaState, -1);
LuaLib.LuaSetTop (luaState, -2);
if (!obj.IsNull () && paramType.IsAssignableFrom (obj.GetType ()))
return extractNetObject;
} else
return null;
} else {
object obj = translator.getNetObject (luaState, stackPos);
object obj = translator.GetNetObject (luaState, stackPos);
if (!obj.IsNull () && paramType.IsAssignableFrom (obj.GetType ()))
return extractNetObject;
}
......@@ -175,12 +175,12 @@ namespace NLua
}
#if SILVERLIGHT
private Type getExtractDictionaryKey(Type targetType)
private Type GetExtractDictionaryKey(Type targetType)
{
return targetType;
}
#else
private long getExtractDictionaryKey(Type targetType)
private long GetExtractDictionaryKey(Type targetType)
{
return targetType.TypeHandle.Value.ToInt64();
}
......@@ -191,171 +191,171 @@ namespace NLua
* index stackPos as the desired type if it can, or null
* otherwise.
*/
private object getAsSbyte (LuaState luaState, int stackPos)
private object GetAsSbyte (LuaState luaState, int stackPos)
{
sbyte retVal = (sbyte)LuaLib.lua_tonumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.lua_isnumber (luaState, stackPos))
sbyte retVal = (sbyte)LuaLib.LuaToNumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.LuaIsNumber (luaState, stackPos))
return null;
return retVal;
}
private object getAsByte (LuaState luaState, int stackPos)
private object GetAsByte (LuaState luaState, int stackPos)
{
byte retVal = (byte)LuaLib.lua_tonumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.lua_isnumber (luaState, stackPos))
byte retVal = (byte)LuaLib.LuaToNumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.LuaIsNumber (luaState, stackPos))
return null;
return retVal;
}
private object getAsShort (LuaState luaState, int stackPos)
private object GetAsShort (LuaState luaState, int stackPos)
{
short retVal = (short)LuaLib.lua_tonumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.lua_isnumber (luaState, stackPos))
short retVal = (short)LuaLib.LuaToNumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.LuaIsNumber (luaState, stackPos))
return null;
return retVal;
}
private object getAsUshort (LuaState luaState, int stackPos)
private object GetAsUshort (LuaState luaState, int stackPos)
{
ushort retVal = (ushort)LuaLib.lua_tonumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.lua_isnumber (luaState, stackPos))
ushort retVal = (ushort)LuaLib.LuaToNumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.LuaIsNumber (luaState, stackPos))
return null;
return retVal;
}
private object getAsInt (LuaState luaState, int stackPos)
private object GetAsInt (LuaState luaState, int stackPos)
{
int retVal = (int)LuaLib.lua_tonumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.lua_isnumber (luaState, stackPos))
int retVal = (int)LuaLib.LuaToNumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.LuaIsNumber (luaState, stackPos))
return null;
return retVal;
}
private object getAsUint (LuaState luaState, int stackPos)
private object GetAsUint (LuaState luaState, int stackPos)
{
uint retVal = (uint)LuaLib.lua_tonumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.lua_isnumber (luaState, stackPos))
uint retVal = (uint)LuaLib.LuaToNumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.LuaIsNumber (luaState, stackPos))
return null;
return retVal;
}
private object getAsLong (LuaState luaState, int stackPos)
private object GetAsLong (LuaState luaState, int stackPos)
{
long retVal = (long)LuaLib.lua_tonumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.lua_isnumber (luaState, stackPos))
long retVal = (long)LuaLib.LuaToNumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.LuaIsNumber (luaState, stackPos))
return null;
return retVal;
}
private object getAsUlong (LuaState luaState, int stackPos)
private object GetAsUlong (LuaState luaState, int stackPos)
{
ulong retVal = (ulong)LuaLib.lua_tonumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.lua_isnumber (luaState, stackPos))
ulong retVal = (ulong)LuaLib.LuaToNumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.LuaIsNumber (luaState, stackPos))
return null;
return retVal;
}
private object getAsDouble (LuaState luaState, int stackPos)
private object GetAsDouble (LuaState luaState, int stackPos)
{
double retVal = LuaLib.lua_tonumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.lua_isnumber (luaState, stackPos))
double retVal = LuaLib.LuaToNumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.LuaIsNumber (luaState, stackPos))
return null;
return retVal;
}
private object getAsChar (LuaState luaState, int stackPos)
private object GetAsChar (LuaState luaState, int stackPos)
{
char retVal = (char)LuaLib.lua_tonumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.lua_isnumber (luaState, stackPos))
char retVal = (char)LuaLib.LuaToNumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.LuaIsNumber (luaState, stackPos))
return null;
return retVal;
}
private object getAsFloat (LuaState luaState, int stackPos)
private object GetAsFloat (LuaState luaState, int stackPos)
{
float retVal = (float)LuaLib.lua_tonumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.lua_isnumber (luaState, stackPos))
float retVal = (float)LuaLib.LuaToNumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.LuaIsNumber (luaState, stackPos))
return null;
return retVal;
}
private object getAsDecimal (LuaState luaState, int stackPos)
private object GetAsDecimal (LuaState luaState, int stackPos)
{
decimal retVal = (decimal)LuaLib.lua_tonumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.lua_isnumber (luaState, stackPos))
decimal retVal = (decimal)LuaLib.LuaToNumber (luaState, stackPos);
if (retVal == 0 && !LuaLib.LuaIsNumber (luaState, stackPos))
return null;
return retVal;
}
private object getAsBoolean (LuaState luaState, int stackPos)
private object GetAsBoolean (LuaState luaState, int stackPos)
{
return LuaLib.lua_toboolean (luaState, stackPos);
return LuaLib.LuaToBoolean (luaState, stackPos);
}
private object getAsString (LuaState luaState, int stackPos)
private object GetAsString (LuaState luaState, int stackPos)
{
string retVal = LuaLib.lua_tostring (luaState, stackPos).ToString ();
if (retVal == string.Empty && !LuaLib.lua_isstring (luaState, stackPos))
string retVal = LuaLib.LuaToString (luaState, stackPos).ToString ();
if (string.IsNullOrEmpty(retVal) && !LuaLib.LuaIsString (luaState, stackPos))
return null;
return retVal;
}
private object getAsTable (LuaState luaState, int stackPos)
private object GetAsTable (LuaState luaState, int stackPos)
{
return translator.getTable (luaState, stackPos);
return translator.GetTable (luaState, stackPos);
}
private object getAsFunction (LuaState luaState, int stackPos)
private object GetAsFunction (LuaState luaState, int stackPos)
{
return translator.getFunction (luaState, stackPos);
return translator.GetFunction (luaState, stackPos);
}
private object getAsUserdata (LuaState luaState, int stackPos)
private object GetAsUserdata (LuaState luaState, int stackPos)
{
return translator.getUserData (luaState, stackPos);
return translator.GetUserData (luaState, stackPos);
}
public object getAsObject (LuaState luaState, int stackPos)
public object GetAsObject (LuaState luaState, int stackPos)
{
if (LuaLib.lua_type (luaState, stackPos) == LuaTypes.Table) {
if (LuaLib.luaL_getmetafield (luaState, stackPos, "__index")) {
if (LuaLib.luaL_checkmetatable (luaState, -1)) {
LuaLib.lua_insert (luaState, stackPos);
LuaLib.lua_remove (luaState, stackPos + 1);
if (LuaLib.LuaType (luaState, stackPos) == LuaTypes.Table) {
if (LuaLib.LuaLGetMetafield (luaState, stackPos, "__index")) {
if (LuaLib.LuaLCheckMetatable (luaState, -1)) {
LuaLib.LuaInsert (luaState, stackPos);
LuaLib.LuaRemove (luaState, stackPos + 1);
} else
LuaLib.lua_settop (luaState, -2);
LuaLib.LuaSetTop (luaState, -2);
}
}
object obj = translator.getObject (luaState, stackPos);
object obj = translator.GetObject (luaState, stackPos);
return obj;
}
public object getAsNetObject (LuaState luaState, int stackPos)
public object GetAsNetObject (LuaState luaState, int stackPos)
{
object obj = translator.getNetObject (luaState, stackPos);
if (obj.IsNull () && LuaLib.lua_type (luaState, stackPos) == LuaTypes.Table) {
if (LuaLib.luaL_getmetafield (luaState, stackPos, "__index")) {
if (LuaLib.luaL_checkmetatable (luaState, -1)) {
LuaLib.lua_insert (luaState, stackPos);
LuaLib.lua_remove (luaState, stackPos + 1);
obj = translator.getNetObject (luaState, stackPos);
object obj = translator.GetNetObject (luaState, stackPos);
if (obj.IsNull () && LuaLib.LuaType (luaState, stackPos) == LuaTypes.Table) {
if (LuaLib.LuaLGetMetafield (luaState, stackPos, "__index")) {
if (LuaLib.LuaLCheckMetatable (luaState, -1)) {
LuaLib.LuaInsert (luaState, stackPos);
LuaLib.LuaRemove (luaState, stackPos + 1);
obj = translator.GetNetObject (luaState, stackPos);
} else
LuaLib.lua_settop (luaState, -2);
LuaLib.LuaSetTop (luaState, -2);
}
}
......
......@@ -46,15 +46,15 @@ namespace NLua
private ObjectTranslator translator;
private Type klass;
public ClassGenerator (ObjectTranslator translator, Type klass)
public ClassGenerator (ObjectTranslator objTranslator, Type typeClass)
{
this.translator = translator;
this.klass = klass;
translator = objTranslator;
klass = typeClass;
}
public object extractGenerated (LuaState luaState, int stackPos)
public object ExtractGenerated (LuaState luaState, int stackPos)
{
return CodeGeneration.Instance.GetClassInstance (klass, translator.getTable (luaState, stackPos));
return CodeGeneration.Instance.GetClassInstance (klass, translator.GetTable (luaState, stackPos));
}
}
}
\ No newline at end of file
......@@ -67,9 +67,6 @@ namespace NLua
private CodeGeneration ()
{
// Create an assembly name
assemblyName = new AssemblyName ();
assemblyName.Name = "NLua_generatedcode";
......@@ -78,7 +75,6 @@ namespace NLua
newAssembly = Thread.GetDomain ().DefineDynamicAssembly (assemblyName, AssemblyBuilderAccess.Run);
newModule = newAssembly.DefineDynamicModule ("NLua_generatedcode");
#endif
}
/*
......
......@@ -47,15 +47,15 @@ namespace NLua
private Type delegateType;
public DelegateGenerator (ObjectTranslator translator, Type delegateType)
public DelegateGenerator (ObjectTranslator objectTranslator, Type type)
{
this.translator = translator;
this.delegateType = delegateType;
translator = objectTranslator;
delegateType = type;
}
public object extractGenerated (LuaState luaState, int stackPos)
public object ExtractGenerated (LuaState luaState, int stackPos)
{
return CodeGeneration.Instance.GetDelegate (delegateType, translator.getFunction (luaState, stackPos));
return CodeGeneration.Instance.GetDelegate (delegateType, translator.GetFunction (luaState, stackPos));
}
}
}
\ No newline at end of file
This diff is collapsed.
......@@ -58,7 +58,7 @@ namespace NLua
if (!_Disposed) {
if (disposeManagedResources) {
if (_Reference != 0)
_Interpreter.dispose (_Reference);
_Interpreter.DisposeInternal (_Reference);
}
_Interpreter = null;
......@@ -70,7 +70,7 @@ namespace NLua
{
if (o is LuaBase) {
var l = (LuaBase)o;
return _Interpreter.compareRef (l._Reference, _Reference);
return _Interpreter.CompareRef (l._Reference, _Reference);
} else
return false;
}
......
......@@ -59,9 +59,9 @@ namespace NLua
* Calls the function casting return values to the types
* in returnTypes
*/
internal object[] call (object[] args, Type[] returnTypes)
internal object[] Call (object[] args, Type[] returnTypes)
{
return _Interpreter.callFunction (this, args, returnTypes);
return _Interpreter.CallFunction (this, args, returnTypes);
}
/*
......@@ -70,18 +70,18 @@ namespace NLua
*/
public object[] Call (params object[] args)
{
return _Interpreter.callFunction (this, args);
return _Interpreter.CallFunction (this, args);
}
/*
* Pushes the function into the Lua stack
*/
internal void push (LuaState luaState)
internal void Push (LuaState luaState)
{
if (_Reference != 0)
LuaLib.lua_getref (luaState, _Reference);
LuaLib.LuaGetRef (luaState, _Reference);
else
_Interpreter.pushCSFunction (function);
_Interpreter.PushCSFunction (function);
}
public override string ToString ()
......@@ -95,7 +95,7 @@ namespace NLua
var l = (LuaFunction)o;
if (this._Reference != 0 && l._Reference != 0)
return _Interpreter.compareRef (l._Reference, this._Reference);
return _Interpreter.CompareRef (l._Reference, this._Reference);
else
return this.function == l.function;
} else
......
......@@ -39,6 +39,7 @@ namespace NLua
public class LuaIndexes
{
static int registryIndex = 0;
public static int Registry {
get
{
......
......@@ -42,95 +42,80 @@ namespace NLua
public class LuaLib
{
// steffenj: BEGIN additional Lua API functions new in Lua 5.1
public static int lua_gc (LuaState luaState, GCOptions what, int data)
public static int LuaGC (LuaState luaState, GCOptions what, int data)
{
return LuaCore.LuaGC (luaState, (int)what, data);
}
public static string lua_typename (LuaState luaState, LuaTypes type)
public static string LuaTypeName (LuaState luaState, LuaTypes type)
{
return LuaCore.LuaTypeName (luaState, (int)type).ToString ();
}
public static string luaL_typename (LuaState luaState, int stackPos)
public static string LuaLTypeName (LuaState luaState, int stackPos)
{
return lua_typename (luaState, lua_type (luaState, stackPos));
return LuaTypeName (luaState, LuaType (luaState, stackPos));
}
public static void luaL_error (LuaState luaState, string message)
public static void LuaLError (LuaState luaState, string message)
{
LuaCore.LuaLError (luaState, message);
}
public static void luaL_where (LuaState luaState, int level)
public static void LuaLWhere (LuaState luaState, int level)
{
LuaCore.LuaLWhere (luaState, level);
}
// steffenj: BEGIN Lua 5.1.1 API change (lua_open replaced by luaL_newstate)
public static LuaState luaL_newstate ()
public static LuaState LuaLNewState ()
{
return LuaCore.LuaLNewState ();
}
// steffenj: BEGIN Lua 5.1.1 API change (new function luaL_openlibs)
public static void luaL_openlibs (LuaState luaState)
public static void LuaLOpenLibs (LuaState luaState)
{
LuaCore.LuaLOpenLibs (luaState);
}
// steffenj: END Lua 5.1.1 API change (lua_strlen is now lua_objlen)
// steffenj: BEGIN Lua 5.1.1 API change (lua_dostring is now a macro luaL_dostring)
public static int luaL_loadstring (LuaState luaState, string chunk)
public static int LuaLLoadString (LuaState luaState, string chunk)
{
return LuaCore.LuaLLoadString (luaState, chunk);
}
public static int luaL_loadstring (LuaState luaState, byte[] chunk)
public static int LuaLLoadString (LuaState luaState, byte[] chunk)
{
return LuaCore.LuaLLoadString (luaState, chunk);
}
public static int luaL_dostring (LuaState luaState, string chunk)
public static int LuaLDoString (LuaState luaState, string chunk)
{
int result = luaL_loadstring (luaState, chunk);
int result = LuaLLoadString (luaState, chunk);
if (result != 0)
return result;
return lua_pcall (luaState, 0, -1, 0);
return LuaPCall (luaState, 0, -1, 0);
}
public static int luaL_dostring (LuaState luaState, byte[] chunk)
public static int LuaLDoString (LuaState luaState, byte[] chunk)
{
int result = luaL_loadstring (luaState, chunk);
int result = LuaLLoadString (luaState, chunk);
if (result != 0)
return result;
return lua_pcall (luaState, 0, -1, 0);
return LuaPCall (luaState, 0, -1, 0);
}
/// <summary>DEPRECATED - use luaL_dostring(LuaState luaState, string chunk) instead!</summary>
public static int lua_dostring (LuaState luaState, string chunk)
{
return luaL_dostring (luaState, chunk);
}
// steffenj: END Lua 5.1.1 API change (lua_dostring is now a macro luaL_dostring)
// steffenj: BEGIN Lua 5.1.1 API change (lua_newtable is gone, lua_createtable is new)
public static void lua_createtable (LuaState luaState, int narr, int nrec)
public static void LuaCreateTable (LuaState luaState, int narr, int nrec)
{
LuaCore.LuaCreateTable (luaState, narr, nrec);
}
public static void lua_newtable (LuaState luaState)
public static void LuaNewTable (LuaState luaState)
{
lua_createtable (luaState, 0, 0);
LuaCreateTable (luaState, 0, 0);
}
// steffenj: END Lua 5.1.1 API change (lua_newtable is gone, lua_createtable is new)
// steffenj: BEGIN Lua 5.1.1 API change (lua_dofile now in LuaLib as luaL_dofile macro)
public static int luaL_dofile (LuaState luaState, string fileName)
public static int LuaLDoFile (LuaState luaState, string fileName)
{
int result = LuaCore.LuaNetLoadFile (luaState, fileName);
if (result != 0)
......@@ -139,199 +124,198 @@ namespace NLua
return LuaCore.LuaNetPCall (luaState, 0, -1, 0);
}
public static void lua_getglobal (LuaState luaState, string name)
public static void LuaGetGlobal (LuaState luaState, string name)
{
LuaCore.LuaNetGetGlobal (luaState, name);
}
public static void lua_setglobal (LuaState luaState, string name)
public static void LuaSetGlobal (LuaState luaState, string name)
{
LuaCore.LuaNetSetGlobal (luaState, name);
}
public static void lua_settop (LuaState luaState, int newTop)
public static void LuaSetTop (LuaState luaState, int newTop)
{
LuaCore.LuaSetTop (luaState, newTop);
}
public static void lua_pop (LuaState luaState, int amount)
public static void LuaPop (LuaState luaState, int amount)
{
lua_settop (luaState, -(amount) - 1);
LuaSetTop (luaState, -(amount) - 1);
}
public static void lua_insert (LuaState luaState, int newTop)
public static void LuaInsert (LuaState luaState, int newTop)
{
LuaCore.LuaInsert (luaState, newTop);
}
public static void lua_remove (LuaState luaState, int index)
public static void LuaRemove (LuaState luaState, int index)
{
LuaCore.LuaRemove (luaState, index);
}
public static void lua_gettable (LuaState luaState, int index)
public static void LuaGetTable (LuaState luaState, int index)
{
LuaCore.LuaGetTable (luaState, index);
}
public static void lua_rawget (LuaState luaState, int index)
public static void LuaRawGet (LuaState luaState, int index)
{
LuaCore.LuaRawGet (luaState, index);
}
public static void lua_settable (LuaState luaState, int index)
public static void LuaSetTable (LuaState luaState, int index)
{
LuaCore.LuaSetTable (luaState, index);
}
public static void lua_rawset (LuaState luaState, int index)
public static void LuaRawSet (LuaState luaState, int index)
{
LuaCore.LuaRawSet (luaState, index);
}
public static void lua_setmetatable (LuaState luaState, int objIndex)
public static void LuaSetMetatable (LuaState luaState, int objIndex)
{
LuaCore.LuaSetMetatable (luaState, objIndex);
}
public static int lua_getmetatable (LuaState luaState, int objIndex)
public static int LuaGetMetatable (LuaState luaState, int objIndex)
{
return LuaCore.LuaGetMetatable (luaState, objIndex);
}
public static int lua_equal (LuaState luaState, int index1, int index2)
public static int LuaEqual (LuaState luaState, int index1, int index2)
{
return LuaCore.LuaNetEqual (luaState, index1, index2);
}
public static void lua_pushvalue (LuaState luaState, int index)
public static void LuaPushValue (LuaState luaState, int index)
{
LuaCore.LuaPushValue (luaState, index);
}
public static void lua_replace (LuaState luaState, int index)
public static void LuaReplace (LuaState luaState, int index)
{
LuaCore.LuaReplace (luaState, index);
}
public static int lua_gettop (LuaState luaState)
public static int LuaGetTop (LuaState luaState)
{
return LuaCore.LuaGetTop (luaState);
}
public static LuaTypes lua_type (LuaState luaState, int index)
public static LuaTypes LuaType (LuaState luaState, int index)
{
return (LuaTypes)LuaCore.LuaType (luaState, index);
}
public static bool lua_isnil (LuaState luaState, int index)
public static bool LuaIsNil (LuaState luaState, int index)
{
return lua_type (luaState, index) == LuaTypes.Nil;
return LuaType (luaState, index) == LuaTypes.Nil;
}
public static bool lua_isnumber (LuaState luaState, int index)
public static bool LuaIsNumber (LuaState luaState, int index)
{
return lua_type (luaState, index) == LuaTypes.Number;
return LuaType (luaState, index) == LuaTypes.Number;
}
public static bool lua_isboolean (LuaState luaState, int index)
public static bool LuaIsBoolean (LuaState luaState, int index)
{
return lua_type (luaState, index) == LuaTypes.Boolean;
return LuaType (luaState, index) == LuaTypes.Boolean;
}
public static int luaL_ref (LuaState luaState, int registryIndex)
public static int LuaLRef (LuaState luaState, int registryIndex)
{
return LuaCore.LuaLRef (luaState, registryIndex);
}
public static int lua_ref (LuaState luaState, int lockRef)
public static int LuaRef (LuaState luaState, int lockRef)
{
return lockRef != 0 ? luaL_ref (luaState, (int)LuaIndexes.Registry) : 0;
return lockRef != 0 ? LuaLRef (luaState, (int)LuaIndexes.Registry) : 0;
}
public static void lua_rawgeti (LuaState luaState, int tableIndex, int index)
public static void LuaRawGetI (LuaState luaState, int tableIndex, int index)
{
LuaCore.LuaRawGetI (luaState, tableIndex, index);
}
public static void lua_rawseti (LuaState luaState, int tableIndex, int index)
public static void LuaRawSetI (LuaState luaState, int tableIndex, int index)
{
LuaCore.LuaRawSetI (luaState, tableIndex, index);
}
public static object lua_newuserdata (LuaState luaState, int size)
public static object LuaNewUserData (LuaState luaState, int size)
{
return LuaCore.LuaNewUserData (luaState, (uint)size);
}
public static object lua_touserdata (LuaState luaState, int index)
public static object LuaToUserData (LuaState luaState, int index)
{
return LuaCore.LuaToUserData (luaState, index);
}
public static void lua_getref (LuaState luaState, int reference)
public static void LuaGetRef (LuaState luaState, int reference)
{
lua_rawgeti (luaState, (int)LuaIndexes.Registry, reference);
LuaRawGetI (luaState, (int)LuaIndexes.Registry, reference);
}
public static void lua_unref (LuaState luaState, int reference)
public static void LuaUnref (LuaState luaState, int reference)
{
LuaCore.LuaLUnref (luaState, (int)LuaIndexes.Registry, reference);
}
public static bool lua_isstring (LuaState luaState, int index)
public static bool LuaIsString (LuaState luaState, int index)
{
return LuaCore.LuaIsString (luaState, index) != 0;
}
public static bool lua_iscfunction (LuaState luaState, int index)
public static bool LuaIsCFunction (LuaState luaState, int index)
{
return LuaCore.LuaIsCFunction (luaState, index);
}
public static void lua_pushnil (LuaState luaState)
public static void LuaPushNil (LuaState luaState)
{
LuaCore.LuaPushNil (luaState);
}
public static void lua_call (LuaState luaState, int nArgs, int nResults)
public static void LuaCall (LuaState luaState, int nArgs, int nResults)
{
LuaCore.LuaCall (luaState, nArgs, nResults);
}
public static void lua_pushstdcallcfunction (LuaState luaState, LuaCore.LuaNativeFunction function)
public static void LuaPushStdCallCFunction (LuaState luaState, LuaCore.LuaNativeFunction function)
{
LuaCore.LuaPushStdCallCFunction (luaState, function);
}
public static int lua_pcall (LuaState luaState, int nArgs, int nResults, int errfunc)
public static int LuaPCall (LuaState luaState, int nArgs, int nResults, int errfunc)
{
return LuaCore.LuaNetPCall (luaState, nArgs, nResults, errfunc);
}
public static LuaCore.LuaNativeFunction lua_tocfunction (LuaState luaState, int index)
public static LuaCore.LuaNativeFunction LuaToCFunction (LuaState luaState, int index)
{
return LuaCore.LuaToCFunction (luaState, index);
}
public static double lua_tonumber (LuaState luaState, int index)
public static double LuaToNumber (LuaState luaState, int index)
{
return LuaCore.LuaNetToNumber (luaState, index);
}
public static bool lua_toboolean (LuaState luaState, int index)
public static bool LuaToBoolean (LuaState luaState, int index)
{
return LuaCore.LuaToBoolean (luaState, index) != 0;
}
public static string lua_tostring (LuaState luaState, int index)
public static string LuaToString (LuaState luaState, int index)
{
#if true
// FIXME use the same format string as lua i.e. LUA_NUMBER_FMT
var t = lua_type (luaState, index);
var t = LuaType (luaState, index);
if (t == LuaTypes.Number)
return string.Format ("{0}", lua_tonumber (luaState, index));
return string.Format ("{0}", LuaToNumber (luaState, index));
else if (t == LuaTypes.String) {
uint strlen;
// Changed 2013-05-18 by Dirk Weltz
......@@ -345,145 +329,132 @@ namespace NLua
return null; // treat lua nulls to as C# nulls
else
return "0"; // Because luaV_tostring does this
#else
size_t strlen;
// Note! This method will _change_ the representation of the object on the stack to a string.
// We do not want this behavior so we do the conversion ourselves
const char *str = LuaCore.lua_tolstring(luaState, index, &strlen);
if (str)
return Marshal::PtrToStringAnsi(IntPtr((char *) str), strlen);
else
return nullptr; // treat lua nulls to as C# nulls
#endif
}
public static void lua_atpanic (LuaState luaState, LuaCore.LuaNativeFunction panicf)
public static void LuaAtPanic (LuaState luaState, LuaCore.LuaNativeFunction panicf)
{
LuaCore.LuaAtPanic (luaState, (LuaCore.LuaNativeFunction)panicf);
}
public static void lua_pushnumber (LuaState luaState, double number)
public static void LuaPushNumber (LuaState luaState, double number)
{
LuaCore.LuaPushNumber (luaState, number);
}
public static void lua_pushboolean (LuaState luaState, bool value)
public static void LuaPushBoolean (LuaState luaState, bool value)
{
LuaCore.LuaPushBoolean (luaState, value ? 1 : 0);
}
public static void lua_pushstring (LuaState luaState, string str)
public static void LuaPushString (LuaState luaState, string str)
{
LuaCore.LuaPushString (luaState, str);
}
public static int luaL_newmetatable (LuaState luaState, string meta)
public static int LuaLNewMetatable (LuaState luaState, string meta)
{
return LuaCore.LuaLNewMetatable (luaState, meta);
}
// steffenj: BEGIN Lua 5.1.1 API change (luaL_getmetatable is now a macro using lua_getfield)
public static void lua_getfield (LuaState luaState, int stackPos, string meta)
public static void LuaGetField (LuaState luaState, int stackPos, string meta)
{
LuaCore.LuaGetField (luaState, stackPos, meta);
}
public static void luaL_getmetatable (LuaState luaState, string meta)
public static void LuaLGetMetatable (LuaState luaState, string meta)
{
lua_getfield (luaState, (int)LuaIndexes.Registry, meta);
LuaGetField (luaState, (int)LuaIndexes.Registry, meta);
}
public static object luaL_checkudata (LuaState luaState, int stackPos, string meta)
public static object LuaLCheckUData (LuaState luaState, int stackPos, string meta)
{
return LuaCore.LuaLCheckUData (luaState, stackPos, meta);
}
public static bool luaL_getmetafield (LuaState luaState, int stackPos, string field)
public static bool LuaLGetMetafield (LuaState luaState, int stackPos, string field)
{
return LuaCore.LuaLGetMetafield (luaState, stackPos, field) != 0;
}
public static int luaL_loadbuffer (LuaState luaState, string buff, string name)
public static int LuaLLoadBuffer (LuaState luaState, string buff, string name)
{
return LuaCore.LuaNetLoadBuffer (luaState, buff, (uint)buff.Length, name);
}
public static int luaL_loadbuffer (LuaState luaState, byte [] buff, string name)
public static int LuaLLoadBuffer (LuaState luaState, byte [] buff, string name)
{
return LuaCore.LuaNetLoadBuffer (luaState, buff, (uint)buff.Length, name);
}
public static int luaL_loadfile (LuaState luaState, string filename)
public static int LuaLLoadFile (LuaState luaState, string filename)
{
return LuaCore.LuaNetLoadFile (luaState, filename);
}
public static bool luaL_checkmetatable (LuaState luaState, int index)
public static bool LuaLCheckMetatable (LuaState luaState, int index)
{
return LuaCore.LuaLCheckMetatable (luaState, index);
}
public static int luanet_registryindex ()
public static int LuaNetRegistryIndex ()
{
return LuaCore.LuaNetRegistryIndex ();
}
public static int luanet_tonetobject (LuaState luaState, int index)
public static int LuaNetToNetObject (LuaState luaState, int index)
{
return LuaCore.LuaNetToNetObject (luaState, index);
}
public static void luanet_newudata (LuaState luaState, int val)
public static void LuaNetNewUData (LuaState luaState, int val)
{
LuaCore.LuaNetNewUData (luaState, val);
}
public static int luanet_rawnetobj (LuaState luaState, int obj)
public static int LuaNetRawNetObj (LuaState luaState, int obj)
{
return LuaCore.LuaNetRawNetObj (luaState, obj);
}
public static int luanet_checkudata (LuaState luaState, int ud, string tname)
public static int LuaNetCheckUData (LuaState luaState, int ud, string tname)
{
return LuaCore.LuaNetCheckUData (luaState, ud, tname);
}
public static void lua_error (LuaState luaState)
public static void LuaError (LuaState luaState)
{
LuaCore.LuaError (luaState);
}
public static bool lua_checkstack (LuaState luaState, int extra)
public static bool LuaCheckStack (LuaState luaState, int extra)
{
return LuaCore.LuaCheckStack (luaState, extra) != 0;
}
public static int lua_next (LuaState luaState, int index)
public static int LuaNext (LuaState luaState, int index)
{
return LuaCore.LuaNext (luaState, index);
}
public static void lua_pushlightuserdata (LuaState luaState, LuaTag udata)
public static void LuaPushLightUserData (LuaState luaState, LuaTag udata)
{
LuaCore.LuaPushLightUserData (luaState, udata.Tag);
}
public static LuaTag luanet_gettag ()
public static LuaTag LuaNetGetTag ()
{
return LuaCore.LuaNetGetTag ();
}
public static void luanet_pushglobaltable (LuaState luaState)
public static void LuaNetPushGlobalTable (LuaState luaState)
{
LuaCore.LuaNetPushGlobalTable (luaState);
}
public static void luanet_popglobaltable (LuaState luaState)
public static void LuaNetPopGlobalTable (LuaState luaState)
{
LuaCore.LuaNetPopGlobalTable (luaState);
}
}
}
\ No newline at end of file
......@@ -57,10 +57,10 @@ namespace NLua
*/
public object this [string field] {
get {
return _Interpreter.getObject (_Reference, field);
return _Interpreter.GetObject (_Reference, field);
}
set {
_Interpreter.setObject (_Reference, field, value);
_Interpreter.SetObject (_Reference, field, value);
}
}
......@@ -69,10 +69,10 @@ namespace NLua
*/
public object this [object field] {
get {
return _Interpreter.getObject (_Reference, field);
return _Interpreter.GetObject (_Reference, field);
}
set {
_Interpreter.setObject (_Reference, field, value);
_Interpreter.SetObject (_Reference, field, value);
}
}
......@@ -93,14 +93,14 @@ namespace NLua
* Gets an string fields of a table ignoring its metatable,
* if it exists
*/
internal object rawget (string field)
internal object RawGet (string field)
{
return _Interpreter.rawGetObject (_Reference, field);
return _Interpreter.RawGetObject (_Reference, field);
}
internal object rawgetFunction (string field)
internal object RawGetFunction (string field)
{
object obj = _Interpreter.rawGetObject (_Reference, field);
object obj = _Interpreter.RawGetObject (_Reference, field);
if (obj is LuaCore.LuaNativeFunction)
return new LuaFunction ((LuaCore.LuaNativeFunction)obj, _Interpreter);
......@@ -111,9 +111,9 @@ namespace NLua
/*
* Pushes this table into the Lua stack
*/
internal void push (LuaState luaState)
internal void Push (LuaState luaState)
{
LuaLib.lua_getref (luaState, _Reference);
LuaLib.LuaGetRef (luaState, _Reference);
}
public override string ToString ()
......
......@@ -50,10 +50,10 @@ namespace NLua
*/
public object this [string field] {
get {
return _Interpreter.getObject (_Reference, field);
return _Interpreter.GetObject (_Reference, field);
}
set {
_Interpreter.setObject (_Reference, field, value);
_Interpreter.SetObject (_Reference, field, value);
}
}
......@@ -62,10 +62,10 @@ namespace NLua
*/
public object this [object field] {
get {
return _Interpreter.getObject (_Reference, field);
return _Interpreter.GetObject (_Reference, field);
}
set {
_Interpreter.setObject (_Reference, field, value);
_Interpreter.SetObject (_Reference, field, value);
}
}
......@@ -75,15 +75,15 @@ namespace NLua
*/
public object[] Call (params object[] args)
{
return _Interpreter.callFunction (this, args);
return _Interpreter.CallFunction (this, args);
}
/*
* Pushes the userdata into the Lua stack
*/
internal void push (LuaState luaState)
internal void Push (LuaState luaState)
{
LuaLib.lua_getref (luaState, _Reference);
LuaLib.LuaGetRef (luaState, _Reference);
}
public override string ToString ()
......
This diff is collapsed.
......@@ -38,9 +38,9 @@ namespace NLua.Method
* Gets the function called name from the provided table,
* returning null if it does not exist
*/
public static LuaFunction getTableFunction (LuaTable luaTable, string name)
public static LuaFunction GetTableFunction (LuaTable luaTable, string name)
{
object funcObj = luaTable.rawget (name);
object funcObj = luaTable.RawGet (name);
if (funcObj is LuaFunction)
return (LuaFunction)funcObj;
......@@ -51,14 +51,14 @@ namespace NLua.Method
/*
* Calls the provided function with the provided parameters
*/
public static object callFunction (LuaFunction function, object[] args, Type[] returnTypes, object[] inArgs, int[] outArgs)
public static object CallFunction (LuaFunction function, object[] args, Type[] returnTypes, object[] inArgs, int[] outArgs)
{
// args is the return array of arguments, inArgs is the actual array
// of arguments passed to the function (with in parameters only), outArgs
// has the positions of out parameters
object returnValue;
int iRefArgs;
object[] returnValues = function.call (inArgs, returnTypes);
object[] returnValues = function.Call (inArgs, returnTypes);
if (returnTypes [0] == typeof(void)) {
returnValue = null;
......
......@@ -45,14 +45,14 @@ namespace NLua.Method
returnTypes = null;
}
public object callFunction (object[] args, object[] inArgs, int[] outArgs)
public object CallFunction (object[] args, object[] inArgs, int[] outArgs)
{
// args is the return array of arguments, inArgs is the actual array
// of arguments passed to the function (with in parameters only), outArgs
// has the positions of out parameters
object returnValue;
int iRefArgs;
object[] returnValues = function.call (inArgs, returnTypes);
object[] returnValues = function.Call (inArgs, returnTypes);
if (returnTypes [0] == typeof(void)) {
returnValue = null;
......
......@@ -40,7 +40,7 @@ namespace NLua.Method
// CP: Fix provided by Ben Bryant for delegates with one param
// link: http://luaforge.net/forum/message.php?msg_id=9318
public void handleEvent (object[] args)
public void HandleEvent (object[] args)
{
handler.Call (args);
}
......
......@@ -66,12 +66,12 @@ namespace NLua.Method
*/
public LuaMethodWrapper (ObjectTranslator translator, object target, IReflect targetType, MethodBase method)
{
invokeFunction = new LuaCore.LuaNativeFunction (this.call);
invokeFunction = new LuaCore.LuaNativeFunction (this.Call);
_Translator = translator;
_Target = target;
if (!targetType.IsNull ())
_ExtractTarget = translator.typeChecker.getExtractor (targetType);
_ExtractTarget = translator.typeChecker.GetExtractor (targetType);
_Method = method;
_MethodName = method.Name;
......@@ -87,13 +87,13 @@ namespace NLua.Method
*/
public LuaMethodWrapper (ObjectTranslator translator, IReflect targetType, string methodName, BindingFlags bindingType)
{
invokeFunction = new LuaCore.LuaNativeFunction (this.call);
invokeFunction = new LuaCore.LuaNativeFunction (this.Call);
_Translator = translator;
_MethodName = methodName;
if (!targetType.IsNull ())
_ExtractTarget = translator.typeChecker.getExtractor (targetType);
_ExtractTarget = translator.typeChecker.GetExtractor (targetType);
_BindingType = bindingType;
//CP: Removed NonPublic binding search and added IgnoreCase
......@@ -114,14 +114,14 @@ namespace NLua.Method
* Calls the method. Receives the arguments from the Lua stack
* and returns values in it.
*/
int call (LuaState luaState)
int Call (LuaState luaState)
{
var methodToCall = _Method;
object targetObject = _Target;
bool failedCall = true;
int nReturnValues = 0;
if (!LuaLib.lua_checkstack (luaState, 5))
if (!LuaLib.LuaCheckStack (luaState, 5))
throw new LuaException ("Lua stack overflow");
bool isStatic = (_BindingType & BindingFlags.Static) == BindingFlags.Static;
......@@ -136,11 +136,11 @@ namespace NLua.Method
//LuaLib.lua_remove(luaState,1); // Pops the receiver
if (!_LastCalledMethod.cachedMethod.IsNull ()) { // Cached?
int numStackToSkip = isStatic ? 0 : 1; // If this is an instance invoe we will have an extra arg on the stack for the targetObject
int numArgsPassed = LuaLib.lua_gettop (luaState) - numStackToSkip;
int numArgsPassed = LuaLib.LuaGetTop (luaState) - numStackToSkip;
MethodBase method = _LastCalledMethod.cachedMethod;
if (numArgsPassed == _LastCalledMethod.argTypes.Length) { // No. of args match?
if (!LuaLib.lua_checkstack (luaState, _LastCalledMethod.outList.Length + 6))
if (!LuaLib.LuaCheckStack (luaState, _LastCalledMethod.outList.Length + 6))
throw new LuaException ("Lua stack overflow");
object [] args = _LastCalledMethod.args;
......@@ -152,24 +152,24 @@ namespace NLua.Method
object luaParamValue = type.extractValue (luaState, i + 1 + numStackToSkip);
if (_LastCalledMethod.argTypes [i].isParamsArray) {
Array paramArray = _Translator.tableToArray (luaParamValue, type.paramsArrayType);
Array paramArray = _Translator.TableToArray (luaParamValue, type.paramsArrayType);
args [_LastCalledMethod.argTypes [i].index] = paramArray;
} else {
args [type.index] = luaParamValue;
}
if (_LastCalledMethod.args [_LastCalledMethod.argTypes [i].index] == null &&
!LuaLib.lua_isnil (luaState, i + 1 + numStackToSkip))
!LuaLib.LuaIsNil (luaState, i + 1 + numStackToSkip))
throw new LuaException ("argument number " + (i + 1) + " is invalid");
}
if ((_BindingType & BindingFlags.Static) == BindingFlags.Static)
_Translator.push (luaState, method.Invoke (null, _LastCalledMethod.args));
_Translator.Push (luaState, method.Invoke (null, _LastCalledMethod.args));
else {
if (method.IsConstructor)
_Translator.push (luaState, ((ConstructorInfo)method).Invoke (_LastCalledMethod.args));
_Translator.Push (luaState, ((ConstructorInfo)method).Invoke (_LastCalledMethod.args));
else
_Translator.push (luaState, method.Invoke (targetObject, _LastCalledMethod.args));
_Translator.Push (luaState, method.Invoke (targetObject, _LastCalledMethod.args));
}
failedCall = false;
......@@ -190,12 +190,12 @@ namespace NLua.Method
// If we are running an instance variable, we can now pop the targetObject from the stack
if (!isStatic) {
if (targetObject.IsNull ()) {
_Translator.throwError (luaState, String.Format ("instance method '{0}' requires a non null target object", _MethodName));
LuaLib.lua_pushnil (luaState);
_Translator.ThrowError (luaState, String.Format ("instance method '{0}' requires a non null target object", _MethodName));
LuaLib.LuaPushNil (luaState);
return 1;
}
LuaLib.lua_remove (luaState, 1); // Pops the receiver
LuaLib.LuaRemove (luaState, 1); // Pops the receiver
}
bool hasMatch = false;
......@@ -204,7 +204,7 @@ namespace NLua.Method
foreach (var member in _Members) {
candidateName = member.ReflectedType.Name + "." + member.Name;
var m = (MethodInfo)member;
bool isMethod = _Translator.matchParameters (luaState, m, ref _LastCalledMethod);
bool isMethod = _Translator.MatchParameters (luaState, m, ref _LastCalledMethod);
if (isMethod) {
hasMatch = true;
......@@ -214,15 +214,15 @@ namespace NLua.Method
if (!hasMatch) {
string msg = (candidateName == null) ? "invalid arguments to method call" : ("invalid arguments to method: " + candidateName);
_Translator.throwError (luaState, msg);
LuaLib.lua_pushnil (luaState);
_Translator.ThrowError (luaState, msg);
LuaLib.LuaPushNil (luaState);
return 1;
}
}
} else { // Method from MethodBase instance
if (methodToCall.ContainsGenericParameters) {
_Translator.matchParameters (luaState, methodToCall, ref _LastCalledMethod);
_Translator.MatchParameters (luaState, methodToCall, ref _LastCalledMethod);
if (methodToCall.IsGenericMethodDefinition) {
//need to make a concrete type of the generic method definition
......@@ -232,39 +232,39 @@ namespace NLua.Method
typeArgs.Add (arg.GetType ());
var concreteMethod = (methodToCall as MethodInfo).MakeGenericMethod (typeArgs.ToArray ());
_Translator.push (luaState, concreteMethod.Invoke (targetObject, _LastCalledMethod.args));
_Translator.Push (luaState, concreteMethod.Invoke (targetObject, _LastCalledMethod.args));
failedCall = false;
} else if (methodToCall.ContainsGenericParameters) {
_Translator.throwError (luaState, "unable to invoke method on generic class as the current method is an open generic method");
LuaLib.lua_pushnil (luaState);
_Translator.ThrowError (luaState, "unable to invoke method on generic class as the current method is an open generic method");
LuaLib.LuaPushNil (luaState);
return 1;
}
} else {
if (!methodToCall.IsStatic && !methodToCall.IsConstructor && targetObject == null) {
targetObject = _ExtractTarget (luaState, 1);
LuaLib.lua_remove (luaState, 1); // Pops the receiver
LuaLib.LuaRemove (luaState, 1); // Pops the receiver
}
if (!_Translator.matchParameters (luaState, methodToCall, ref _LastCalledMethod)) {
_Translator.throwError (luaState, "invalid arguments to method call");
LuaLib.lua_pushnil (luaState);
if (!_Translator.MatchParameters (luaState, methodToCall, ref _LastCalledMethod)) {
_Translator.ThrowError (luaState, "invalid arguments to method call");
LuaLib.LuaPushNil (luaState);
return 1;
}
}
}
if (failedCall) {
if (!LuaLib.lua_checkstack (luaState, _LastCalledMethod.outList.Length + 6))
if (!LuaLib.LuaCheckStack (luaState, _LastCalledMethod.outList.Length + 6))
throw new LuaException ("Lua stack overflow");
try {
if (isStatic)
_Translator.push (luaState, _LastCalledMethod.cachedMethod.Invoke (null, _LastCalledMethod.args));
_Translator.Push (luaState, _LastCalledMethod.cachedMethod.Invoke (null, _LastCalledMethod.args));
else {
if (_LastCalledMethod.cachedMethod.IsConstructor)
_Translator.push (luaState, ((ConstructorInfo)_LastCalledMethod.cachedMethod).Invoke (_LastCalledMethod.args));
_Translator.Push (luaState, ((ConstructorInfo)_LastCalledMethod.cachedMethod).Invoke (_LastCalledMethod.args));
else
_Translator.push (luaState, _LastCalledMethod.cachedMethod.Invoke (targetObject, _LastCalledMethod.args));
_Translator.Push (luaState, _LastCalledMethod.cachedMethod.Invoke (targetObject, _LastCalledMethod.args));
}
} catch (TargetInvocationException e) {
return SetPendingException (e.GetBaseException ());
......@@ -276,7 +276,7 @@ namespace NLua.Method
// Pushes out and ref return values
for (int index = 0; index < _LastCalledMethod.outList.Length; index++) {
nReturnValues++;
_Translator.push (luaState, _LastCalledMethod.args [_LastCalledMethod.outList [index]]);
_Translator.Push (luaState, _LastCalledMethod.args [_LastCalledMethod.outList [index]]);
}
//by isSingle 2010-09-10 11:26:31
......
......@@ -59,13 +59,6 @@ namespace NLua.Method
pendingEvents.Add (handlerDelegate, this);
return handlerDelegate;
//MethodInfo mi = eventInfo.EventHandlerType.GetMethod("Invoke");
//ParameterInfo[] pi = mi.GetParameters();
//LuaEventHandler handler=CodeGeneration.Instance.GetEvent(pi[1].ParameterType,function);
//Delegate handlerDelegate=Delegate.CreateDelegate(eventInfo.EventHandlerType,handler,"HandleEvent");
//eventInfo.AddEventHandler(target,handlerDelegate);
//pendingEvents.Add(handlerDelegate, this);
//return handlerDelegate;
}
/*
......
This diff is collapsed.
......@@ -285,7 +285,7 @@ namespace NLuaTest
object [] args = new object [] {sender, eventArgs };
object [] inArgs = new object [] { sender, eventArgs };
int [] outArgs = new int [] { };
base.callFunction (args, inArgs, outArgs);
base.CallFunction (args, inArgs, outArgs);
}
}
......@@ -1436,8 +1436,8 @@ namespace NLuaTest
};
int [] outArgs = new int [] { };
Type [] returnTypes = __luaInterface_returnTypes [0];
LuaFunction function = NLua.Method.LuaClassHelper.getTableFunction (__luaInterface_luaTable, "overridableMethod");
object ret = NLua.Method.LuaClassHelper.callFunction (function, args, returnTypes, inArgs, outArgs);
LuaFunction function = NLua.Method.LuaClassHelper.GetTableFunction (__luaInterface_luaTable, "overridableMethod");
object ret = NLua.Method.LuaClassHelper.CallFunction (function, args, returnTypes, inArgs, outArgs);
return (int)ret;
}
}
......@@ -1464,8 +1464,8 @@ namespace NLuaTest
object [] inArgs = new object [] { __luaInterface_luaTable };
int [] outArgs = new int [] { };
Type [] returnTypes = __luaInterface_returnTypes [0];
LuaFunction function = NLua.Method.LuaClassHelper.getTableFunction (__luaInterface_luaTable, "get_intProp");
object ret = NLua.Method.LuaClassHelper.callFunction (function, args, returnTypes, inArgs, outArgs);
LuaFunction function = NLua.Method.LuaClassHelper.GetTableFunction (__luaInterface_luaTable, "get_intProp");
object ret = NLua.Method.LuaClassHelper.CallFunction (function, args, returnTypes, inArgs, outArgs);
return (int)ret;
}
set {
......@@ -1480,8 +1480,8 @@ namespace NLuaTest
};
int [] outArgs = new int [] { };
Type [] returnTypes = __luaInterface_returnTypes [1];
LuaFunction function = NLua.Method.LuaClassHelper.getTableFunction (__luaInterface_luaTable, "set_intProp");
NLua.Method.LuaClassHelper.callFunction (function, args, returnTypes, inArgs, outArgs);
LuaFunction function = NLua.Method.LuaClassHelper.GetTableFunction (__luaInterface_luaTable, "set_intProp");
NLua.Method.LuaClassHelper.CallFunction (function, args, returnTypes, inArgs, outArgs);
}
}
......@@ -1491,8 +1491,8 @@ namespace NLuaTest
object [] inArgs = new object [] { __luaInterface_luaTable };
int [] outArgs = new int [] { };
Type [] returnTypes = __luaInterface_returnTypes [2];
LuaFunction function = NLua.Method.LuaClassHelper.getTableFunction (__luaInterface_luaTable, "get_refProp");
object ret = NLua.Method.LuaClassHelper.callFunction (function, args, returnTypes, inArgs, outArgs);
LuaFunction function = NLua.Method.LuaClassHelper.GetTableFunction (__luaInterface_luaTable, "get_refProp");
object ret = NLua.Method.LuaClassHelper.CallFunction (function, args, returnTypes, inArgs, outArgs);
return (TestClass)ret;
}
set {
......@@ -1507,8 +1507,8 @@ namespace NLuaTest
};
int [] outArgs = new int [] { };
Type [] returnTypes = __luaInterface_returnTypes [3];
LuaFunction function = NLua.Method.LuaClassHelper.getTableFunction (__luaInterface_luaTable, "set_refProp");
NLua.Method.LuaClassHelper.callFunction (function, args, returnTypes, inArgs, outArgs);
LuaFunction function = NLua.Method.LuaClassHelper.GetTableFunction (__luaInterface_luaTable, "set_refProp");
NLua.Method.LuaClassHelper.CallFunction (function, args, returnTypes, inArgs, outArgs);
}
}
......@@ -1526,8 +1526,8 @@ namespace NLuaTest
};
int [] outArgs = new int [] { };
Type [] returnTypes = __luaInterface_returnTypes [4];
LuaFunction function = NLua.Method.LuaClassHelper.getTableFunction (__luaInterface_luaTable, "test1");
object ret = NLua.Method.LuaClassHelper.callFunction (function, args, returnTypes, inArgs, outArgs);
LuaFunction function = NLua.Method.LuaClassHelper.GetTableFunction (__luaInterface_luaTable, "test1");
object ret = NLua.Method.LuaClassHelper.CallFunction (function, args, returnTypes, inArgs, outArgs);
return (int)ret;
}
......@@ -1544,8 +1544,8 @@ namespace NLuaTest
};
int [] outArgs = new int [] { 1 };
Type [] returnTypes = __luaInterface_returnTypes [5];
LuaFunction function = NLua.Method.LuaClassHelper.getTableFunction (__luaInterface_luaTable, "test2");
object ret = NLua.Method.LuaClassHelper.callFunction (function, args, returnTypes, inArgs, outArgs);
LuaFunction function = NLua.Method.LuaClassHelper.GetTableFunction (__luaInterface_luaTable, "test2");
object ret = NLua.Method.LuaClassHelper.CallFunction (function, args, returnTypes, inArgs, outArgs);
b = (int)args [1];
return (int)ret;
}
......@@ -1564,8 +1564,8 @@ namespace NLuaTest
};
int [] outArgs = new int [] { 1 };
Type [] returnTypes = __luaInterface_returnTypes [6];
LuaFunction function = NLua.Method.LuaClassHelper.getTableFunction (__luaInterface_luaTable, "test3");
NLua.Method.LuaClassHelper.callFunction (function, args, returnTypes, inArgs, outArgs);
LuaFunction function = NLua.Method.LuaClassHelper.GetTableFunction (__luaInterface_luaTable, "test3");
NLua.Method.LuaClassHelper.CallFunction (function, args, returnTypes, inArgs, outArgs);
b = (int)args [1];
}
......@@ -1583,8 +1583,8 @@ namespace NLuaTest
};
int [] outArgs = new int [] { };
Type [] returnTypes = __luaInterface_returnTypes [7];
LuaFunction function = NLua.Method.LuaClassHelper.getTableFunction (__luaInterface_luaTable, "test4");
object ret = NLua.Method.LuaClassHelper.callFunction (function, args, returnTypes, inArgs, outArgs);
LuaFunction function = NLua.Method.LuaClassHelper.GetTableFunction (__luaInterface_luaTable, "test4");
object ret = NLua.Method.LuaClassHelper.CallFunction (function, args, returnTypes, inArgs, outArgs);
return (TestClass)ret;
}
......@@ -1602,8 +1602,8 @@ namespace NLuaTest
};
int [] outArgs = new int [] { };
Type [] returnTypes = __luaInterface_returnTypes [8];
LuaFunction function = NLua.Method.LuaClassHelper.getTableFunction (__luaInterface_luaTable, "test5");
object ret = NLua.Method.LuaClassHelper.callFunction (function, args, returnTypes, inArgs, outArgs);
LuaFunction function = NLua.Method.LuaClassHelper.GetTableFunction (__luaInterface_luaTable, "test5");
object ret = NLua.Method.LuaClassHelper.CallFunction (function, args, returnTypes, inArgs, outArgs);
return (int)ret;
}
......@@ -1620,8 +1620,8 @@ namespace NLuaTest
};
int [] outArgs = new int [] { 1};
Type [] returnTypes = __luaInterface_returnTypes [9];
LuaFunction function = NLua.Method.LuaClassHelper.getTableFunction (__luaInterface_luaTable, "test6");
object ret = NLua.Method.LuaClassHelper.callFunction (function, args, returnTypes, inArgs, outArgs);
LuaFunction function = NLua.Method.LuaClassHelper.GetTableFunction (__luaInterface_luaTable, "test6");
object ret = NLua.Method.LuaClassHelper.CallFunction (function, args, returnTypes, inArgs, outArgs);
b = (TestClass)args [1];
return (int)ret;
......@@ -1641,8 +1641,8 @@ namespace NLuaTest
};
int [] outArgs = new int [] { 1 };
Type [] returnTypes = __luaInterface_returnTypes [10];
LuaFunction function = NLua.Method.LuaClassHelper.getTableFunction (__luaInterface_luaTable, "test7");
NLua.Method.LuaClassHelper.callFunction (function, args, returnTypes, inArgs, outArgs);
LuaFunction function = NLua.Method.LuaClassHelper.GetTableFunction (__luaInterface_luaTable, "test7");
NLua.Method.LuaClassHelper.CallFunction (function, args, returnTypes, inArgs, outArgs);
b = (TestClass)args [1];
}
}
......
......@@ -35,7 +35,7 @@ namespace NLuaTest.Mock
object [] inArgs = new object [] { a, b };
int [] outArgs = new int [] { };
object ret = base.callFunction (args, inArgs, outArgs);
object ret = base.CallFunction (args, inArgs, outArgs);
return (int)ret;
}
......@@ -49,7 +49,7 @@ namespace NLuaTest.Mock
object [] inArgs = new object [] { a };
int [] outArgs = new int [] { 1 };
object ret = base.callFunction (args, inArgs, outArgs);
object ret = base.CallFunction (args, inArgs, outArgs);
b = (int)args [1];
return (int)ret;
......@@ -64,7 +64,7 @@ namespace NLuaTest.Mock
object [] inArgs = new object [] { a, b };
int [] outArgs = new int [] { 1 };
base.callFunction (args, inArgs, outArgs);
base.CallFunction (args, inArgs, outArgs);
b = (int)args [1];
}
......@@ -78,7 +78,7 @@ namespace NLuaTest.Mock
object [] inArgs = new object [] { a, b };
int [] outArgs = new int [] { };
object ret = base.callFunction (args, inArgs, outArgs);
object ret = base.CallFunction (args, inArgs, outArgs);
return (TestClass)ret;
}
......@@ -92,7 +92,7 @@ namespace NLuaTest.Mock
object [] inArgs = new object [] { a, b };
int [] outArgs = new int [] { };
object ret = base.callFunction (args, inArgs, outArgs);
object ret = base.CallFunction (args, inArgs, outArgs);
return (int)ret;
}
......@@ -106,7 +106,7 @@ namespace NLuaTest.Mock
object [] inArgs = new object [] { a };
int [] outArgs = new int [] { 1 };
object ret = base.callFunction (args, inArgs, outArgs);
object ret = base.CallFunction (args, inArgs, outArgs);
b = (TestClass)args [1];
return (int)ret;
......@@ -121,7 +121,7 @@ namespace NLuaTest.Mock
object [] inArgs = new object [] { a , b};
int [] outArgs = new int [] { 1 };
base.callFunction (args, inArgs, outArgs);
base.CallFunction (args, inArgs, outArgs);
b = (TestClass)args [1];
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment