CodeArgument.cs 640 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // created on 28/08/2004 at 17:07
  2. #if !FULL_AOT_RUNTIME
  3. using System;
  4. using System.Reflection;
  5. using System.Reflection.Emit;
  6. namespace Mono.CodeGeneration
  7. {
  8. public class CodeArgument: CodeExpression
  9. {
  10. int argument;
  11. public CodeArgument (int arg, Type type)
  12. {
  13. argument = arg;
  14. }
  15. public int Argument
  16. {
  17. get { return argument; }
  18. }
  19. public override void Generate (ILGenerator gen)
  20. {
  21. gen.Emit (OpCodes.Ldloc, var.LocalBuilder);
  22. }
  23. public override void PrintCode (CodeWriter cp)
  24. {
  25. cp.Write ("arg" + argument);
  26. }
  27. public override Type GetResultType ()
  28. {
  29. return var.Type;
  30. }
  31. }
  32. }
  33. #endif