namespace Ghost.Zeux.MeshOptimizer; using System; using System.Diagnostics; /// Defines the type of a member as it was used in the native signature. [AttributeUsage(AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.ReturnValue, AllowMultiple = false, Inherited = true)] [Conditional("DEBUG")] internal sealed partial class NativeTypeNameAttribute : Attribute { private readonly string _name; /// Initializes a new instance of the class. /// The name of the type that was used in the native signature. public NativeTypeNameAttribute(string name) { _name = name; } /// Gets the name of the type that was used in the native signature. public string Name => _name; } /// Defines the annotation found in a native declaration. [AttributeUsage(AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.ReturnValue, AllowMultiple = true, Inherited = false)] [Conditional("DEBUG")] internal sealed partial class NativeAnnotationAttribute : Attribute { private readonly string _annotation; /// Initializes a new instance of the class. /// The annotation that was used in the native declaration. public NativeAnnotationAttribute(string annotation) { _annotation = annotation; } /// Gets the annotation that was used in the native declaration. public string Annotation => _annotation; }