/src/LinFu.AOP/Interfaces/IEmitInvocationInfo.cs

http://github.com/philiplaureano/LinFu · C# · 27 lines · 10 code · 1 blank · 16 comment · 0 complexity · 5a47cc7dc2a1d65a9bc6a4a0e93de6a4 MD5 · raw file

  1. using LinFu.AOP.Interfaces;
  2. using Mono.Cecil;
  3. using Mono.Cecil.Cil;
  4. namespace LinFu.AOP.Cecil.Interfaces
  5. {
  6. /// <summary>
  7. /// Represents a class that emits
  8. /// the IL to save information about
  9. /// the method currently being executed.
  10. /// </summary>
  11. public interface IEmitInvocationInfo
  12. {
  13. /// <summary>
  14. /// Emits the IL to save information about
  15. /// the method currently being executed.
  16. /// </summary>
  17. /// <seealso cref="IInvocationInfo" />
  18. /// <param name="targetMethod">The target method currently being executed.</param>
  19. /// <param name="currentMethod">
  20. /// The method that will be passed to the <paramref name="invocationInfo" /> as the currently
  21. /// executing method.
  22. /// </param>
  23. /// <param name="invocationInfo">The local variable that will store the resulting <see cref="IInvocationInfo" /> instance.</param>
  24. void Emit(MethodDefinition targetMethod, MethodReference currentMethod, VariableDefinition invocationInfo);
  25. }
  26. }