From abcb548706cda06a2a3d278fe8cc158d9b81a562 Mon Sep 17 00:00:00 2001
From: sinaioutlander <49360850+sinaioutlander@users.noreply.github.com>
Date: Sun, 30 Aug 2020 17:32:25 +1000
Subject: [PATCH] 1.4.5 finalize
Will be pushed when MelonLoader releases 0.2.7.
---
src/CachedObjects/CacheList.cs | 2 +-
src/CachedObjects/CacheMethod.cs | 4 ++--
src/CachedObjects/CacheObjectBase.cs | 13 +------------
src/Windows/ReflectionWindow.cs | 2 +-
4 files changed, 5 insertions(+), 16 deletions(-)
diff --git a/src/CachedObjects/CacheList.cs b/src/CachedObjects/CacheList.cs
index 7bdd720..70d0bd7 100644
--- a/src/CachedObjects/CacheList.cs
+++ b/src/CachedObjects/CacheList.cs
@@ -24,7 +24,7 @@ namespace Explorer
{
if (this.MemberInfo != null)
{
- switch (this.MemberInfoType)
+ switch (this.MemberInfo.MemberType)
{
case MemberTypes.Field:
m_entryType = (MemberInfo as FieldInfo).FieldType.GetGenericArguments()[0];
diff --git a/src/CachedObjects/CacheMethod.cs b/src/CachedObjects/CacheMethod.cs
index 6cb9b6a..eba96c8 100644
--- a/src/CachedObjects/CacheMethod.cs
+++ b/src/CachedObjects/CacheMethod.cs
@@ -152,8 +152,6 @@ namespace Explorer
private void Evaluate()
{
- m_evaluated = true;
-
var mi = MemberInfo as MethodInfo;
object ret = null;
@@ -161,6 +159,7 @@ namespace Explorer
if (!HasParameters)
{
ret = mi.Invoke(mi.IsStatic ? null : DeclaringInstance, new object[0]);
+ m_evaluated = true;
}
else
{
@@ -199,6 +198,7 @@ namespace Explorer
if (arguments.Count == m_arguments.Length)
{
ret = mi.Invoke(mi.IsStatic ? null : DeclaringInstance, arguments.ToArray());
+ m_evaluated = true;
}
else
{
diff --git a/src/CachedObjects/CacheObjectBase.cs b/src/CachedObjects/CacheObjectBase.cs
index 2bdd936..f06da43 100644
--- a/src/CachedObjects/CacheObjectBase.cs
+++ b/src/CachedObjects/CacheObjectBase.cs
@@ -41,17 +41,6 @@ namespace Explorer
}
}
- public MemberTypes MemberInfoType
- {
- get
- {
- if (MemberInfo is FieldInfo) return MemberTypes.Field;
- if (MemberInfo is PropertyInfo) return MemberTypes.Property;
- if (MemberInfo is MethodInfo) return MemberTypes.Method;
- return MemberTypes.All;
- }
- }
-
// methods
public virtual void Init() { }
public abstract void DrawValue(Rect window, float width);
@@ -202,7 +191,7 @@ namespace Explorer
{
GUILayout.Label("Reflection failed! (" + ReflectionException + ")", null);
}
- else if (Value == null && MemberInfoType != MemberTypes.Method)
+ else if (Value == null && MemberInfo?.MemberType != MemberTypes.Method)
{
GUILayout.Label("null (" + ValueType + ")", null);
}
diff --git a/src/Windows/ReflectionWindow.cs b/src/Windows/ReflectionWindow.cs
index 5cca87c..db17d0d 100644
--- a/src/Windows/ReflectionWindow.cs
+++ b/src/Windows/ReflectionWindow.cs
@@ -90,7 +90,7 @@ namespace Explorer
private bool ShouldProcessMember(CacheObjectBase holder)
{
- if (m_filter != MemberTypes.All && m_filter != holder.MemberInfoType) return false;
+ if (m_filter != MemberTypes.All && m_filter != holder.MemberInfo?.MemberType) return false;
if (!string.IsNullOrEmpty(holder.ReflectionException) && m_hideFailedReflection) return false;