summaryrefslogtreecommitdiff
path: root/src/StardewModdingAPI.AssemblyRewriters/Framework/BaseFieldFinder.cs
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2017-03-25 15:17:26 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2017-03-25 15:17:26 -0400
commit7b641d816466fe7d9229374c175f59ee32b8dc5c (patch)
tree6ed0c1036071b1eba0ca181a2c9257fbfeeedde8 /src/StardewModdingAPI.AssemblyRewriters/Framework/BaseFieldFinder.cs
parent267e2469da290cbdb93bd58cea0272de403bbdab (diff)
downloadSMAPI-7b641d816466fe7d9229374c175f59ee32b8dc5c.tar.gz
SMAPI-7b641d816466fe7d9229374c175f59ee32b8dc5c.tar.bz2
SMAPI-7b641d816466fe7d9229374c175f59ee32b8dc5c.zip
simplify CIL rewriter hierarchy
Diffstat (limited to 'src/StardewModdingAPI.AssemblyRewriters/Framework/BaseFieldFinder.cs')
-rw-r--r--src/StardewModdingAPI.AssemblyRewriters/Framework/BaseFieldFinder.cs46
1 files changed, 0 insertions, 46 deletions
diff --git a/src/StardewModdingAPI.AssemblyRewriters/Framework/BaseFieldFinder.cs b/src/StardewModdingAPI.AssemblyRewriters/Framework/BaseFieldFinder.cs
deleted file mode 100644
index ac2facec..00000000
--- a/src/StardewModdingAPI.AssemblyRewriters/Framework/BaseFieldFinder.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-using Mono.Cecil;
-using Mono.Cecil.Cil;
-
-namespace StardewModdingAPI.AssemblyRewriters.Framework
-{
- /// <summary>Base class for a field finder.</summary>
- public abstract class BaseFieldFinder : IInstructionFinder
- {
- /*********
- ** Accessors
- *********/
- /// <summary>A brief noun phrase indicating what the instruction finder matches.</summary>
- public abstract string NounPhrase { get; }
-
-
- /*********
- ** Public methods
- *********/
- /// <summary>Get whether a CIL instruction matches.</summary>
- /// <param name="instruction">The IL instruction.</param>
- /// <param name="platformChanged">Whether the mod was compiled on a different platform.</param>
- public bool IsMatch(Instruction instruction, bool platformChanged)
- {
- if (instruction.OpCode != OpCodes.Ldfld && instruction.OpCode != OpCodes.Ldsfld && instruction.OpCode != OpCodes.Stfld && instruction.OpCode != OpCodes.Stsfld)
- return false; // not a field reference
- return this.IsMatch(instruction, (FieldReference)instruction.Operand, platformChanged);
- }
-
-
- /*********
- ** Protected methods
- *********/
- /// <summary>Get whether a field reference should be rewritten.</summary>
- /// <param name="instruction">The IL instruction.</param>
- /// <param name="fieldRef">The field reference.</param>
- /// <param name="platformChanged">Whether the mod was compiled on a different platform.</param>
- protected abstract bool IsMatch(Instruction instruction, FieldReference fieldRef, bool platformChanged);
-
- /// <summary>Whether an instruction is a static field reference.</summary>
- /// <param name="instruction">The IL instruction.</param>
- protected bool IsStaticField(Instruction instruction)
- {
- return instruction.OpCode == OpCodes.Ldsfld || instruction.OpCode == OpCodes.Stsfld;
- }
- }
-}