Add validation for DirtyField strings (#5713)

* Add ValidateMemberAttribute, analyzer and test

* Use attribute on DirtyFields methods

* Defer member lookup

* Additional test case

* Add support for collection types

* Poke tests

* Revert "Add support for collection types"

This reverts commit 2b8f5534bd.

* break, not continue

* Cheaper attribute check with AttributeHelper

* Clean up unused helper method

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
This commit is contained in:
Tayrtahn
2025-12-17 13:32:34 -05:00
committed by GitHub
parent 7826e9e365
commit d7abbad717
8 changed files with 227 additions and 3 deletions

View File

@@ -0,0 +1,15 @@
using System;
namespace Robust.Shared.Analyzers;
/// <summary>
/// Verifies that a string parameter matches the name
/// of a member of the first type argument.
/// </summary>
/// <remarks>
/// This just does a string comparison with the member name.
/// An identically-named member on a different class will be
/// considered valid.
/// </remarks>
[AttributeUsage(AttributeTargets.Parameter)]
public sealed class ValidateMemberAttribute : Attribute;