private static void ProcessCSharpDeclaration()

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;
        }
      }
    }