1
0
mirror of https://github.com/chylex/.NET-Community-Toolkit.git synced 2024-10-17 06:42:48 +02:00
Commit Graph

177 Commits

Author SHA1 Message Date
Sergio Pedri
f34c0f3b49 Fix generation for nested types that are not classes 2022-04-11 14:28:14 +02:00
Sergio Pedri
3324b5214e Fix incorrect duplicated property notification call 2022-04-06 18:21:43 +02:00
Sergio Pedri
69707bf3fd Fix false positive diagnostics for inherited members 2022-04-06 18:08:42 +02:00
Sergio Pedri
e0016b7e0f Move diagnostics list to shipped release file 2022-04-06 15:14:14 +02:00
Sergio Pedri
f2ac314fd0 Improve [ICommand] overload diagnostics 2022-03-26 13:58:23 +01:00
Sergio Pedri
3ff3d8e8cd Add diagnostics for [ICommand] on multiple overloads 2022-03-26 13:52:28 +01:00
Sergio Pedri
a045b551d8
Merge pull request #161 from CommunityToolkit/dev/icommand-attribute-task-t
Allow Task<T>-returns on methods with [ICommand]
2022-03-25 23:21:20 +01:00
Sergio Pedri
ec1129b54d
Merge pull request #179 from CommunityToolkit/dev/incremental-nullable-generator
Make NullabilityAttributesGenerator incremental
2022-03-25 23:20:45 +01:00
Sergio Pedri
8c03ffa93d Fix NullabilityAttributesGenerator generation conditions 2022-03-25 22:28:53 +01:00
Sergio Pedri
8fba78db76 Simplify AddSource(...) calls 2022-03-25 22:28:53 +01:00
Sergio Pedri
807dbcaf94 Switch NullabilityAttributesGenerator to incremental 2022-03-25 22:28:53 +01:00
Sergio Pedri
a3bafc654e Add RegisterConditionalSourceOutput API 2022-03-25 22:28:52 +01:00
Sergio Pedri
5a8fd0bf1e Update [ICommand] generator for Task<T> returns 2022-03-25 22:28:38 +01:00
Sergio Pedri
4bb6067abc Fix nullability annotations in generated properties 2022-03-25 22:27:18 +01:00
Sergio Pedri
668de52f39 Enable orphaning diagnostics for [AlsoBroadcastChange] 2022-03-16 15:30:03 +01:00
Sergio Pedri
53ac5d8e38 Implement code generation for [AlsoBroadcastChange] 2022-03-16 15:30:03 +01:00
Sergio Pedri
216d4eaaf4 Code refactoring to remove goto-s 2022-03-15 20:00:19 +01:00
Sergio Pedri
eb41f891f8 Add diagnostics for invalid [ObservableRecipient] target type 2022-03-14 00:02:38 +01:00
Sergio Pedri
5cb0a737ff Fix diagnostics categories 2022-03-13 22:56:32 +01:00
Sergio Pedri
17d4df6555 Add diagnostics for orphaned [ObservableProperty] dependent attributes 2022-03-13 20:07:27 +01:00
Sergio Pedri
e694deff8e Minor code tweaks 2022-03-13 19:42:10 +01:00
Sergio Pedri
b632429c15 Add diagnostics for invalid [ObservableProperty] containing type 2022-03-13 19:37:15 +01:00
Sergio Pedri
914a7aca26 Add diagnostics for combining [INPC] and [ObservableObject] 2022-03-13 18:39:23 +01:00
Sergio Pedri
0fb8a627fa Minor code refactoring 2022-03-13 18:17:46 +01:00
Sergio Pedri
ab6d3007e6 Skip generating properties when there is a name collision 2022-03-13 15:47:11 +01:00
Sergio Pedri
31f5c95603 Improve diagnostics for [ObservableProperty] with invalid validation 2022-03-13 15:15:20 +01:00
Sergio Pedri
840e7a5983 More bug fixes to new diagnostics 2022-03-13 15:15:20 +01:00
Sergio Pedri
ccb8a9d4ad Fixed bugs in new diagnostics logic 2022-03-13 15:15:20 +01:00
Sergio Pedri
929bef6b6f Fix diagnostics for generated commands 2022-03-13 15:15:20 +01:00
Sergio Pedri
6e497b1ad0 Fix diagnostics for generated properties 2022-03-13 15:15:20 +01:00
Sergio Pedri
b66fa4ba22 Add diagnostics for invalid target of [AlsoNotifyCanExecuteFor] 2022-03-13 15:15:20 +01:00
Sergio Pedri
48587bc7ba Add diagnostics for invalid target of [AlsoNotifyChangeFor] 2022-03-13 15:15:20 +01:00
Sergio Pedri
53f9abf098 Add diagnostics for name collision for [ObservableProperty] 2022-03-13 15:15:19 +01:00
Sergio Pedri
e1ec425f97
Merge pull request #135 from CommunityToolkit/dev/dynamically-accessed-members-attribute
Add [DynamicallyAccessedMembers] annotations
2022-03-09 22:14:14 +01:00
Sergio Pedri
1e033f47bb Improve detection of [DynamicallyAccessedMembers] 2022-03-06 19:34:30 +01:00
Sergio Pedri
baada1ac70 Update RegisterConditionalImplementationSourceOutput extension 2022-03-06 19:33:30 +01:00
Sergio Pedri
40b492ddf8 Generate [DynamicallyAccessedMembers] for __ObservableValidatorExtensions 2022-03-06 19:29:30 +01:00
Sergio Pedri
e78e9c8250 Generate [DynamicallyAccessedMembers] for __IMessengerExtensions 2022-03-06 19:26:02 +01:00
Sergio Pedri
c9839ef073 Remove [DebuggerNonUserCode] from visible members 2022-03-06 17:36:35 +01:00
Sergio Pedri
86d689c2f9 Update ICommandGenerator to generate cancel commands 2022-03-01 18:59:15 +01:00
Sergio Pedri
63a6676790 Add IncludeCancelCommand option to generator model 2022-03-01 17:22:37 +01:00
Sergio Pedri
3fc61fe03d
Merge pull request #119 from CommunityToolkit/dev/partial-observable-property-methods
[ObservableProperty] generates partial OnPropertyChanging/Changed methods
2022-03-01 13:40:42 +01:00
Sergio Pedri
d4a58e88fb Fix wrong generator type names in [GeneratedCode] 2022-03-01 00:17:30 +01:00
Sergio Pedri
07fdeed558 Add invocation of partial generated methods 2022-03-01 00:17:30 +01:00
Sergio Pedri
f487d92f87 Add partial generation for OnPropertyChanging/Changed 2022-03-01 00:17:29 +01:00
Sergio Pedri
1a24e0d415 Optimize duplicates removal in IMessengerRegisterAllGenerator 2022-03-01 00:17:15 +01:00
Sergio Pedri
854499580a Improve syntax node filtering in IMessengerRegisterAllGenerator 2022-03-01 00:17:15 +01:00
Sergio Pedri
849a0f14e5 Fix IRecipient generator for partial recipient declarations 2022-03-01 00:17:15 +01:00
Sergio Pedri
33c58e3eda Remove try/catch when awaiting tasks, ignore exceptions
This allows exceptions to remain unobserved and propagate to TaskScheduler.UnobservedTaskException. It will also be more efficient, as there is no longer an exception being thrown and handled if there's one.
2022-02-28 22:37:26 +01:00
Sergio Pedri
90cf3443e3
Merge pull request #127 from CommunityToolkit/dev/default-async-command-concurrency-false
Switch async commands to default to no concurrent execution
2022-02-28 21:25:43 +01:00
Sergio Pedri
c71eb3592e
Merge pull request #124 from CommunityToolkit/dev/observable-property-inheritdoc
Add <inheritdoc/> to generated observable properties
2022-02-28 21:24:21 +01:00
Sergio Pedri
f6ca1f0bc4 Switch default async command concurrency to false 2022-02-27 18:53:07 +01:00
Sergio Pedri
4a004a4fab Add <inheritdoc/> to generated observable properties 2022-02-24 23:59:29 +01:00
Sergio Pedri
c1cb029bc2 Fix [ObservableRecipient] with inherited base attributes 2022-02-22 20:00:26 +01:00
Sergio Pedri
71ad82d274 Workaround for RS2002 warnings
See https://github.com/dotnet/roslyn-analyzers/issues/5828
2022-02-22 13:13:37 +01:00
Sergio Pedri
7e0bf75f8a Add support for [ICommand(CanExecute)] on generated properties 2022-01-31 19:40:35 +01:00
Sergio Pedri
c38a4a2118 Disable generation of header files if no targets are present 2022-01-14 14:19:48 +01:00
Sergio Pedri
7d52b58e76 Fix conflicting generation of nullability attributes 2022-01-13 20:30:28 +01:00
Sergio Pedri
63abbb051d Fix generated members accessibility for sealed types 2021-12-31 18:06:42 +01:00
Sergio Pedri
704e5073f1 Enable implementing OnActivated/OnDeactivated with [ObservableRecipient] 2021-12-31 17:58:12 +01:00
Sergio Pedri
35d403b945 Fix mixed whitespaces in generated files 2021-12-31 17:32:47 +01:00
Sergio Pedri
e12e0858a4 Fix removal of [RequiresUnreferencedCode] on older runtimes 2021-12-31 17:04:10 +01:00
Sergio Pedri
af03bdfff0 Remove trimming annoations for [ObservableRecipient] on older runtimes 2021-12-31 16:28:00 +01:00
Sergio Pedri
afc7232dc7 Improve custom filtering support in TransitiveMembersGenerator<TInfo> 2021-12-29 20:52:50 +01:00
Sergio Pedri
53614e7e3c Add comments to GetFullMetadataNameForFileName 2021-12-29 18:31:48 +01:00
Sergio Pedri
f8dcd09581 Remove call to MulticastDelegate.op_Equality 2021-12-29 18:31:48 +01:00
Sergio Pedri
8cdc261997 Remove unnecessary partial class modifier 2021-12-29 18:31:48 +01:00
Sergio Pedri
64657753a3 Remove leftover internal helpers and adjust visibility 2021-12-29 18:31:47 +01:00
Sergio Pedri
9c581dc531 Add nullable enable directives to generated files 2021-12-29 18:31:12 +01:00
Sergio Pedri
aae1cbde84 Add base Comparer<T, TSelf> type 2021-12-29 18:31:11 +01:00
Sergio Pedri
9cc7d41c1e Add FilterWithLanguageVersion extension to gate on language version 2021-12-29 18:31:11 +01:00
Sergio Pedri
13a9149eee Lower C# version requirement to 8 for all generators 2021-12-29 18:31:11 +01:00
Sergio Pedri
2428765852 Remove leftover DiagnosticDescriptor-s 2021-12-29 18:31:11 +01:00
Sergio Pedri
9474591020 Centralize handling of sealed target types 2021-12-29 18:31:11 +01:00
Sergio Pedri
164a8d92e3 Fix member generation in sealed types 2021-12-29 18:31:11 +01:00
Sergio Pedri
74c60c7a4a Remove non incremental TransitiveMembersGenerator 2021-12-29 18:31:11 +01:00
Sergio Pedri
1f90e526e9 Switch ObservableRecipientGenerator to incremental 2021-12-29 18:30:53 +01:00
Sergio Pedri
b3eb5e55f5 Switch ObservableObjectGenerator to incremental 2021-12-29 18:30:53 +01:00
Sergio Pedri
839ddf98b3 Remove non incremental INotifyPropertyChangedGenerator 2021-12-29 18:30:53 +01:00
Sergio Pedri
d3da266a1a Add incremental INotifyPropertyChangedGenerator 2021-12-29 18:30:53 +01:00
Sergio Pedri
ddeddd8c08 Add initial version of incremental TransitiveMembersGenerator 2021-12-29 18:30:53 +01:00
Sergio Pedri
8bbc3092fe Enable diagnostics for ObservablePropertyGenerator 2021-12-29 18:30:53 +01:00
Sergio Pedri
bf02beea06 Fix __KnownPropertyChangedEventArgs generation 2021-12-29 18:30:53 +01:00
Sergio Pedri
9defa26408 Minor code refactoring 2021-12-29 18:30:53 +01:00
Sergio Pedri
b173cd3570 Remove non incremental ObservablePropertyGenerator 2021-12-29 18:30:53 +01:00
Sergio Pedri
8c9d9d3e8e Enable properties generation for ObservablePropertyGenerator 2021-12-29 18:30:36 +01:00
Sergio Pedri
30e5dbe6be Add initial version of incremental ObservablePropertyGenerator
Only generating cached property changing/changed args for now
2021-12-29 18:30:36 +01:00
Sergio Pedri
cb225c1127 Port IEqualityComparerExtensions from ComputeSharp 2021-12-29 18:30:36 +01:00
Sergio Pedri
64649493b5 Add PropertyInfo type 2021-12-29 18:30:36 +01:00
Sergio Pedri
833dae319c Add models to cache validation attributes 2021-12-29 18:30:36 +01:00
Sergio Pedri
7f176bcae7 Remove non incremental ObservableValidatorValidateAllPropertiesGenerator 2021-12-29 18:30:36 +01:00
Sergio Pedri
87821000c9 Add incremental ObservableValidatorValidateAllPropertiesGenerator 2021-12-29 18:30:22 +01:00
Sergio Pedri
ff09557a6f Improve code generation for IMessengerRegisterAllGenerator 2021-12-29 18:30:22 +01:00
Sergio Pedri
793a96ac39 Remove non incremental IMessengerRegisterAllGenerator 2021-12-29 18:30:22 +01:00
Sergio Pedri
5fd70ed0be Add incremental IMessengerRegisterAllGenerator 2021-12-29 18:29:57 +01:00
Sergio Pedri
9e493348e8 Minor code refactoring 2021-12-29 18:29:57 +01:00
Sergio Pedri
4667ba2ecd Restore C# version check in ICommandGenerator 2021-12-29 18:29:57 +01:00
Sergio Pedri
703514d0fa Minor code tweaks 2021-12-29 18:29:56 +01:00
Sergio Pedri
4a6edb1474 Remove non incremental ICommandGenerator 2021-12-29 18:29:56 +01:00
Sergio Pedri
28af36a269 Add incremental ICommandGenerator 2021-12-29 18:28:34 +01:00