You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Five complementary fixes targeting the dominant FP buckets observed in
the wild on desktop .NET / Win32 repositories.
- unused_export now treats an incoming `calls` / `method_implements`
/ `reads` edge on the symbol itself as evidence of life. The
existing pass only checked file-level `imported_names`, which
missed intra-file C++ helpers and qualified `Foo::method`
definitions reached via call resolution rather than headers.
- C++ qualified definitions (`void Foo::method() { … }`) now extract
with `parent_name=Foo` and `kind=method`. New cpp.scm pattern for
two-level `NS::Foo::method` declarations plus a parser helper that
walks the qualified_identifier scope to recover the immediate
enclosing type. Free functions are unaffected.
- `dynamic_hints/dotnet.py` learned `typeof(TypeName)` — catches
`[JsonConverter(typeof(X))]`, `[TypeConverter(...)]`,
`DataTemplate.DataType = typeof(X)`, and manual DI registration.
- `dynamic_hints/xaml.py` learned `<prefix:TypeName …>` element-tag
references — catches converters, controls, templates declared as
XAML elements without a `using` directive on the C# side. Property
syntax (`<Grid.Resources>`) and bare built-in tags are excluded.
- `_NEVER_FLAG_PATTERNS` adds standard test-project globs
(`*Tests/*.cs`, `*.UnitTests/*.cs`, `*FuzzTests/*.cs`,
`*UITest*/*.cs`, `*Tests.cs`, …) plus `*/unittests/*.cpp|.h`.
0 commit comments