Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve record analyzer performance #61

Merged
merged 1 commit into from
Dec 28, 2024
Merged

Improve record analyzer performance #61

merged 1 commit into from
Dec 28, 2024

Conversation

kzu
Copy link
Member

@kzu kzu commented Dec 28, 2024

Switch to symbol action rather than syntax, to speed up analysis.

Partially fixes #60

@kzu kzu added the enhancement New feature or request label Dec 28, 2024
Switch to symbol action rather than syntax, to speed up analysis.

Partially fixes #60
@kzu kzu force-pushed the dev/recordanalyzer-perf branch from 9aaf47e to cca1f6d Compare December 28, 2024 05:37
@devlooped-bot
Copy link
Member

devlooped-bot commented Dec 28, 2024

65 passed 65 passed

🧪 Details on Microsoft Windows 10.0.20348

✅ StructId.CodeTemplateTests.AddsStructIdNamespace
✅ StructId.CodeTemplateTests.AppliesValueTemplate
✅ StructId.CodeTemplateTests.PreservesPrimaryConstructor
✅ StructId.CodeTemplateTests.PreservesTrivia
✅ StructId.CodeTemplateTests.RemovesFileLocalTypes
✅ StructId.ConstructorGeneratorTests.GenerateRecordConstructor
✅ StructId.ConstructorGeneratorTests.GenerateRecordConstructorInGlobalNamespace
✅ StructId.ConstructorGeneratorTests.GenerateRecordStringConstructor
✅ StructId.DapperGeneratorTests.GenerateCustomHandler
✅ StructId.DapperGeneratorTests.GenerateHandler
✅ StructId.DapperGeneratorTests.GenerateTempletizedHandler
✅ StructId.DapperGeneratorTests.SkipsUnsupported
✅ StructId.Functional.FunctionalTests.CustomTemplate
✅ StructId.Functional.FunctionalTests.EntityFramework
✅ StructId.Functional.FunctionalTests.EqualityTest
✅ StructId.Functional.FunctionalTests.GuidImplementUtf8SpanFormattable
✅ StructId.Functional.FunctionalTests.ImplementsFormattable
✅ StructId.Functional.FunctionalTests.ImplicitAndExplicitCast
✅ StructId.Functional.FunctionalTests.JsonConversion
✅ StructId.Functional.FunctionalTests.Newtonsoft
✅ StructId.Functional.FunctionalTests.SpanFormattableIdsImplementISpanFormattable
✅ StructId.Functional.FunctionalTests.StringIdDoesNotImplementISpanFormattable
✅ StructId.Functional.FunctionalTests.TypeConverters
✅ StructId.Functional.UlidTests.Dapper
✅ StructId.Functional.UlidTests.DapperUlid
✅ StructId.Functional.UlidTests.EntityFramework
✅ StructId.Functional.UlidTests.JsonConversion
✅ StructId.Functional.UlidTests.TypeConverters
✅ StructId.NewtonsoftJsonGeneratorTests.DoesNotGenerateIfNewtonsoftJsonNotPresent
✅ StructId.NewtonsoftJsonGeneratorTests.GenerateIfNewtonsoftJsonPresent
✅ StructId.RecordAnalyzerTests.ClassNotStructId
✅ StructId.RecordAnalyzerTests.PartialRecordStructNotReadonly
✅ StructId.RecordAnalyzerTests.PartialStringRecordStructNotReadonly
✅ StructId.RecordAnalyzerTests.ReadonlyRecordStructNoStructId
✅ StructId.RecordAnalyzerTests.ReadonlyRecordStructNotPartial
✅ StructId.RecordAnalyzerTests.ReadonlyRecordStructWithNonValueConstructor
✅ StructId.RecordAnalyzerTests.ReadonlyStringRecordStructNotPartial
✅ StructId.RecordAnalyzerTests.RecordStructNoStructId
✅ StructId.RecordAnalyzerTests.RecordStructNotReadonlyNorPartial
✅ StructId.RecordAnalyzerTests.StructNotStructId
✅ StructId.RecordCodeFixTests.AddPartialKeyword
✅ StructId.RecordCodeFixTests.AddReadOnlyModifier
✅ StructId.RecordCodeFixTests.ChangeRecordStruct
✅ StructId.RecordCtorCodeFixTests.RemoveCtor
✅ StructId.RecordCtorCodeFixTests.RenameValue
✅ StructId.TemplateAnalyzerTests.ClassNoTemplate
✅ StructId.TemplateAnalyzerTests.ClassRecordNoTemplate
✅ StructId.TemplateAnalyzerTests.PartialTSelfNotFileLocal
✅ StructId.TemplateAnalyzerTests.RecordStructNoTemplate
✅ StructId.TemplateAnalyzerTests.TemplateNotTSelf
✅ StructId.TemplateAnalyzerTests.TemplateRecordClassNotStruct
✅ StructId.TemplateAnalyzerTests.TemplateRecordStructNotFile
✅ StructId.TemplateAnalyzerTests.TemplateRecordStructNotPartial
✅ StructId.TemplateAnalyzerTests.TemplateStructNotRecord
✅ StructId.TemplateAnalyzerTests.TemplateWithNonValueConstructor
✅ StructId.TemplateCodeFixTests.AddFileLocal
✅ StructId.TemplateCodeFixTests.AddFileLocalToPartial
✅ StructId.TemplateCodeFixTests.AddPartialKeyword
✅ StructId.TemplateCodeFixTests.ChangeClassToRecordStruct
✅ StructId.TemplateCodeFixTests.ChangeStructToRecordStruct
✅ StructId.TemplateCodeFixTests.RemoveInternalKeyword
✅ StructId.TemplateCodeFixTests.RemovePublicKeyword
✅ StructId.TemplateCodeFixTests.RenameTSelf
✅ StructId.TemplateGeneratorTests.GenerateComparable
✅ StructId.TemplateGeneratorTests.GenerateComparableExplicitImpl

from dotnet-retest v0.6.3 on .NET 8.0.11 with 💜

@kzu kzu enabled auto-merge (rebase) December 28, 2024 05:37
@kzu kzu merged commit 49ecd9b into main Dec 28, 2024
11 checks passed
@kzu kzu deleted the dev/recordanalyzer-perf branch December 28, 2024 05:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

All StructId generators are not incremental and extremely inefficient (analyzers too)
2 participants