protected AbstractCrement(KernelProgramBlock block, KernelParam factor,
			Operator operator) {
		super(block, operator);
		IClass resultType = factor.getResultType();
		if(resultType != null &&
		   !getType(boolean.class).equals(resultType) &&
		   !getType(Boolean.class).equals(resultType) &&
		   (IClassUtils.isPrimitiveWrapAClass(resultType) || 
		   resultType.isPrimitive())) {
			this.factor = factor;
		} else {
			throw new ASMSupportException("Can't do '" + operator + "' on : " + factor);
		}
	}