Browse Source

Pass in an CSharpExpressionPrinter instance to CSharpTextTemplate

pull/168/head
Øystein Krog 12 years ago
parent
commit
df7c1371a6
  1. 4
      src/Generator/Generators/CSharp/CSharpGenerator.cs
  2. 5
      src/Generator/Generators/CSharp/CSharpTextTemplate.cs

4
src/Generator/Generators/CSharp/CSharpGenerator.cs

@ -7,10 +7,12 @@ namespace CppSharp.Generators.CSharp @@ -7,10 +7,12 @@ 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.TypeDatabase, driver.ASTContext);
expressionPrinter = new CSharpExpressionPrinter();
CppSharp.AST.Type.TypePrinterDelegate += type => type.Visit(typePrinter).Type;
}
@ -18,7 +20,7 @@ namespace CppSharp.Generators.CSharp @@ -18,7 +20,7 @@ namespace CppSharp.Generators.CSharp
{
var outputs = new List<Template>();
var template = new CSharpTextTemplate(Driver, unit, typePrinter);
var template = new CSharpTextTemplate(Driver, unit, typePrinter, expressionPrinter);
outputs.Add(template);
return outputs;

5
src/Generator/Generators/CSharp/CSharpTextTemplate.cs

@ -102,17 +102,18 @@ namespace CppSharp.Generators.CSharp @@ -102,17 +102,18 @@ namespace CppSharp.Generators.CSharp
public class CSharpTextTemplate : Template
{
public CSharpTypePrinter TypePrinter { get; private set; }
public CSharpExpressionPrinter ExpressionPrinter { get; private set; }
public override string FileExtension
{
get { return "cs"; }
}
public CSharpTextTemplate(Driver driver, TranslationUnit unit,
CSharpTypePrinter typePrinter)
public CSharpTextTemplate(Driver driver, TranslationUnit unit, CSharpTypePrinter typePrinter, CSharpExpressionPrinter expressionPrinter)
: base(driver, unit)
{
TypePrinter = typePrinter;
ExpressionPrinter = expressionPrinter;
}
#region Identifiers

Loading…
Cancel
Save