using System.Runtime.CompilerServices;
using Aitex.Core.RT.IOCore;

namespace Aitex.Core.RT.DataCollection.HighPerformance;

public class CacheDiagnosisInfo
{
    public CacheDiagnosisInfo(string module, string ioName, IOType ioType, int index, string value,  [CallerLineNumber] int callerLine = -1, [CallerMemberName] string callerMember = "",
        [CallerFilePath] string callerFilePath = "")
    {
        Module = module;
        IoType = ioType;
        Index = index;
        Value = value;
        CallerFilePath = callerFilePath;
        IoName = ioName;
        CallerLine = callerLine;
        CallerMember = callerMember;
    }

    public string CallerFilePath { get; }
    
    public string CallerMember { get; }
    
    public int CallerLine { get; }
    
    public string Module { get; }
    
    public string IoName { get; }
    
    public IOType IoType { get; }
    
    public int Index { get; }
    
    public string Value { get; }
}