//
//  AttributeInfo.cs
//
//  Copyright (c) František Boháček. All rights reserved.
//  Licensed under the MIT license. See LICENSE file in the project root for full license information.
using Microsoft.CodeAnalysis.CSharp.Syntax;
namespace NosSmooth.PacketSerializersGenerator.Data;
/// 
/// The attribute info.
/// 
/// The attribute syntax.
/// The full name of the attribute containing namespace.
/// The indexed arguments passed to the attribute.
/// The named arguments passed to the attribute.
public record AttributeInfo
(
    AttributeSyntax Attribute,
    string FullName,
    IReadOnlyList IndexedAttributeArguments,
    IReadOnlyDictionary NamedAttributeArguments
);
/// 
/// The attribute argument information.
/// 
/// The argument syntax.
/// Whether the attribute argument is an array.
/// The real parsed value of the argument.
/// The visual value of the argument.
public record AttributeArgumentInfo(AttributeArgumentSyntax Argument, bool IsArray, object? RealValue, string VisualValue);