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; } } }
private static void ProcessCSharpDeclaration([NotNull] IDeclaration declaration, [NotNull] CodeStructureElement parentElement, [NotNull] CSharpCodeStructureProcessingState state) { var classLikeDeclaration = declaration as IClassLikeDeclaration; if (classLikeDeclaration != null) { var codeStructureClass = new T4CSharpCodeStructureDeclaredElement(parentElement, declaration, state); if (classLikeDeclaration.Body != null) { ProcessCSharpChildren(classLikeDeclaration.Body, codeStructureClass, state); } return; } var namespaceDeclaration = declaration as ICSharpNamespaceDeclaration; if (namespaceDeclaration != null) { var structureNamespace = new T4CSharpCodeStructureNamespace(parentElement, declaration, state); if (namespaceDeclaration.Body != null) { ProcessCSharpChildren(namespaceDeclaration.Body, structureNamespace, state); } return; } if (declaration is IAccessorDeclaration) { return; } var codeStructureElement = new T4CSharpCodeStructureDeclaredElement(parentElement, declaration, state); var enumDeclaration = declaration as IEnumDeclaration; if (enumDeclaration != null) { codeStructureElement.InitiallyExpanded = false; ProcessCSharpChildren(enumDeclaration.EnumBody, codeStructureElement, state); return; } ProcessCSharpChildren(declaration, codeStructureElement, state); }