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; } } }
public T4CSharpCodeStructureAspects([NotNull] T4CSharpCodeStructureDeclaredElement element, [NotNull] IDeclaration declaration) : base(declaration) { _element = element; }