mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-21 17:28:00 +02:00
Minor IDE changes
This commit is contained in:
parent
be3c968e2b
commit
2ea5d31c37
15 changed files with 373 additions and 87 deletions
|
@ -54,9 +54,9 @@ namespace System.IO
|
|||
|
||||
}
|
||||
|
||||
public static void GetFileName(String inPath, String outFileName)
|
||||
public static void GetFileName(StringView inPath, String outFileName)
|
||||
{
|
||||
if (inPath == null)
|
||||
if (inPath.IsEmpty)
|
||||
return;
|
||||
|
||||
CheckInvalidPathChars(inPath);
|
||||
|
@ -236,7 +236,7 @@ namespace System.IO
|
|||
outFileName.Append(inPath, lastSlash + 1);
|
||||
}
|
||||
|
||||
public static Result<void> GetExtension(String inPath, String outExt)
|
||||
public static Result<void> GetExtension(StringView inPath, String outExt)
|
||||
{
|
||||
int i;
|
||||
if ((i = inPath.LastIndexOf('.')) != -1)
|
||||
|
|
|
@ -561,6 +561,17 @@ namespace System.IO
|
|||
return .Ok;
|
||||
}
|
||||
|
||||
public Result<char8> Read()
|
||||
{
|
||||
if (mStream == null)
|
||||
return .Err;
|
||||
if (mCharPos == mCharLen)
|
||||
{
|
||||
if (Try!(ReadBuffer()) == 0) return .Err;
|
||||
}
|
||||
return mCharBuffer[mCharPos++];
|
||||
}
|
||||
|
||||
public struct LineReader : IEnumerator<Result<StringView>>
|
||||
{
|
||||
StreamReader mStreamReader;
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
using System.Globalization;
|
||||
|
||||
namespace System
|
||||
{
|
||||
struct Int32 : int32, IInteger, ISigned, IHashable, IFormattable, IOpComparable, IIsNaN, IOpNegatable, IOpAddable
|
||||
|
@ -120,17 +122,19 @@ namespace System
|
|||
ToString(outString, minNumerals);
|
||||
}
|
||||
|
||||
public static Result<int32, ParseError> Parse(StringView val)
|
||||
public static Result<int32, ParseError> Parse(StringView val, NumberStyles style)
|
||||
{
|
||||
if (val.Length == 0)
|
||||
if (val.IsEmpty)
|
||||
return .Err(.NoValue);
|
||||
|
||||
bool isNeg = false;
|
||||
int32 result = 0;
|
||||
//TODO: Use Number.ParseNumber
|
||||
int32 result = 0;
|
||||
|
||||
int32 radix = style.HasFlag(.AllowHexSpecifier) ? 0x10 : 10;
|
||||
|
||||
for (int32 i = 0; i < val.Length; i++)
|
||||
{
|
||||
char8 c = val.Ptr[i];
|
||||
char8 c = val[i];
|
||||
|
||||
if ((i == 0) && (c == '-'))
|
||||
{
|
||||
|
@ -140,13 +144,39 @@ namespace System
|
|||
|
||||
if ((c >= '0') && (c <= '9'))
|
||||
{
|
||||
result *= 10;
|
||||
result *= radix;
|
||||
result += (int32)(c - '0');
|
||||
}
|
||||
else if ((c >= 'a') && (c <= 'f'))
|
||||
{
|
||||
result *= radix;
|
||||
result += c - 'a' + 10;
|
||||
}
|
||||
else if ((c >= 'A') && (c <= 'F'))
|
||||
{
|
||||
result *= radix;
|
||||
result += c - 'A' + 10;
|
||||
}
|
||||
else if ((c == 'X') || (c == 'x'))
|
||||
{
|
||||
if (result != 0)
|
||||
return .Err(.InvalidChar(result));
|
||||
radix = 0x10;
|
||||
}
|
||||
else if (c == '\'')
|
||||
{
|
||||
// Ignore
|
||||
}
|
||||
else
|
||||
return .Err(.InvalidChar(isNeg ? -result : result));
|
||||
return .Err(.InvalidChar(result));
|
||||
}
|
||||
return .Ok(isNeg ? -result : result);
|
||||
|
||||
return isNeg ? -result : result;
|
||||
}
|
||||
|
||||
public static Result<int32, ParseError> Parse(StringView val)
|
||||
{
|
||||
return Parse(val, .Any);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue