// // AttributeArgumentSyntaxExtensions.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; using Microsoft.CodeAnalysis.CSharp.Syntax; namespace NosSmooth.PacketSerializersGenerator.Extensions; /// /// Extension methods for . /// public static class AttributeArgumentSyntaxExtensions { /// /// Get the value of the argument. /// /// The attribute argument. /// The semantic model containing the attribute argument info. /// The value. public static object? GetValue(this AttributeArgumentSyntax attributeArgument, SemanticModel semanticModel) { var value = semanticModel.GetConstantValue(attributeArgument.Expression); if (!value.HasValue) { return null; } return value.Value; } }