public void Visit <T>(T entry) where T : StackEntry { // Contained nodes are part of their parents from a code generation perspective if (!entry.Contained) { _codeGeneratorFactory.GetCodeGenerator <T>().GenerateCode(entry, _context); } }
public void GenerateCode(CodeObject codeObject, ICodeGeneratorFactory factory) { var ns = (NamespaceDeclaration)codeObject; var writer = factory.Writer; writer.Indention().Write(CSharpKeyword.Namespace).Space().Write(ns.Name) .BlockStart().IncreaseIndention(); ns.Types.ForEach(t => factory.GetCodeGenerator(t).GenerateCode(t, factory)); writer.DecreaseIndention().BlockEnd(); }
public void GenerateCode(CodeObject codeObject, ICodeGeneratorFactory factory) { var compileUnit = (CompileUnit)codeObject; compileUnit.Namespaces?.ForEach(ns => factory.GetCodeGenerator(ns).GenerateCode(ns, factory)); }