in instrumentation/src/com/intellij/rt/coverage/instrumentation/InstrumentationUtils.java [94:106]
public static void push(MethodVisitor mv, Object o) {
if (o == null) {
mv.visitInsn(Opcodes.ACONST_NULL);
} else if (o instanceof Integer) {
pushInt(mv, (Integer) o);
} else if (o instanceof Boolean) {
pushInt(mv, ((Boolean) o) ? 1 : 0);
} else if (o instanceof Double || o instanceof Float || o instanceof Long || o instanceof String) {
mv.visitLdcInsn(o);
} else {
throw new IllegalArgumentException("Cannot push element of type " + o.getClass());
}
}