in Backend/Core/ForTea.Core/Services/CodeStructure/T4CSharpCodeStructureProvider.cs [125:167]
private static void ProcessCSharpDeclaration(
[NotNull] IDeclaration declaration,
[NotNull] CodeStructureElement parentElement,
[NotNull] CSharpCodeStructureProcessingState state
)
{
switch (declaration)
{
case IClassLikeDeclaration classLikeDeclaration:
{
var codeStructureClass = new T4CSharpCodeStructureDeclaredElement(parentElement, declaration, state);
if (classLikeDeclaration.Body != null)
ProcessCSharpChildren(classLikeDeclaration.Body, codeStructureClass, state);
return;
}
case ICSharpNamespaceDeclaration namespaceDeclaration:
{
var structureNamespace = new T4CSharpCodeStructureNamespace(parentElement, declaration, state);
if (namespaceDeclaration.Body != null)
ProcessCSharpChildren(namespaceDeclaration.Body, structureNamespace, state);
return;
}
case IAccessorDeclaration:
return;
case IEnumDeclaration enumDeclaration:
{
var codeStructureElement = new T4CSharpCodeStructureDeclaredElement(parentElement, declaration, state)
{ InitiallyExpanded = false };
ProcessCSharpChildren(enumDeclaration.EnumBody, codeStructureElement, state);
return;
}
default:
{
var codeStructureElement2 = new T4CSharpCodeStructureDeclaredElement(parentElement, declaration, state);
ProcessCSharpChildren(declaration, codeStructureElement2, state);
break;
}
}
}