diff --git a/imm/Imm.cs b/imm/Imm.cs index cab2648..32e28f7 100644 --- a/imm/Imm.cs +++ b/imm/Imm.cs @@ -62,12 +62,17 @@ public record class Versioned public MetaData() { } } + protected Versioned( ) + { + MetaStorage = new MetaData { Version = 1, Reason = $"Creation" }; + } + internal Versioned( MetaData meta ) { MetaStorage = meta; } - internal MetaData MetaStorage = new(); + protected MetaData MetaStorage = new(); public MetaData Meta => MetaStorage; @@ -136,12 +141,14 @@ public record class Recorded : Versioned return Process( ( old ) => next, reason, dbgName, dbgPath, lineNumber, dbgExp ); } - virtual public T Process( Func fn, string reason = "", + virtual public T Process( Func fn, + string reason = "", [CallerMemberName] string dbgName = "", [CallerFilePath] string dbgPath = "", [CallerLineNumber] int lineNumber = 0, [CallerArgumentExpression("fn")] - string dbgExp = default ) + string dbgExp = default + ) { var orig = ( T )this;