using System; using YesNt.Interpreter.Enums; namespace YesNt.Interpreter.Attributes; /// /// Marks a parameterless method as a YesNt static statement handler. /// Static statements are invoked once per line before regular statement matching begins, /// regardless of whether the line matches any keyword. They are typically used for /// pre-processing tasks such as transforming the current line before other statements run. /// /// /// Methods decorated with this attribute must be instance methods on a class that inherits /// and must have no parameters. /// [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] public class StaticStatementAttribute : Attribute { /// /// Gets or sets a value indicating whether this handler is still invoked while the interpreter /// is in search mode (scanning for a label or function definition). Defaults to . /// public bool ExecuteInSearchMode { get; set; } /// /// Gets or sets the execution priority relative to other static statements. /// Defaults to . /// public Priority Priority { get; set; } = Priority.Normal; }