Base class for all IL types
Inheritance: MetaDataElement
Exemple #1
0
		internal TypeInstr(int inst, Type aType, MetaData md) : base(inst) 
		{
			theType = aType.GetTypeSpec(md);
			size += 4;
		}
Exemple #2
0
		/// <summary>
		/// Add an instruction with a type parameter
		/// </summary>
		/// <param name="inst">the CIL instruction</param>
		/// <param name="t">the type argument for the CIL instruction</param>
		public void TypeInst(TypeOp inst, Type aType) 
		{
			AddToBuffer(new TypeInstr((int)inst,aType,metaData));
		}
Exemple #3
0
		/// <summary>
		/// Create a new local variable that is byref and/or pinned
		/// </summary>
		/// <param name="lName">local name</param>
		/// <param name="lType">local type</param>
		/// <param name="byRef">is byref</param>
		/// <param name="isPinned">has pinned attribute</param>
		public Local(string lName, Type lType, bool byRef, bool isPinned)
		{
			name = lName;
			type = lType;
			byref = byRef;
			pinned = isPinned;
		}
Exemple #4
0
		/// <summary>
		/// Create a new local variable 
		/// </summary>
		/// <param name="lName">name of the local variable</param>
		/// <param name="lType">type of the local variable</param>
		public Local(string lName, Type lType) 
		{
			name = lName;
			type = lType;
		}
Exemple #5
0
		/// <summary>
		/// Add the optional parameters to a vararg method
		/// This method sets the vararg calling convention
		/// </summary>
		/// <param name="optPars">the optional pars for the vararg call</param>
		public void AddVarArgs(Type[] optPars) 
		{
			optParams = optPars;
			if (optPars != null) numOptPars = (uint)optPars.Length;
			callConv |= CallConv.Vararg;
		}
Exemple #6
0
		/// <summary>
		/// Create a signature for a calli instruction
		/// </summary>
		/// <param name="cconv">calling conventions</param>
		/// <param name="retType">return type</param>
		/// <param name="pars">parameter types</param>
		public CalliSig(CallConv cconv, Type retType, Type[] pars) 
		{
			tabIx = MDTable.StandAloneSig;
			callConv = cconv;
			returnType = retType;
			parameters = pars;
			if (pars != null) numPars = (uint)pars.Length;
		}
Exemple #7
0
		public Catch(Type except, CILLabel handlerStart, CILLabel handlerEnd)
			: base(handlerStart,handlerEnd) 
		{
			exceptType = except;
		}