Browse Source

Pass the driver (options) to CLITypePrinter since we need it for declaration name printing.

pull/1/head
triton 12 years ago
parent
commit
48f401495a
  1. 2
      src/Generator/Generators/CLI/CLIGenerator.cs
  2. 2
      src/Generator/Generators/CLI/CLIMarshal.cs
  3. 2
      src/Generator/Generators/CLI/CLISourcesTemplate.cs
  4. 2
      src/Generator/Generators/CLI/CLITextTemplate.cs
  5. 11
      src/Generator/Generators/CLI/CLITypePrinter.cs

2
src/Generator/Generators/CLI/CLIGenerator.cs

@ -11,7 +11,7 @@ namespace Cxxi.Generators.CLI
public CLIGenerator(Driver driver) : base(driver) public CLIGenerator(Driver driver) : base(driver)
{ {
typePrinter = new CLITypePrinter(driver.TypeDatabase, driver.Library); typePrinter = new CLITypePrinter(driver);
Type.TypePrinter = typePrinter; Type.TypePrinter = typePrinter;
} }

2
src/Generator/Generators/CLI/CLIMarshal.cs

@ -234,7 +234,7 @@ namespace Cxxi.Generators.CLI
private string ToCLITypeName(Declaration decl) private string ToCLITypeName(Declaration decl)
{ {
var typePrinter = new CLITypePrinter(Driver.TypeDatabase, Driver.Library); var typePrinter = new CLITypePrinter(Driver);
return typePrinter.VisitDeclaration(decl); return typePrinter.VisitDeclaration(decl);
} }

2
src/Generator/Generators/CLI/CLISourcesTemplate.cs

@ -205,7 +205,7 @@ namespace Cxxi.Generators.CLI
private void GenerateEventRaise(Event @event, Class @class) private void GenerateEventRaise(Event @event, Class @class)
{ {
var typePrinter = new CLITypePrinter(Driver.TypeDatabase, Library); var typePrinter = new CLITypePrinter(Driver);
var @params = GetEventParameters(@event); var @params = GetEventParameters(@event);
var args = typePrinter.VisitParameters(@params, hasNames: true); var args = typePrinter.VisitParameters(@params, hasNames: true);

2
src/Generator/Generators/CLI/CLITextTemplate.cs

@ -34,7 +34,7 @@ namespace Cxxi.Generators.CLI
protected CLITextTemplate(Driver driver, TranslationUnit unit) protected CLITextTemplate(Driver driver, TranslationUnit unit)
: base(driver, unit) : base(driver, unit)
{ {
TypePrinter = new CLITypePrinter(driver.TypeDatabase, driver.Library); TypePrinter = new CLITypePrinter(driver);
Includes = new HashSet<Include>(); Includes = new HashSet<Include>();
} }

11
src/Generator/Generators/CLI/CLITypePrinter.cs

@ -7,12 +7,15 @@ namespace Cxxi.Generators.CLI
public class CLITypePrinter : ITypePrinter, IDeclVisitor<string> public class CLITypePrinter : ITypePrinter, IDeclVisitor<string>
{ {
public Library Library { get; set; } public Library Library { get; set; }
private readonly ITypeMapDatabase TypeMapDatabase;
public CLITypePrinter(ITypeMapDatabase database, Library library) readonly ITypeMapDatabase TypeMapDatabase;
readonly DriverOptions Options;
public CLITypePrinter(Driver driver)
{ {
TypeMapDatabase = database; TypeMapDatabase = driver.TypeDatabase;
Library = library; Library = driver.Library;
Options = driver.Options;
} }
public string VisitTagType(TagType tag, TypeQualifiers quals) public string VisitTagType(TagType tag, TypeQualifiers quals)

Loading…
Cancel
Save