unity/EditorPlugin/Profiler/Adapters/ReflectionBasedAdapters/SnapshotNavigation/ProfilerDriverAdapter.cs (38 lines of code) (raw):
#nullable enable
using JetBrains.Diagnostics;
using JetBrains.Rider.Unity.Editor.Profiler.Adapters.Interfaces;
namespace JetBrains.Rider.Unity.Editor.Profiler.Adapters.ReflectionBasedAdapters.SnapshotNavigation
{
internal class ProfilerDriverAdapter : IProfilerDriverAdapter
{
private static readonly ILog ourLogger = Log.GetLog(nameof(ProfilerDriverAdapter));
private readonly ProfilerDriverReflectionData? myProfilerDriverReflectionData;
internal ProfilerDriverAdapter(ProfilerDriverReflectionData? profilerDriverReflectionData)
{
myProfilerDriverReflectionData = profilerDriverReflectionData;
if (myProfilerDriverReflectionData == null)
{
ourLogger.Verbose($"{nameof(myProfilerDriverReflectionData)} is null.");
return;
}
if (!myProfilerDriverReflectionData.IsValid())
ourLogger.Verbose($"{myProfilerDriverReflectionData.GetType().Name} is not valid.");
}
public string? GetSelectedPropertyPath()
{
if (myProfilerDriverReflectionData == null)
{
ourLogger.Verbose(
$"Can't get {nameof(GetSelectedPropertyPath)}: {nameof(myProfilerDriverReflectionData)} is null.");
return null;
}
if (myProfilerDriverReflectionData.SelectedPropertyPathPropertyInfo == null)
{
ourLogger.Verbose(
$"Can't get {nameof(GetSelectedPropertyPath)}: {nameof(myProfilerDriverReflectionData.SelectedPropertyPathPropertyInfo)} is null.");
return null;
}
return myProfilerDriverReflectionData?.SelectedPropertyPathPropertyInfo.GetValue(null) as string;
}
}
}