An internal interface marker IReactiveObject and extension methods intended to set debug metadata on reactive objects. The file defines IReactiveObject (empty) and ReactiveObjectExtensions with a SetDebugInfo extension that accepts optional name, icon, location, parent and (in SANDBOX build) a PropertyDescription, but the method body is empty and many conditional compilation regions remove content in other builds.
using System.Diagnostics;
namespace Sandbox.Reactivity.Internals;
internal interface IReactiveObject
{
#if DEBUG && SANDBOX
#endif
}
internal static class ReactiveObjectExtensions
{
extension(IReactiveObject reactive)
{
[Conditional("DEBUG")]
public void SetDebugInfo(
string? name = null,
string? icon = null,
string? location = null,
object? parent = null,
#if SANDBOX
PropertyDescription? container = null
#else
#endif
)
{
#if DEBUG && SANDBOX
#endif
}
}
}