Browse Source

Do not create a new native pointer property if the base class already provides one.

pull/1/head
triton 13 years ago
parent
commit
094fc9c594
  1. 21
      src/Generator/Generators/CLI/CLIHeadersTemplate.cs

21
src/Generator/Generators/CLI/CLIHeadersTemplate.cs

@ -198,10 +198,23 @@ namespace Cxxi.Generators.CLI @@ -198,10 +198,23 @@ namespace Cxxi.Generators.CLI
if (@class.IsRefType)
{
PushIndent();
WriteLine("property {0} NativePtr;", nativeType);
PopIndent();
NewLine();
Class baseClass = null;
if (@class.HasBaseClass)
baseClass = @class.Bases[0].Class;
var hasRefBase = baseClass != null && baseClass.IsRefType
&& !baseClass.Ignore;
var hasIgnoredBase = baseClass != null && baseClass.Ignore;
if (!@class.HasBase || !hasRefBase || hasIgnoredBase)
{
PushIndent();
WriteLine("property {0} NativePtr;", nativeType);
PopIndent();
NewLine();
}
}
GenerateClassConstructors(@class, nativeType);

Loading…
Cancel
Save