예제 #1
0
 /// <summary>
 /// Pops the array and index off the stack and pushes the element value onto the stack.
 /// </summary>
 /// <param name="type"> The element type. </param>
 public void LoadArrayElement(PrimitiveType type)
 {
     LoadArrayElement(PrimitiveTypeUtilities.ToType(type));
 }
예제 #2
0
 /// <summary>
 /// Pops the array, index and value off the stack and stores the value in the array.
 /// </summary>
 /// <param name="type"> The element type. </param>
 public void StoreArrayElement(PrimitiveType type)
 {
     StoreArrayElement(PrimitiveTypeUtilities.ToType(type));
 }
예제 #3
0
 /// <summary>
 /// Pops an object reference (representing a boxed value) from the stack, extracts the value,
 /// then pushes the value onto the stack.
 /// </summary>
 /// <param name="type"> The type of the boxed value.  This should be a value type. </param>
 public void UnboxAny(PrimitiveType type)
 {
     UnboxAny(PrimitiveTypeUtilities.ToType(type));
 }
예제 #4
0
 /// <summary>
 /// Pops a value from the stack, converts it to an object reference, then pushes it back onto
 /// the stack.
 /// </summary>
 /// <param name="type"> The type of value to box.  This should be a value type. </param>
 public void Box(PrimitiveType type)
 {
     Box(PrimitiveTypeUtilities.ToType(type));
 }
예제 #5
0
 /// <summary>
 /// Retrieves a temporary variable with the given type, reusing a previous variable if
 /// possible.
 /// </summary>
 /// <param name="type"> The type of variable to create. </param>
 /// <returns> A temporary variable  </returns>
 public ILLocalVariable CreateTemporaryVariable(PrimitiveType type)
 {
     return(CreateTemporaryVariable(PrimitiveTypeUtilities.ToType(type)));
 }
예제 #6
0
 /// <summary>
 /// Declares a new local variable.
 /// </summary>
 /// <param name="type"> The type of the local variable. </param>
 /// <param name="name"> The name of the local variable. Can be <c>null</c>. </param>
 /// <returns> A new local variable. </returns>
 public ILLocalVariable DeclareVariable(PrimitiveType type, string name = null)
 {
     return(DeclareVariable(PrimitiveTypeUtilities.ToType(type), name));
 }
예제 #7
0
 /// <summary>
 /// Emits a dummy value of the given type.
 /// </summary>
 /// <param name="generator"> The IL generator. </param>
 /// <param name="type"> The type of value to generate. </param>
 public static void EmitDefaultValue(ILGenerator generator, PrimitiveType type)
 {
     EmitDefaultValue(generator, PrimitiveTypeUtilities.ToType(type));
 }