osu-framework icon indicating copy to clipboard operation
osu-framework copied to clipboard

.NET analyser wish-list

Open smoogipoo opened this issue 4 years ago • 8 comments

I'm beginning to forget all the things we need analysers for, so will keep tracking them in this thread.

smoogipoo avatar Jul 05 '21 01:07 smoogipoo

  • [ ] Bindable subclasses need a ctor(T defaultValue = null) constructor: https://github.com/ppy/osu-framework/pull/4568

smoogipoo avatar Jul 05 '21 01:07 smoogipoo

  • [ ] I think https://github.com/ppy/osu-framework/issues/2278 would fall under this, but a low priority one.

frenzibyte avatar Jul 05 '21 07:07 frenzibyte

  • [ ] Bindable implementations that override BindTo() should also override UnbindFrom(): https://github.com/ppy/osu-framework/pull/4598

smoogipoo avatar Jul 12 '21 08:07 smoogipoo

  • [ ] One which detects thread-safety issues. For example using a field which is marked as [ThreadUnsafe] from the update thread. And we could probably treat everything else as update-only and perform the opposite check for accesses to update-thread members.

smoogipoo avatar Jul 13 '21 09:07 smoogipoo

  • [ ] Detect Bindable leaf classes with non-overridden CreateInstance().

smoogipoo avatar Aug 19 '21 10:08 smoogipoo

  • [x] Warn that [Resolved(CanBeNull = true)] is redundant in NRT contexts and can be replaced with nullable type. https://github.com/ppy/osu-localisation-analyser/pull/56

smoogipoo avatar Aug 01 '22 02:08 smoogipoo

  • [ ] Verify correctness of use of Scheduler.AddOnce() (https://github.com/ppy/osu/pull/25076#discussion_r1352332462)

bdach avatar Oct 10 '23 12:10 bdach

  • [ ] Redundant double resolution in BDL and to field (https://github.com/ppy/osu/pull/25191#discussion_r1368313082)

bdach avatar Oct 23 '23 08:10 bdach