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
if (@class.IsRefType) if (@class.IsRefType)
{ {
PushIndent(); Class baseClass = null;
WriteLine("property {0} NativePtr;", nativeType);
PopIndent(); if (@class.HasBaseClass)
NewLine(); 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); GenerateClassConstructors(@class, nativeType);

Loading…
Cancel
Save