summaryrefslogtreecommitdiff
path: root/mcs/class/System.ServiceModel/Mono.CodeGeneration/CodeArgument.cs
blob: e2eea5cfa38c289ee7a61fafd2d4824f8533449e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// created on 28/08/2004 at 17:07

#if !FULL_AOT_RUNTIME
using System;
using System.Reflection;
using System.Reflection.Emit;

namespace Mono.CodeGeneration
{
	public class CodeArgument: CodeExpression
	{
		int argument;
		
		public CodeArgument (int arg, Type type)
		{
			argument = arg;		
		}
		
		public int Argument
		{
			get { return argument; }
		}
		
		public override void Generate (ILGenerator gen)
		{
			gen.Emit (OpCodes.Ldloc, var.LocalBuilder);
		}
		
		public override void PrintCode (CodeWriter cp)
		{
			cp.Write ("arg" + argument);
		}
		
		public override Type GetResultType ()
		{
			return var.Type;
		}
	}
}
#endif