1968 Commits
Author SHA1 Message Date
Sergio PedriandMichael Hawker MSFT 40d1976bf3 Switch branch name to main in analyzer files
Co-authored-by: Michael Hawker MSFT (XAML Llama) <24302614+michael-hawker@users.noreply.github.com>
2021-07-21 02:32:12 +02:00
Sergio Pedri d9720a57f9 Renamed [AlsoNotifyFor] attribute to [AlsoNotifyChangeFor] 2021-07-21 02:32:12 +02:00
Sergio Pedri d777b65886 Performance improvements to validation/messenger generated code 2021-07-21 02:32:12 +02:00
Sergio Pedri 5a1c227c50 Switched generated command field to concrete type
Doing this enables the JIT to devirtualize function calls through the property
2021-07-21 02:32:12 +02:00
Sergio Pedri 42318d208d Improved code generation for IRecipient generator 2021-07-21 02:32:12 +02:00
Sergio Pedri 84b2a29ee6 Improved code generation for ValidateAllProperties generator
Improved type safety, more AOT-friendly, removed Unsafe.As<T> hack
2021-07-21 02:32:12 +02:00
Sergio Pedri a8eb60525a Minor code refactoring 2021-07-21 02:32:12 +02:00
Sergio Pedri b51538aaf7 Enabled property args caching for ObservableValidator properties 2021-07-21 02:32:11 +02:00
Sergio Pedri 7392902cb0 Enabled property args caching for non dependent names 2021-07-21 02:32:11 +02:00
Sergio Pedri c26bf62b2d Initial support for cached property names 2021-07-21 02:32:11 +02:00
Sergio Pedri 8860e46d3d Enabled nullability annotations for [ObservableProperty] 2021-07-21 02:32:11 +02:00
Sergio Pedri ce9f9db8b1 Improved [ObservableProperty] codegen for ObservableObject 2021-07-21 02:32:11 +02:00
Sergio Pedri 8f82555b13 Added support for <summary> XML docs for generated commands 2021-07-21 02:32:11 +02:00
Sergio Pedri 45add983f7 Added ICommandGenerator diagnostics 2021-07-21 02:32:11 +02:00
Sergio Pedri 8adf8b2659 Stripped Async suffix to generated command names 2021-07-21 02:32:11 +02:00
Sergio Pedri ebb0ced14f Enabled [ICommand] generation for all command types 2021-07-21 02:32:11 +02:00
Sergio Pedri a131d8dbfe Enabled ICommandGenerator for RelayCommand type 2021-07-21 02:32:11 +02:00
Sergio Pedri 1cc237d65a Initial draft implementation of ICommandGenerator 2021-07-21 02:32:11 +02:00
Sergio Pedri c81e15ae4a Added ICommandAttribute type 2021-07-21 02:32:11 +02:00
Sergio Pedri 779086cd49 Added draft tests for source generator diagnostics 2021-07-21 02:32:11 +02:00
Sergio Pedri 986dc0143f Minor optimization to [ObservableProperty] syntax receiver 2021-07-21 02:32:10 +02:00
Sergio Pedri 5edec89ec1 Added diagnostic for failure in ObservablePropertyGenerator 2021-07-21 02:32:10 +02:00
Sergio Pedri 10613019d6 Added diagnostic for observable property + validation without base class 2021-07-21 02:32:10 +02:00
Sergio Pedri ff52e8054d Improved constructor definition for [AlsoNotifyForAttribute] type 2021-07-21 02:32:10 +02:00
Sergio Pedri da216c9a0f Removed unnecessary if statement in generated code 2021-07-21 02:32:10 +02:00
Sergio Pedri 774c1558c2 Enabled validation support for generated properties 2021-07-21 02:32:10 +02:00
Sergio Pedri 6826c44943 Added unit tests for validation attributes generation 2021-07-21 02:32:10 +02:00
Sergio Pedri 596e13efea Added initial support for generated validation property attributes 2021-07-21 02:32:10 +02:00
Sergio Pedri e3ca7429d3 Added AlsoNotifyForAttribute type 2021-07-21 02:32:10 +02:00
Sergio Pedri 4c9c2d691f Added handling for optional INotifyPropertyChanging in properties 2021-07-21 02:32:10 +02:00
Sergio Pedri 6dfbb023e7 Fixed leading trivia in some generated files 2021-07-21 02:32:10 +02:00
Sergio Pedri 0e3a8ec43e Switched to global:: paths for other generated files 2021-07-21 02:32:10 +02:00
Sergio Pedri f1a4c76966 Added [GeneratedCode] attribute to some generators, refactoring 2021-07-21 02:32:09 +02:00
Sergio Pedri b1fb60f331 Added handling for modifiers in sealed classes 2021-07-21 02:32:09 +02:00
Sergio Pedri b744017678 Added XML docs copying from fields to generated properties 2021-07-21 02:32:09 +02:00
Sergio Pedri 341e394e9b Added initial version of ObservablePropertyAttribute 2021-07-21 02:32:09 +02:00
Sergio Pedri d5cb56aec9 Minor code refactoring 2021-07-21 02:32:09 +02:00
Sergio Pedri a72a683ea2 Added debugging attributes to remaining generated classes 2021-07-21 02:32:09 +02:00
Sergio Pedri 55dd2db7df Added debugging attributes to validator/messaging generated classes 2021-07-21 02:32:09 +02:00
Sergio Pedri 72b49f170a Minor code style tweaks 2021-07-21 02:32:09 +02:00
Sergio Pedri 1faf93acd7 Switched to SyntaxReceiver in remaining generators 2021-07-21 02:32:09 +02:00
Sergio Pedri ce4078f9a6 Minor code refactoring 2021-07-21 02:32:09 +02:00
Sergio Pedri b73e52f4b2 Added custom SyntaxReceiver to TransitiveMembersGenerator 2021-07-21 02:32:09 +02:00
Sergio Pedri 1266cb93ed Switched usage of ISymbol.ConstructedFrom to OriginalDefinition 2021-07-21 02:32:08 +02:00
Sergio Pedri dd11625be5 Removed unnecessary ConstructUnboundGenericType() calls 2021-07-21 02:32:08 +02:00
Sergio Pedri 9f0a463c36 Switched symbol comparisons to GetTypeByMetadataName() 2021-07-21 02:32:08 +02:00
Sergio Pedri 29366b7b7b Enabled generated code for ValidateAllProperties 2021-07-21 02:32:08 +02:00
Sergio Pedri 797dfddfa9 Added ObservableValidatorValidateAllPropertiesGenerator 2021-07-21 02:32:08 +02:00
Sergio Pedri 6c6f351a91 Fixed analyzer target condition 2021-07-21 02:32:08 +02:00
Sergio Pedri d4e6019d1e Enabled source generator packing into MVVM Toolkit
See https://github.com/windows-toolkit/WindowsCommunityToolkit/issues/3872#issuecomment-805023949
2021-07-21 02:32:08 +02:00