in JetBrains.Profiler.SelfApi/src/Impl/NuGet.cs [84:110]
public static SemanticVersion TryParse(string value)
{
if (string.IsNullOrEmpty(value))
return null;
var prerelease = (string) null;
var build = (string) null;
var idx = value.LastIndexOf('+');
if (idx >= 0)
{
build = value.Substring(idx + 1);
value = value.Substring(0, idx);
}
idx = value.LastIndexOf('-');
if (idx >= 0)
{
prerelease = value.Substring(idx + 1);
value = value.Substring(0, idx);
}
if (!Version.TryParse(value, out var version))
return null;
return new SemanticVersion(version, prerelease, build);
}