Files
ft/Client/Packages/io.github.hatayama.uloopmcp/Editor/Shared/Diagnostics/CompilationDiagnosticMessageParser.cs

43 lines
1.1 KiB
C#

using System.Text.RegularExpressions;
namespace io.github.hatayama.uLoopMCP
{
public static class CompilationDiagnosticMessageParser
{
private static readonly Regex TypeNamePattern = new Regex(@"['""]([^'""]+)['""]", RegexOptions.Compiled);
public static string ExtractTypeNameFromMessage(string message)
{
if (message == null)
{
return null;
}
Match match = TypeNamePattern.Match(message);
if (!match.Success)
{
return null;
}
return NormalizeTypeName(match.Groups[1].Value);
}
private static string NormalizeTypeName(string rawName)
{
if (string.IsNullOrWhiteSpace(rawName))
{
return null;
}
string normalized = rawName.Trim();
int genericIndex = normalized.IndexOf('<');
if (genericIndex > 0)
{
normalized = normalized.Substring(0, genericIndex);
}
return normalized;
}
}
}