public static MatchContext Match(MethodBase method, ILPattern pattern) { IList<Instruction> instructions = method.GetInstructions(); if (instructions.Count == 0) throw new ArgumentException(); var context = new MatchContext(instructions[0]); pattern.Match(context); return context; }
private static FieldInfo GetBackingField(MethodInfo method, ILPattern pattern) { MatchContext result = ILPattern.Match(method, pattern); if (!result.success) { throw new NotSupportedException(); } return(result.field); }
public static MatchContext Match(MethodBase method, ILPattern pattern) { IList <Instruction> instructions = method.GetInstructions(); if (instructions.Count == 0) { throw new ArgumentException(); } var context = new MatchContext(instructions[0]); pattern.Match(context); return(context); }