public static void emitUnboxArg(ObjExpr objx, GeneratorAdapter gen, Class paramType){
		if(paramType.isPrimitive())
			{
			if(paramType == boolean.class)
				{
				gen.checkCast(BOOLEAN_TYPE);
				gen.invokeVirtual(BOOLEAN_TYPE, booleanValueMethod);
//				Label falseLabel = gen.newLabel();
//				Label endLabel = gen.newLabel();
//				gen.ifNull(falseLabel);
//				gen.push(1);
//				gen.goTo(endLabel);
//				gen.mark(falseLabel);
//				gen.push(0);
//				gen.mark(endLabel);
				}
			else if(paramType == char.class)
				{
				gen.checkCast(CHAR_TYPE);
				gen.invokeVirtual(CHAR_TYPE, charValueMethod);
				}
			else
				{
				Method m = null;
				gen.checkCast(NUMBER_TYPE);
				if(paramType == int.class)
					m = Method.getMethod("int intCast(Object)");
				else if(paramType == float.class)
					m = Method.getMethod("float floatCast(Object)");
				else if(paramType == double.class)
					m = Method.getMethod("double doubleCast(Object)");
				else if(paramType == long.class)
					m = Method.getMethod("long longCast(Object)");
				else if(paramType == byte.class)
					m = Method.getMethod("byte byteCast(Object)");
				else if(paramType == short.class)
					m = Method.getMethod("short shortCast(Object)");
				gen.invokeStatic(RT_TYPE, m);
				}
			}
		else
			{
			gen.checkCast(Type.getType(paramType));
			}
	}