Speedup conversion time for code without "MyClass" and "WithEvents / Handles"
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Refatoração
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- csharp
- Domínio
- performance, tooling
Direção de pesquisa
Comece em DeclarationNodeVisitor.cs, especialmente em GetMyClassAccessedNames e GetMethodWithHandlesAsync, e compare o comportamento ativo com os caminhos de análise comentados mostrados na issue. Determine se essas análises podem ser alteradas com segurança sem quebrar a conversão de MyClass ou WithEvents/Handles e, em seguida, verifique tanto a correção da conversão quanto a melhoria relatada no tempo de conversão.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Hi, I am looking for a way to speed up my conversion time.
I looked at ours overall busniness code and we only have a few utilisation of the key words "MyClass" and "WithEvents / Handles" that we can take care manually.
I would like to know your advice, if we could safely remove the following from DeclarationNodeVisitor.cs, as it's seems to cut in half (if not more) the time it takes to convert, especially the WithEvents / Handles part.
MyClass
private static HashSet<string> GetMyClassAccessedNames(VBSyntax.ClassBlockSyntax classBlock)
{
//var memberAccesses = classBlock.DescendantNodes().OfType<VBSyntax.MemberAccessExpressionSyntax>();
//var accessedTextNames = new HashSet<string>(memberAccesses
//.Where(mae => mae.Expression is VBSyntax.MyClassExpressionSyntax)
//.Select(mae => mae.Name.Identifier.Text), StringComparer.OrdinalIgnoreCase);
//return accessedTextNames;
return new HashSet<string>();
}
WithEvents / Handles
private async Task<HandledEventsAnalysis> GetMethodWithHandlesAsync(VBSyntax.TypeBlockSyntax parentType, IMethodSymbol designerGeneratedInitializeComponentOrNull)
{
//if (parentType == null || _semanticModel.GetDeclaredSymbol((SyntaxNode)parentType) is not INamedTypeSymbol containingType) {
return new HandledEventsAnalysis(CommonConversions, null, Array.Empty<(HandledEventsAnalysis.EventContainer EventContainer, (IPropertySymbol Property, bool IsNeverWrittenOrOverridden) PropertyDetails, (EventDescriptor Event, IMethodSymbol HandlingMethod, int ParametersToDiscard)[] HandledMethods)>());
//}
//return await HandledEventsAnalyzer.AnalyzeAsync(CommonConversions, containingType, designerGeneratedInitializeComponentOrNull, _typeToInheritors);
}
Thank you
- Linguagem predominante
- C#
- Estrelas
- 913
- Forks
- 244
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de icsharpcode/CodeConverter
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
icsharpcode/CodeConverter#1271 · 1 comentário ·
-
C# -> VB
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
icsharpcode/CodeConverter#1281 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
icsharpcode/CodeConverter#1275 ·
-
VB -> C#
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 62/100
icsharpcode/CodeConverter#1273 ·
-
VB -> C#: "Group By Into" Linq queries supressing aggregations ("Into" part) in the converted codeAbertaDifficult area VB -> C#
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 74/100
icsharpcode/CodeConverter#1272 ·
Todas as issues de icsharpcode/CodeConverter
Issues semelhantes
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
fluentassertions/fluentassertions#3353 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
Dificuldade 2/5 Meio dia Facilidade para iniciantes 78/100
unoplatform/uno#24769 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
AvaloniaUI/Avalonia#22323 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
microsoft/onnxruntime-genai#2633 ·
Mantenedores costumam responder em até 1 dia