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. 13
      src/Generator/Generators/CLI/CLIHeadersTemplate.cs

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

@ -197,12 +197,25 @@ namespace Cxxi.Generators.CLI @@ -197,12 +197,25 @@ namespace Cxxi.Generators.CLI
var nativeType = string.Format("::{0}*", @class.QualifiedOriginalName);
if (@class.IsRefType)
{
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