in JetBrains.HabitatDetector/src/HabitatInfo.Parse.cs [53:84]
public static bool TryParseRuntimeId(string str, out JetPlatform platform, out JetArchitecture architecture, out JetLinuxLibC? linuxLibC)
{
var parts = str.Split('-');
switch (parts.Length)
{
case 2:
if (TryParsePlatform(parts[0], out platform) &&
TryParseArchitecture(parts[1], out architecture))
{
linuxLibC = platform == JetPlatform.Linux ? JetLinuxLibC.Glibc : null;
return true;
}
break;
case 3:
if (TryParsePlatform(parts[0], out platform) &&
platform == JetPlatform.Linux &&
TryParseLinuxLibC(parts[1], out var linuxLibC1, false) &&
TryParseArchitecture(parts[2], out architecture))
{
linuxLibC = linuxLibC1;
return true;
}
break;
}
platform = default;
architecture = default;
linuxLibC = null;
return false;
}