Skip to content

Commit 5c898c5

Browse files
author
akravtsova
committed
refactor ClassDiagramGenerator
1 parent 90f9abc commit 5c898c5

File tree

13 files changed

+513
-413
lines changed

13 files changed

+513
-413
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
using Microsoft.CodeAnalysis;
2+
using Microsoft.CodeAnalysis.CSharp.Syntax;
3+
4+
namespace PlantUmlClassDiagramGenerator.Library.ClassDiagramGenerator;
5+
6+
public partial class ClassDiagramGenerator
7+
{
8+
private void GenerateAdditionalTypeDeclarations()
9+
{
10+
for (int i = 0; i < additionalTypeDeclarationNodes.Count; i++)
11+
{
12+
SyntaxNode node = additionalTypeDeclarationNodes[i];
13+
if (node is GenericNameSyntax genericNode)
14+
{
15+
if (createAssociation)
16+
{
17+
GenerateAdditionalGenericTypeDeclaration(genericNode);
18+
}
19+
continue;
20+
}
21+
Visit(node);
22+
}
23+
}
24+
25+
private void GenerateAdditionalGenericTypeDeclaration(GenericNameSyntax genericNode)
26+
{
27+
var typename = TypeNameText.From(genericNode);
28+
if (!types.Contains(typename.Identifier))
29+
{
30+
WriteLine($"class {typename.Identifier}{typename.TypeArguments} {{");
31+
WriteLine("}");
32+
types.Add(typename.Identifier);
33+
}
34+
}
35+
}

0 commit comments

Comments
 (0)