Commit b02a275d authored by Vinicius Jarina's avatar Vinicius Jarina
Browse files

[WinRT] Fixed Windows Phone 8 build.

parent 85c908ea
...@@ -142,9 +142,9 @@ namespace NLua.Extensions ...@@ -142,9 +142,9 @@ namespace NLua.Extensions
return t.HasMethod ("op_LessThanOrEqual"); return t.HasMethod ("op_LessThanOrEqual");
} }
public static IEnumerable<MethodInfo> GetMethods (this Type t, string name, BindingFlags flags) public static MethodInfo [] GetMethods (this Type t, string name, BindingFlags flags)
{ {
return t.GetMethods (flags).Where (m => m.Name == name); return t.GetMethods (flags).Where (m => m.Name == name).ToArray ();
} }
public static MethodInfo [] GetExtensionMethods (this Type type, IEnumerable<Assembly> assemblies = null) public static MethodInfo [] GetExtensionMethods (this Type type, IEnumerable<Assembly> assemblies = null)
...@@ -376,6 +376,11 @@ namespace NLua.Extensions ...@@ -376,6 +376,11 @@ namespace NLua.Extensions
return t.GetTypeInfo ().IsAssignableFrom (t2.GetTypeInfo ()); return t.GetTypeInfo ().IsAssignableFrom (t2.GetTypeInfo ());
} }
public static MemberInfo [] GetMember (this Type t, string name, BindingFlags flags)
{
return null;
}
public static MethodInfo[] GetMethods (this Type t) public static MethodInfo[] GetMethods (this Type t)
{ {
return null; return null;
......
...@@ -594,7 +594,11 @@ namespace NLua ...@@ -594,7 +594,11 @@ namespace NLua
} }
if (member != null) { if (member != null) {
#if NETFX_CORE
if (member is FieldInfo) {
#else
if (member.MemberType == MemberTypes.Field) { if (member.MemberType == MemberTypes.Field) {
#endif
var field = (FieldInfo)member; var field = (FieldInfo)member;
if (cachedMember == null) if (cachedMember == null)
...@@ -605,7 +609,11 @@ namespace NLua ...@@ -605,7 +609,11 @@ namespace NLua
} catch { } catch {
LuaLib.LuaPushNil (luaState); LuaLib.LuaPushNil (luaState);
} }
#if NETFX_CORE
} else if (member is PropertyInfo) {
#else
} else if (member.MemberType == MemberTypes.Property) { } else if (member.MemberType == MemberTypes.Property) {
#endif
var property = (PropertyInfo)member; var property = (PropertyInfo)member;
if (cachedMember == null) if (cachedMember == null)
SetMemberCache (memberCache, objType, methodName, member); SetMemberCache (memberCache, objType, methodName, member);
...@@ -628,14 +636,24 @@ namespace NLua ...@@ -628,14 +636,24 @@ namespace NLua
ThrowError (luaState, e); ThrowError (luaState, e);
LuaLib.LuaPushNil (luaState); LuaLib.LuaPushNil (luaState);
} }
#if NETFX_CORE
} else if (member is EventInfo) {
#else
} else if (member.MemberType == MemberTypes.Event) { } else if (member.MemberType == MemberTypes.Event) {
#endif
var eventInfo = (EventInfo)member; var eventInfo = (EventInfo)member;
if (cachedMember == null) if (cachedMember == null)
SetMemberCache (memberCache, objType, methodName, member); SetMemberCache (memberCache, objType, methodName, member);
translator.Push (luaState, new RegisterEventHandler (translator.pendingEvents, obj, eventInfo)); translator.Push (luaState, new RegisterEventHandler (translator.pendingEvents, obj, eventInfo));
} else if (!implicitStatic) { } else if (!implicitStatic) {
#if NETFX_CORE
var typeInfo = member as TypeInfo;
if (!typeInfo.IsPublic && !typeInfo.IsNotPublic) {
#else
if (member.MemberType == MemberTypes.NestedType) { if (member.MemberType == MemberTypes.NestedType) {
#endif
// kevinh - added support for finding nested types // kevinh - added support for finding nested types
// cache us // cache us
if (cachedMember == null) if (cachedMember == null)
...@@ -842,8 +860,12 @@ namespace NLua ...@@ -842,8 +860,12 @@ namespace NLua
return false; return false;
} }
} }
#if NETFX_CORE
if (member is FieldInfo) {
#else
if (member.MemberType == MemberTypes.Field) { if (member.MemberType == MemberTypes.Field) {
#endif
var field = (FieldInfo)member; var field = (FieldInfo)member;
object val = translator.GetAsType (luaState, 3, field.FieldType); object val = translator.GetAsType (luaState, 3, field.FieldType);
...@@ -855,7 +877,11 @@ namespace NLua ...@@ -855,7 +877,11 @@ namespace NLua
// We did a call // We did a call
return true; return true;
#if NETFX_CORE
} else if (member is PropertyInfo) {
#else
} else if (member.MemberType == MemberTypes.Property) { } else if (member.MemberType == MemberTypes.Property) {
#endif
var property = (PropertyInfo)member; var property = (PropertyInfo)member;
object val = translator.GetAsType (luaState, 3, property.PropertyType); object val = translator.GetAsType (luaState, 3, property.PropertyType);
......
...@@ -94,7 +94,7 @@ namespace NLua.Method ...@@ -94,7 +94,7 @@ namespace NLua.Method
_ExtractTarget = translator.typeChecker.GetExtractor (targetType); _ExtractTarget = translator.typeChecker.GetExtractor (targetType);
_IsStatic = (bindingType & BindingFlags.Static) == BindingFlags.Static; _IsStatic = (bindingType & BindingFlags.Static) == BindingFlags.Static;
_Members = targetType.UnderlyingSystemType.GetMember (methodName, MemberTypes.Method, bindingType | BindingFlags.Public); _Members = targetType.UnderlyingSystemType.GetMethods (methodName, bindingType | BindingFlags.Public);
} }
/// <summary> /// <summary>
......
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