* STJ-SG: tolerate ref struct members with JsonIgnore.
* * Skip all ref like members and emit warnings.
* Add detection for collections with ref struct elements.
* Update src/libraries/System.Text.Json/gen/JsonSourceGenerator.Parser.cs
Co-authored-by: David Cantú <dacantu@microsoft.com>
* Update src/libraries/System.Text.Json/gen/JsonSourceGenerator.Parser.cs
Co-authored-by: David Cantú <dacantu@microsoft.com>
---------
Co-authored-by: David Cantú <dacantu@microsoft.com>
* Arm.Sve - Switch from RequiresPreviewFeatures to Experimental
* X86.AvxVnni no longer requires preview features
* X86.X86Base.DivRem no longer requires preview features
* GenericVectorTests no longer requires preview features (generic math)
* Arm.Sve - Switch from RequiresPreviewFeatures to Experimental (fix mono build)
* Arm.Sve - Switch from RequiresPreviewFeatures to Experimental (fix JIT tests)
* Update SYSLIB5001 suppressions to have consistent comments
* Apply [Experimental] to X86Base.DivRem
Allows overriding KnownColor system values with an alternate set, which in the initial iteration is "dark mode" colors. Enables "dark mode" features in Windows Forms.
This is from the approved part of https://github.com/dotnet/winforms/issues/7641 with further naming iteration done offline with API review.
* Mark the new tensor APIs as experimental for .NET 9
* Apply SNTEXP0001 to other internal API
* Suppress SNTEXP0001 in System.Numerics.Tensors.Tests
* Use SYSLIB5001. Central registration of experimental API diagnostic ids.
* Add Experimentals.cs (missed in prior commit)
* Revert SLN changes. Add UrlFormat property to attributes where missing.
* Ensure the net8 tensors tests also don't warn for the experimental API usage
---------
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
* Add support for primary constructors in LoggerMessageGenerator
* Get the primary constructor parameters types from the constructor symbol instead of from the semantic model
* Prioritize fields over primary constructor parameters and ignore shadowed parameters when finding a logger
* Make checking for primary constructors non-conditional on Roslyn version and simplify project setup
* Reintroduce Roslyn 4.8 test project
* Add info-level diagnostic for logger primary constructor parameters that are shadowed by field
* Update list of diagnostics with new logging message generator diagnostic
* Only add non-logger field names to set of shadowed names
* Add comment explaining the use of the set of shadowed names with an example
* Delete native safehandle
* Delete PInvoke last error on thread
* Delete IsRealThreadPoolResetNeeded
* Delete TS_TaskReset
* Delete GetThreadContext
* Fix build break
* Delete unused resource strings
* Introduce FEATURE_IJW and use it in number of places
* Make Thread.VolatileRead and Thread.VolatileWrite obsolete
* Prevent Thread.VolatileRead and Thread.VolatileWrite from being editor browsable.
* Consolidate obsoletion message and add obsolete attributes to reference definition
* Add EditorBrowsableAttribute to reference definition
* Update public-signing.md
* Specify "may" because we've seen it work on some machines but not others.
It's not clear to use what the difference is other than a hunch that it fails on Windows Server but works fine on Windows Client OS.
* Add missing angle bracket
- Remove all IBC comments from the vm portion of the codebase
- Remove `m_GenericTypeDefToCanonMethodTableMap` and `m_MehtodDefToPropertyInfoMap` which were only filled in by NGen
- Remove a variety of flags enums which are never used
- Remove infra for testing Zap and IBC scenarios
- Remove ZapDisable as @egorbo suggested
* Use Roslyn interceptors feature in binder gen
* Fix polymorphic issue and address feedback
* Fix source build issue
* Revert changes to options gen
* Fix
Adds an 'info' level diagnostic if a GeneratedComInterface method returns int, enum, or a type name "HR" or "HResult" to tell the user that the generated code will put the managed return value as an 'out' parameter on the COM definition.
Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
* Relax JsonIncludeAttribute to also support private or internal members.
* Relax JsonConstructorAttribute to include internal or private constructors (where applicable).
* Add first pass of the "convert to generated COM interface" analyzer and add tests for the various other analyzers we are going to introduce.
* Get all analyzer-specific components of the "convert" tests passing.
* Implement all interface-attribute-level changes in the code fixer.
* Add bool marshalling insertion logic to the fixer.
* Add support for removing shadowing members from interfaces.
* Rename fixer
* ActiveIssue the new tests
* Implement basic AddGeneratedComClass analyzer/fixer
* Add ComHosting + GeneratedComInterface analyzer implementation.
* Implement the "runtime COM APIs with source-generated COM types" analyzer.
* Factor out a base class from the ConvertToLibraryImportFixer so we can share it with the ComInterfaceGenerator-family of fixers.
* Move more of the ConvertToLibraryImportFixer to use SyntaxGenerator APIs instead of dropping to C#-specific syntax APIs (improves consistency throughout our code fixes)
* Move support for specifying explicit boolean marshalling rules up to the base class.
* Move the code fixes in ComInterfaceGenerator over to using the ConvertToSourceGeneratedInteropFixer base type.
* Remove use of multicasted delegates and use a more traditional "array of delegates" model.
* Do some refactoring to move more into the new fixer base class.
* Remove custom CodeAction-derived types now that we have a record type to represent fixes from the subclasses.
* Make sure we make types and containing types partial
* Fix negative test.
* Add tests for transitive interface inheritance and add iids.
* Change bool parsing for internal parsing and add warning annotation text. Update diagnostics list md.
* Don't enable ILLink analyzers for unsupported TFMs
This adds a condition to EnableSingleFileAnalyzer to prevent it from requiring
the ILLink pack that is only supported on netcoreapp3.0 and above.
Adding a condition on the TFM requires moving the setting into a targets file.
Also consolidates more of the analyzer logic into this file.
---------
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>