Browse Source

Added an option to generate partial classes in the C# backend.

pull/1/head
triton 12 years ago
parent
commit
4a6f3c7dfa
  1. 2
      src/Generator/Driver.cs
  2. 3
      src/Generator/Generators/CSharp/CSharpTextTemplate.cs

2
src/Generator/Driver.cs

@ -181,6 +181,7 @@ namespace Cxxi
GenerateLibraryNamespace = true; GenerateLibraryNamespace = true;
GenerateFunctionTemplates = false; GenerateFunctionTemplates = false;
WriteOnlyWhenChanged = false; WriteOnlyWhenChanged = false;
GeneratePartialClasses = true;
var platform = Environment.OSVersion.Platform; var platform = Environment.OSVersion.Platform;
Abi = (platform == PlatformID.Unix || platform == PlatformID.MacOSX) ? Abi = (platform == PlatformID.Unix || platform == PlatformID.MacOSX) ?
@ -196,6 +197,7 @@ namespace Cxxi
public bool OutputInteropIncludes = true; public bool OutputInteropIncludes = true;
public bool GenerateLibraryNamespace; public bool GenerateLibraryNamespace;
public bool GenerateFunctionTemplates; public bool GenerateFunctionTemplates;
public bool GeneratePartialClasses;
public string OutputNamespace; public string OutputNamespace;
public string OutputDir; public string OutputDir;
public string LibraryName; public string LibraryName;

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

@ -372,6 +372,9 @@ namespace Cxxi.Generators.CSharp
if (@class.IsAbstract) if (@class.IsAbstract)
Write("abstract "); Write("abstract ");
if (Options.GeneratePartialClasses)
Write("partial ");
Write(@class.IsValueType ? "struct " : "class "); Write(@class.IsValueType ? "struct " : "class ");
Write("{0}", SafeIdentifier(@class.Name)); Write("{0}", SafeIdentifier(@class.Name));

Loading…
Cancel
Save