@startuml
skinparam linetype ortho
title <size:20>DotNetPreAdapter.Domain.Datastructure **detailed** and **grouped per namespace**</size>
note "Your are analyzing:\nDotNetPreAdapter.Domain.Datastructure **detailed** and **grouped per namespace**\n\n==Filter==\nYou can click either the namespaces \nor class names for filtering them and their\ndirect dependencies.\n\n==Select other==\n* DotNetPreAdapter.Domain.Datastructure **simplified** and **grouped per namespace**:\n   [[DotNetPreAdapter.Domain.Datastructure-diagram-simplified-grouped-per-namespace.svg]]\n* Full diagram **detailed** and **grouped per namespace**:\n   [[full-diagram-detailed-grouped-per-namespace.svg]]\n* Home:\n   [[index.html]]" as FloatingNote
namespace DotNetPreAdapter [[DotNetPreAdapter-diagram-detailed-grouped-per-namespace.svg]] {
namespace DotNetPreAdapter.Domain [[DotNetPreAdapter.Domain-diagram-detailed-grouped-per-namespace.svg]] {
  abstract class DotNetPreAdapter.Domain.Datastructure [[DotNetPreAdapter.Domain.Datastructure-diagram-detailed-grouped-per-namespace.svg]] #yellow {
    + class_to_datastructure: dict[string, DotNetPreAdapter.Domain.Datastructure.SubDataStructure]
    + namespace_to_datastructures: dict[string, list[DotNetPreAdapter.Domain.Datastructure.SubDataStructure]]
    + namespace_to_namespace_list: dict[string, list[string]]
    + logger: DotNetPreAdapter.Utils.Logger
==
    + ResolveClassNames(<font color="6060BB"></font>)
    - <font color="909090">ResolveClassNames.variables: list[DotNetPreAdapter.Domain.Datastructure.Variable]</font>
    - <font color="909090">ResolveClassNames.variable: DotNetPreAdapter.Domain.Datastructure.Variable</font>
--
    - CorrectClassScope(<font color="6060BB">subDataStructure:DotNetPreAdapter.Domain.Datastructure.SubDataStructure</font>)
    - getFQDNClassNameFromNamespacelist(<font color="6060BB"></font>)
    - GetFQDNForUsedClassName(<font color="6060BB">subDataStructure:DotNetPreAdapter.Domain.Datastructure.SubDataStructure</font>)
    + get_skip_types(<font color="6060BB"></font>)
    - append_sub_datastructure(<font color="6060BB">sub_datastructure:DotNetPreAdapter.Domain.Datastructure.SubDataStructure</font>)
--
    + append_class(<font color="6060BB"></font>)
    - <font color="909090">append_class.sub_datastructure: DotNetPreAdapter.Domain.Datastructure.SubDataStructure</font>
--
    + get_classname_list(<font color="6060BB"></font>)
    + get_datastructures_from_class_name(<font color="6060BB"></font>)
  }
  abstract class DotNetPreAdapter.Domain.Datastructure_DOT_Variable [[DotNetPreAdapter.Domain.Datastructure.Variable-diagram-detailed-grouped-per-namespace.svg]] #yellow {
  }
  abstract class DotNetPreAdapter.Domain.Datastructure_DOT_SubDataStructure [[DotNetPreAdapter.Domain.Datastructure.SubDataStructure-diagram-detailed-grouped-per-namespace.svg]] #yellow {
    + from_imports: dict[string, string]
    + statics: list[DotNetPreAdapter.Domain.Datastructure.Static]
    + variables: list[DotNetPreAdapter.Domain.Datastructure.Variable]
    + methods: list[DotNetPreAdapter.Domain.Datastructure.Method]
==
    + set_abstract(<font color="6060BB"></font>)
    + setInterface(<font color="6060BB"></font>)
    + setInnerClass(<font color="6060BB"></font>)
    + getUsings(<font color="6060BB"></font>)
    + addImport(<font color="6060BB"></font>)
    + getImports(<font color="6060BB"></font>)
    + addGenericType(<font color="6060BB"></font>)
    + addAnonymousInvocation(<font color="6060BB"></font>)
    + addAnonymousStaticInvocation(<font color="6060BB"></font>)
    + add_base_class(<font color="6060BB"></font>)
    + add_static(<font color="6060BB"></font>)
--
    + add_method(<font color="6060BB">arguments_tuple_:list[tuple[string, string, string]]</font>)
    - <font color="909090">add_method.Arguments_: list[DotNetPreAdapter.Domain.Datastructure.Method.ParameterType]</font>
--
    + GetMethod(<font color="6060BB"></font>)
    + add_variable(<font color="6060BB"></font>)
    + add_inner_class(<font color="6060BB"></font>)
    + is_abstract(<font color="6060BB"></font>)
    + IsInterface(<font color="6060BB"></font>)
    + IsInnerClass(<font color="6060BB"></font>)
    + has_static_fields(<font color="6060BB"></font>)
    + has_method_fields(<font color="6060BB"></font>)
    + has_variables_fields(<font color="6060BB"></font>)
    + getAnonymousInvocation(<font color="6060BB"></font>)
    + getAnonymousStaticInvocation(<font color="6060BB"></font>)
    + getGenericTypes(<font color="6060BB"></font>)
    + get_from_imports(<font color="6060BB"></font>)
    + get_fqdn_class_name(<font color="6060BB"></font>)
    + get_base_classes(<font color="6060BB"></font>)
    + get_static_fields(<font color="6060BB"></font>)
    + get_method_fields(<font color="6060BB"></font>)
    + get_variable_fields(<font color="6060BB"></font>)
    + get_inner_class_name(<font color="6060BB"></font>)
    + get_filename(<font color="6060BB"></font>)
    + get_filemodule(<font color="6060BB"></font>)
    + get_name_space_list(<font color="6060BB"></font>)
  }
  abstract class DotNetPreAdapter.Domain.Datastructure_DOT_Method [[DotNetPreAdapter.Domain.Datastructure.Method-diagram-detailed-grouped-per-namespace.svg]] #yellow {
    + AddVariable(<font color="6060BB"></font>)
  }
  abstract class DotNetPreAdapter.Domain.Datastructure_DOT_Static [[DotNetPreAdapter.Domain.Datastructure.Static-diagram-detailed-grouped-per-namespace.svg]] #yellow {
  }
  abstract class DotNetPreAdapter.Domain.Datastructure_DOT_Method_DOT_ParameterType [[DotNetPreAdapter.Domain.Datastructure.Method.ParameterType-diagram-detailed-grouped-per-namespace.svg]] #yellow {
  }
  abstract class DotNetPreAdapter.Domain.Datastructure_DOT_Method_DOT_Variable [[DotNetPreAdapter.Domain.Datastructure.Method.Variable-diagram-detailed-grouped-per-namespace.svg]] #yellow {
  }
  abstract class DotNetPreAdapter.Domain.ASTVisitor [[DotNetPreAdapter.Domain.ASTVisitor-diagram-detailed-grouped-per-namespace.svg]]  {
    + datastructure: DotNetPreAdapter.Domain.Datastructure
    + model: SemanticModel
    + usingDict: dict[string, string]
    + logger: DotNetPreAdapter.Utils.Logger
==
    - SimplifyType(<font color="6060BB"></font>)
--
    + SyntaxNode(<font color="6060BB">node:SyntaxNode</font>)
    - <font color="909090">SyntaxNode.convertedType: ITypeSymbol</font>
--
    - GetCurrentClassName(<font color="6060BB"></font>)
--
    - CreateClassInterface(<font color="6060BB">node:T</font>)
    - <font color="909090">CreateClassInterface.parentSubDataStructure: DotNetPreAdapter.Domain.Datastructure.SubDataStructure</font>
    - <font color="909090">CreateClassInterface.subDataStructure: DotNetPreAdapter.Domain.Datastructure.SubDataStructure</font>
    - <font color="909090">CreateClassInterface.tmpBase: ITypeSymbol</font>
--
    - getCurrentContext(<font color="6060BB"></font>)
    - ArgumentsTupleToString(<font color="6060BB">arguments_tuple:list[Tuple[string, string, string]]</font>)
    - cleanForRegEx(<font color="6060BB"></font>)
    + VisitNamespaceDeclaration(<font color="6060BB">node:NamespaceDeclarationSyntax</font>)
    + VisitUsingDirective(<font color="6060BB">node:UsingDirectiveSyntax</font>)
    + VisitEnumDeclaration(<font color="6060BB">node:EnumDeclarationSyntax</font>)
    + VisitInterfaceDeclaration(<font color="6060BB">node:InterfaceDeclarationSyntax</font>)
    + VisitClassDeclaration(<font color="6060BB">node:ClassDeclarationSyntax</font>)
--
    + VisitMethodDeclaration(<font color="6060BB">node:MethodDeclarationSyntax</font>)
    - <font color="909090">VisitMethodDeclaration.arguments_tuple: list[Tuple[string, string, string]]</font>
    - <font color="909090">VisitMethodDeclaration.parameterSymbol: IParameterSymbol</font>
    - <font color="909090">VisitMethodDeclaration.subDataStructure: DotNetPreAdapter.Domain.Datastructure.SubDataStructure</font>
--
    + VisitVariableDeclaration(<font color="6060BB">node:VariableDeclarationSyntax</font>)
    - <font color="909090">VisitVariableDeclaration.subDataStructure: DotNetPreAdapter.Domain.Datastructure.SubDataStructure</font>
    - <font color="909090">VisitVariableDeclaration.aliasInfo: IAliasSymbol</font>
    - <font color="909090">VisitVariableDeclaration.type: ITypeSymbol</font>
    - <font color="909090">VisitVariableDeclaration.method: DotNetPreAdapter.Domain.Datastructure.Method</font>
--
  }
'Compared namespace DotNetPreAdapter.Domain [[DotNetPreAdapter.Domain-diagram-detailed-grouped-per-namespace.svg]] { with last element of   }
' Closing all previous_sub_namespace_list namespace None because file analysis is finished.
' Closing namespace Domain
}
' Closing namespace DotNetPreAdapter
}
namespace DotNetPreAdapter [[DotNetPreAdapter-diagram-detailed-grouped-per-namespace.svg]] {
namespace DotNetPreAdapter.Infrastructure [[DotNetPreAdapter.Infrastructure-diagram-detailed-grouped-per-namespace.svg]] {
  abstract class DotNetPreAdapter.Infrastructure.CreateYml [[DotNetPreAdapter.Infrastructure.CreateYml-diagram-detailed-grouped-per-namespace.svg]]  {
    + Create(<font color="6060BB">datastructure:DotNetPreAdapter.Domain.Datastructure, logger:DotNetPreAdapter.Utils.Logger</font>)
    - <font color="909090">Create.subDatastructureYmlNode: YamlSequenceNode</font>
    - <font color="909090">Create.subDataStructure: DotNetPreAdapter.Domain.Datastructure.SubDataStructure</font>
    - <font color="909090">Create.fromImports: YamlSequenceNode</font>
    - <font color="909090">Create.innerClasses: YamlSequenceNode</font>
    - <font color="909090">Create.anonymousCalls: YamlSequenceNode</font>
    - <font color="909090">Create.baseClasses: YamlSequenceNode</font>
    - <font color="909090">Create.statics: YamlSequenceNode</font>
    - <font color="909090">Create.variables: YamlSequenceNode</font>
    - <font color="909090">Create.methods: YamlSequenceNode</font>
    - <font color="909090">Create.parameters: YamlSequenceNode</font>
    - <font color="909090">Create.methodVariables: YamlSequenceNode</font>
    - <font color="909090">Create.stream: YamlStream</font>
    - <font color="909090">Create.writer: System.IO.TextWriter</font>
--
  }
'Compared namespace DotNetPreAdapter.Infrastructure [[DotNetPreAdapter.Infrastructure-diagram-detailed-grouped-per-namespace.svg]] { with last element of   }
' Closing all previous_sub_namespace_list namespace None because file analysis is finished.
' Closing namespace Infrastructure
}
' Closing namespace DotNetPreAdapter
}
namespace DotNetPreAdapter [[DotNetPreAdapter-diagram-detailed-grouped-per-namespace.svg]] {
namespace DotNetPreAdapter.Service [[DotNetPreAdapter.Service-diagram-detailed-grouped-per-namespace.svg]] {
  abstract class DotNetPreAdapter.Service.AnalyzeAST [[DotNetPreAdapter.Service.AnalyzeAST-diagram-detailed-grouped-per-namespace.svg]]  {
    + SearchRecurseCSharpToYAML(<font color="6060BB">logger:DotNetPreAdapter.Utils.Logger</font>)
    - <font color="909090">SearchRecurseCSharpToYAML.datastructure: DotNetPreAdapter.Domain.Datastructure</font>
    - <font color="909090">SearchRecurseCSharpToYAML.recurseFileProcess: DotNetPreAdapter.Service.RecursiveFileProcessor</font>
    - <font color="909090">SearchRecurseCSharpToYAML.tree: SyntaxTree</font>
    - <font color="909090">SearchRecurseCSharpToYAML.root: CompilationUnitSyntax</font>
    - <font color="909090">SearchRecurseCSharpToYAML.model: SemanticModel</font>
    - <font color="909090">SearchRecurseCSharpToYAML.visitor: DotNetPreAdapter.Domain.ASTVisitor</font>
--
  }
'Compared namespace DotNetPreAdapter.Service [[DotNetPreAdapter.Service-diagram-detailed-grouped-per-namespace.svg]] { with last element of   }
' Closing all previous_sub_namespace_list namespace None because file analysis is finished.
' Closing namespace Service
}
' Closing namespace DotNetPreAdapter
}
namespace DotNetPreAdapter [[DotNetPreAdapter-diagram-detailed-grouped-per-namespace.svg]] {
namespace DotNetPreAdapter.Utils [[DotNetPreAdapter.Utils-diagram-detailed-grouped-per-namespace.svg]] {
  abstract class DotNetPreAdapter.Utils.Logger [[DotNetPreAdapter.Utils.Logger-diagram-detailed-grouped-per-namespace.svg]]  {
    + loggingType: DotNetPreAdapter.Utils.LoggingType
==
    - log(<font color="6060BB"></font>)
    + LogError(<font color="6060BB"></font>)
    + LogWarning(<font color="6060BB"></font>)
    + LogInfo(<font color="6060BB"></font>)
    + LogDebug(<font color="6060BB"></font>)
    + LogTrace(<font color="6060BB"></font>)
  }
'Compared namespace DotNetPreAdapter.Utils [[DotNetPreAdapter.Utils-diagram-detailed-grouped-per-namespace.svg]] { with last element of   }
' Closing all previous_sub_namespace_list namespace None because file analysis is finished.
' Closing namespace Utils
}
' Closing namespace DotNetPreAdapter
}
namespace MyNamespace [[MyNamespace-diagram-detailed-grouped-per-namespace.svg]] {
namespace MyNamespace.DotNetPreAdapter [[MyNamespace.DotNetPreAdapter-diagram-detailed-grouped-per-namespace.svg]] {
  abstract class MyNamespace.DotNetPreAdapter.UnusedASTVisitor [[MyNamespace.DotNetPreAdapter.UnusedASTVisitor-diagram-detailed-grouped-per-namespace.svg]]  {
    + logger: DotNetPreAdapter.Utils.Logger
    + unusedD: DotNetPreAdapter.Domain.Datastructure
==
  }
'Compared namespace MyNamespace.DotNetPreAdapter [[MyNamespace.DotNetPreAdapter-diagram-detailed-grouped-per-namespace.svg]] { with last element of   }
' Closing all previous_sub_namespace_list namespace None because file analysis is finished.
' Closing namespace DotNetPreAdapter
}
' Closing namespace MyNamespace
}
 ' *************************************** 
 ' *************************************** 
 ' *************************************** 
' Class relations extracted from namespace:
' DotNetPreAdapter.Domain
DotNetPreAdapter.Domain.Datastructure +-[#10BBBB]- DotNetPreAdapter.Domain.Datastructure_DOT_Method 
DotNetPreAdapter.Domain.Datastructure +-[#10BBBB]- DotNetPreAdapter.Domain.Datastructure_DOT_Static 
DotNetPreAdapter.Domain.Datastructure +-[#10BBBB]- DotNetPreAdapter.Domain.Datastructure_DOT_Variable 
DotNetPreAdapter.Domain.Datastructure +-[#10BBBB]- DotNetPreAdapter.Domain.Datastructure_DOT_SubDataStructure 
DotNetPreAdapter.Domain.Datastructure *-[#10BB10]- DotNetPreAdapter.Utils.Logger 
DotNetPreAdapter.Domain.Datastructure -[#909090]-> DotNetPreAdapter.Domain.Datastructure_DOT_Variable  : uses 
DotNetPreAdapter.Domain.Datastructure .[#6060BB].> DotNetPreAdapter.Domain.Datastructure_DOT_SubDataStructure  : uses 
DotNetPreAdapter.Domain.Datastructure -[#909090]-> DotNetPreAdapter.Domain.Datastructure_DOT_SubDataStructure  : uses 
DotNetPreAdapter.Domain.Datastructure_DOT_Method +-[#10BBBB]- DotNetPreAdapter.Domain.Datastructure_DOT_Method_DOT_ParameterType 
DotNetPreAdapter.Domain.Datastructure_DOT_Method +-[#10BBBB]- DotNetPreAdapter.Domain.Datastructure_DOT_Method_DOT_Variable 
DotNetPreAdapter.Domain.ASTVisitor *-[#10BB10]- DotNetPreAdapter.Domain.Datastructure 
DotNetPreAdapter.Domain.ASTVisitor *-[#10BB10]- DotNetPreAdapter.Utils.Logger 
DotNetPreAdapter.Domain.ASTVisitor -[#909090]-> DotNetPreAdapter.Domain.Datastructure_DOT_SubDataStructure  : uses 
DotNetPreAdapter.Domain.ASTVisitor -[#909090]-> DotNetPreAdapter.Domain.Datastructure_DOT_Method  : uses 
' Class relations extracted from namespace:
' DotNetPreAdapter.Infrastructure
DotNetPreAdapter.Infrastructure.CreateYml .[#6060BB].> DotNetPreAdapter.Domain.Datastructure  : uses 
DotNetPreAdapter.Infrastructure.CreateYml .[#6060BB].> DotNetPreAdapter.Utils.Logger  : uses 
DotNetPreAdapter.Infrastructure.CreateYml -[#909090]-> DotNetPreAdapter.Domain.Datastructure_DOT_SubDataStructure  : uses 
' Class relations extracted from namespace:
' DotNetPreAdapter.Service
DotNetPreAdapter.Service.AnalyzeAST .[#6060BB].> DotNetPreAdapter.Utils.Logger  : uses 
DotNetPreAdapter.Service.AnalyzeAST -[#909090]-> DotNetPreAdapter.Domain.Datastructure  : uses 
DotNetPreAdapter.Service.AnalyzeAST -[#909090]-> DotNetPreAdapter.Domain.ASTVisitor  : uses 
' Class relations extracted from namespace:
' DotNetPreAdapter.Utils
' Class relations extracted from namespace:
' MyNamespace.DotNetPreAdapter
MyNamespace.DotNetPreAdapter.UnusedASTVisitor *-[#10BB10]- DotNetPreAdapter.Utils.Logger 
MyNamespace.DotNetPreAdapter.UnusedASTVisitor *-[#10BB10]- DotNetPreAdapter.Domain.Datastructure 
@enduml