/*
  * Low-level emit helpers.
  */
 private void emitConst(object con)
 {
     if (con == null)
     {
         ilgen.Emit(OpCodes.Ldnull);
     }
     else if (con is string)
     {
         ilgen.Emit(OpCodes.Ldstr, (string)con);
     }
     else if (con is java.lang.Integer)
     {
         ilgen.EmitLdc_I4(((java.lang.Integer)con).intValue());
     }
     else if (con is java.lang.Long)
     {
         ilgen.EmitLdc_I8(((java.lang.Long)con).longValue());
     }
     else if (con is java.lang.Float)
     {
         ilgen.EmitLdc_R4(((java.lang.Float)con).floatValue());
     }
     else if (con is java.lang.Double)
     {
         ilgen.EmitLdc_R8(((java.lang.Double)con).doubleValue());
     }
     else if (con is java.lang.Boolean)
     {
         ilgen.EmitLdc_I4(((java.lang.Boolean)con).booleanValue() ? 1 : 0);
     }
     else
     {
         throw new BailoutException(Bailout.UnsupportedConstant, con);
     }
 }