1using Microsoft.CodeAnalysis;
6public readonly
struct NamespaceWriter(INamespaceSymbol symbol) :
ICodeWriter
8 private static string Stub;
10 static NamespaceWriter()
12 Stub = Embedded.Resource(
"BridgeStub.h").GetAwaiter().GetResult();
15 public IEnumerable<WorkspaceDiagnostic> WriteTo(CodeWriter w, CodeContext ctx)
17 if (!symbol.IsTarget())
20 if (symbol.IsGlobalNamespace)
26 w.WriteLine($
"namespace {symbol.Name} {{");
30 foreach (var ns
in symbol.GetNamespaceMembers())
31 foreach (var diag
in new NamespaceWriter(ns).WriteTo(w, ctx))
34 foreach (var t
in symbol.GetTypeMembers().Where(SymbolExtension.IsTarget))
35 foreach (var diag
in new TypeDeclWriter(t).WriteTo(w, ctx))
38 if (!symbol.IsGlobalNamespace)