Microsoft.JScript.ArrayLiteral.TranslateToILArray C# (CSharp) Method

TranslateToILArray() private method

private TranslateToILArray ( ILGenerator il, Type etype ) : void
il System.Reflection.Emit.ILGenerator
etype System.Type
return void
      private void TranslateToILArray(ILGenerator il, Type etype){
        int n = this.elements.count;
        ConstantWrapper.TranslateToILInt(il, n);
        TypeCode ecode = Type.GetTypeCode(etype);
        il.Emit(OpCodes.Newarr, etype);
        for (int i = 0; i < n; i++){
          il.Emit(OpCodes.Dup);
          ConstantWrapper.TranslateToILInt(il, i);
          if (etype.IsValueType && !etype.IsPrimitive)
            il.Emit(OpCodes.Ldelema, etype);
          this.elements[i].TranslateToIL(il, etype);
          Binding.TranslateToStelem(il, etype);
        }
      }