public override LLVMSharp.LLVMValueRef Emit(EmittingContext pContext)
        {
            pContext.EmitDebugLocation(this);

            switch (NumberType)
            {
            case NumberTypes.Integer:
                return(pContext.GetInt(int.Parse(Value)));

            case NumberTypes.Long:
                return(pContext.GetLong(long.Parse(Value)));

            case NumberTypes.Short:
                return(pContext.GetShort(short.Parse(Value)));

            case NumberTypes.Float:
                return(pContext.GetFloat(float.Parse(Value)));

            case NumberTypes.Double:
                return(pContext.GetDouble(double.Parse(Value)));

            default:
                throw new NotSupportedException();
            }
        }