Commit Graph

48 Commits

Author SHA1 Message Date
Sergio Pedri 3abc8a9dcb Replace linker suppressions with attributes 2022-08-02 19:00:14 +02:00
Sergio Pedri 786ba0b5d4 Rename fields still using _lowerCamelCase names 2022-06-11 16:50:29 +02:00
Sergio Pedri 6972de2fee Add "this." prefix to all field accesses 2022-06-11 16:28:44 +02:00
Daniel Banda f2dce06b4d Fixing some typos. 2022-05-03 21:21:10 -07:00
Sergio Pedri 0aa38c5e8a Remove ArrayPoolBufferWriter<T> explicit constructor
This fixes a build error with .NET Native
2022-03-05 20:29:07 +01:00
Sergio Pedri f81cf4b4f9 Switch to target-type new() for direct return values 2022-01-01 17:02:31 +01:00
Sergio Pedri a7e0f2c370 Enable trimming support in the MVVM Toolkit
Also added linker annotations where needed
2021-12-29 19:26:37 +01:00
Sergio Pedri cb4e418ad3 Refactor remaining partial type declarations 2021-12-29 18:56:14 +01:00
Sergio Pedri 3e61aeb3c1 Remove [Pure] attribute usages 2021-12-29 18:06:54 +01:00
Sergio Pedri f6b604a824 Add dot to exception messages in remaining call sites 2021-12-20 13:15:20 +01:00
Sergio Pedri 5fef9ab55f Add parameter null validation to Messaging APIs 2021-12-14 10:35:13 +01:00
Sergio Pedri 61f92f309c Move MessageHandler to separate file 2021-12-14 10:33:06 +01:00
Sergio Pedri 216b403759 Add more documentation to unsupported paths 2021-12-13 13:36:29 +01:00
Sergio Pedri aa560fe256 Break down documentation into paragraphs 2021-12-13 13:36:29 +01:00
Sergio Pedri 56fb755f14 Fix a bug in StrongReferenceMessenger.IsRegistered 2021-12-13 13:36:29 +01:00
Sergio Pedri 3d59fd019b Remove unnecessary generic type parameters 2021-12-13 13:36:29 +01:00
Sergio Pedri fa7042fd80 Update StrongReferenceMessenger internal documentation 2021-12-13 13:36:28 +01:00
Sergio Pedri 8b2cad51f8 Add Unit type specialization to StrongReferenceMessenger 2021-12-13 13:36:28 +01:00
Sergio Pedri 6b02f86f0a Enable IRecipient<TMessage> optimization for StrongReferenceMessenger 2021-12-13 13:36:28 +01:00
Sergio Pedri 48ae66cdd7 Use MessageHandlerDispatcher handlers in StrongReferenceMessenger 2021-12-13 13:36:28 +01:00
Sergio Pedri 7046476d51 Minor codegen improvements
Removed type checks from guarded devirtualization when broadcasting
2021-12-09 11:35:26 +01:00
Sergio Pedri 2b690d7f60 Tweak StrongReferenceMessenger.Send to remove null suppression 2021-12-09 11:01:17 +01:00
Sergio Pedri 6cb7e571d4 Add more comments and XML docs 2021-12-02 18:04:04 +01:00
Sergio Pedri 27ed92db88 Skip array covariance checks in ArrayPoolBufferWriter<T> 2021-12-02 18:04:04 +01:00
Sergio Pedri 39388b1c1e Optimize ConditionalWeakTable2<,>.Enumerator
Also done some refactoring to streamline code across targets
2021-12-02 18:04:04 +01:00
Sergio Pedri 75869de313 Optimize WeakReferenceMessenger broadcast loop 2021-12-02 18:04:04 +01:00
Sergio Pedri 96606f208d Enable fast paths for IRecipient<TMessage> recipients 2021-12-02 18:04:04 +01:00
Sergio Pedri c0f1704aed Remove Unsafe.As<T>(object) delegate type aliasing 2021-12-02 18:04:04 +01:00
Sergio Pedri 416653a2aa Enable Unit type specialization for WeakReferenceMessenger 2021-12-02 18:04:03 +01:00
Sergio Pedri 316557b683 Fix a bug in Dictionary2<TKey, TValue>.Enumerator.MoveNext() 2021-12-02 18:04:03 +01:00
Sergio Pedri dd2a827694 Switch messengers to new dictionary, code refactoring 2021-12-02 18:04:03 +01:00
Sergio Pedri 622be37d5c Specialize Dictionary<TKey, TValue> for the messenger types 2021-12-02 18:04:03 +01:00
Sergio Pedri 7c2bc7f0ed Port Dictionary<TKey, TValue> from .NET 6 2021-12-02 18:04:03 +01:00
Sergio Pedri a86eb44474 Hoist enumeration lock for custom conditional table 2021-12-02 18:04:03 +01:00
Sergio Pedri a6f5dc5ff2 Remove tracking of multiple active enumerators 2021-12-02 18:04:03 +01:00
Sergio Pedri c2a8731452 Switch .NET table GetEnumerator() to ref struct enumerator 2021-12-02 18:04:02 +01:00
Sergio Pedri 03032c7a1a Moved .NET Stadard 2.0 ConditionalWeakTable type 2021-12-02 18:04:02 +01:00
Sergio Pedri 65e6746c57 Initial refactor pass for .NET 6 ConditionalWeakTable 2021-12-02 18:04:02 +01:00
Sergio Pedri aaecb7176b Port ConditionalWeakTable<TKey, TValue> from .NET 6 2021-12-02 18:04:02 +01:00
Sergio Pedri 35b034fc62 Fix StrongReferenceMessenger.Unregister, add concurrent unit tests 2021-11-29 14:21:08 +01:00
Sergio Pedri 32c23450f9 Fix some bugs in StrongReferenceMessenger.Unregister[All] APIs 2021-11-29 13:31:49 +01:00
Sergio Pedri e2b336184f Fix app domain unloading issue on .NET Framework 2021-11-02 02:36:45 +01:00
Sergio Pedri 6afdd81742 Refactor multiline variable declarations 2021-11-01 23:42:45 +01:00
Sergio Pedri 51c7a67c20 More code style improvements and tweaks
- Remove unused namespaces
- Remove unused attributes
- Remove unnecessary #nullable enable directives
- Sort using directives
- Simplify names
2021-11-01 22:29:46 +01:00
Sergio Pedri c176080d37 Switch whole solution to file-scoped namespaces 2021-11-01 20:46:46 +01:00
Sergio Pedri 7a2295b03c Update some code style rules
In particular:
- Use explicit types everywhere to improve clarity
- Use target-typed new() expression when target is explicit
- Use explicit discard for value-returning statements
2021-11-01 20:34:00 +01:00
Sergio Pedri 8b7c87284b Update namespaces from Microsoft.Toolkit to CommunityToolkit 2021-11-01 17:22:05 +01:00
Sergio Pedri b498321331 Rename folders/projects from Microsoft.Toolkit to CommunityToolkit 2021-11-01 17:07:47 +01:00