using System.Collections.Generic; using CppSharp.AST; using CppSharp.Passes; namespace CppSharp.Generators.CSharp { public class CSharpGenerator : Generator { private readonly CSharpTypePrinter typePrinter; private readonly CSharpExpressionPrinter expressionPrinter; public CSharpGenerator(Driver driver) : base(driver) { typePrinter = new CSharpTypePrinter(driver); expressionPrinter = new CSharpExpressionPrinter(typePrinter); CppSharp.AST.Type.TypePrinterDelegate += type => type.Visit(typePrinter).Type; } public override List