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