forked from aly/qstbak
105 lines
4.2 KiB
C#
105 lines
4.2 KiB
C#
using System;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Text.RegularExpressions;
|
|
using Questionable.Functions;
|
|
|
|
namespace Questionable.Model;
|
|
|
|
internal sealed class StringOrRegex
|
|
{
|
|
private readonly Regex? _regex;
|
|
|
|
private readonly string? _stringValue;
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
public StringOrRegex(Regex? regex)
|
|
{
|
|
_206C_206E_200E_202D_200C_202E_206B_206B_202B_200D_206C_200D_206B_200C_200D_202E_206E_202D_202A_202D_200C_200F_206E_206B_200D_206B_202A_206B_200F_200C_202B_200E_200E_200C_200E_202B_202C_200F_206E_206D_202E((object?)regex, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1417753636));
|
|
_regex = regex;
|
|
_stringValue = null;
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
public StringOrRegex(string? str)
|
|
{
|
|
_206C_206E_200E_202D_200C_202E_206B_206B_202B_200D_206C_200D_206B_200C_200D_202E_206E_202D_202A_202D_200C_200F_206E_206B_200D_206B_202A_206B_200F_200C_202B_200E_200E_200C_200E_202B_202C_200F_206E_206D_202E((object?)str, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1663071315));
|
|
_regex = null;
|
|
_stringValue = str;
|
|
}
|
|
|
|
public bool IsMatch(string other)
|
|
{
|
|
int num = ((_regex == null) ? (-734326704) : (-734326703));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -734326704;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 0:
|
|
return GameFunctions.GameStringEquals(_stringValue, other);
|
|
case 1:
|
|
return _200F_206C_206D_200E_202C_200E_206B_206A_202A_206C_200E_206A_200F_206A_206E_206B_206A_202A_200B_202B_202B_206E_206C_200B_206D_202D_200E_206E_200D_200D_206C_206D_200B_200E_202A_200E_206D_206B_206A_206F_202E(_regex, other);
|
|
case 2:
|
|
goto IL_0062;
|
|
}
|
|
continue;
|
|
IL_0062:
|
|
num = -734326703;
|
|
}
|
|
}
|
|
|
|
public string? GetString()
|
|
{
|
|
int num = ((_stringValue != null) ? 1027325378 : 1027325379);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 1027325378;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 2:
|
|
goto IL_0048;
|
|
case 0:
|
|
return _stringValue;
|
|
case 1:
|
|
throw _200E_200C_206E_202D_200B_202E_202D_202D_200E_200C_202A_206E_200E_200D_200F_202D_202A_206C_202C_202D_206F_202A_200C_206E_200D_202C_206E_200D_206C_206F_200B_206B_200F_206C_202A_206F_202E_202A_200E_202B_202E();
|
|
}
|
|
continue;
|
|
IL_0048:
|
|
num = 1027325379;
|
|
}
|
|
}
|
|
|
|
public override string? ToString()
|
|
{
|
|
Regex? regex = _regex;
|
|
return ((regex != null) ? _202B_200C_206B_206F_206D_202B_206A_206D_206F_206A_200D_202A_200F_202C_202D_200E_200E_200B_202E_200C_200B_202A_202A_206F_202A_200E_200B_206F_206F_202B_206C_200F_200C_206C_202E_206F_206B_200E_206E_202C_202E((object?)regex) : null) ?? _stringValue;
|
|
}
|
|
|
|
static void _206C_206E_200E_202D_200C_202E_206B_206B_202B_200D_206C_200D_206B_200C_200D_202E_206E_202D_202A_202D_200C_200F_206E_206B_200D_206B_202A_206B_200F_200C_202B_200E_200E_200C_200E_202B_202C_200F_206E_206D_202E(object? P_0, string? P_1)
|
|
{
|
|
ArgumentNullException.ThrowIfNull(P_0, P_1);
|
|
}
|
|
|
|
static bool _200F_206C_206D_200E_202C_200E_206B_206A_202A_206C_200E_206A_200F_206A_206E_206B_206A_202A_200B_202B_202B_206E_206C_200B_206D_202D_200E_206E_200D_200D_206C_206D_200B_200E_202A_200E_206D_206B_206A_206F_202E(Regex? P_0, string? P_1)
|
|
{
|
|
return P_0.IsMatch(P_1);
|
|
}
|
|
|
|
static InvalidOperationException? _200E_200C_206E_202D_200B_202E_202D_202D_200E_200C_202A_206E_200E_200D_200F_202D_202A_206C_202C_202D_206F_202A_200C_206E_200D_202C_206E_200D_206C_206F_200B_206B_200F_206C_202A_206F_202E_202A_200E_202B_202E()
|
|
{
|
|
return new InvalidOperationException();
|
|
}
|
|
|
|
static string? _202B_200C_206B_206F_206D_202B_206A_206D_206F_206A_200D_202A_200F_202C_202D_200E_200E_200B_202E_200C_200B_202A_202A_206F_202A_200E_200B_206F_206F_202B_206C_200F_200C_206C_202E_206F_206B_200E_206E_202C_202E(object? P_0)
|
|
{
|
|
return P_0.ToString();
|
|
}
|
|
}
|