|
|
|
@ -215,23 +215,7 @@ namespace Cxxi.Generators.CLI
@@ -215,23 +215,7 @@ namespace Cxxi.Generators.CLI
|
|
|
|
|
|
|
|
|
|
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(); |
|
|
|
|
} |
|
|
|
|
GenerateClassNativeField(@class, nativeType); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
GenerateClassConstructors(@class, nativeType); |
|
|
|
@ -253,6 +237,25 @@ namespace Cxxi.Generators.CLI
@@ -253,6 +237,25 @@ namespace Cxxi.Generators.CLI
|
|
|
|
|
WriteLine("};"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void GenerateClassNativeField(Class @class, string nativeType) |
|
|
|
|
{ |
|
|
|
|
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) |
|
|
|
|
{ |
|
|
|
|
WriteLineIndent("property {0} NativePtr;", nativeType); |
|
|
|
|
NewLine(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void GenerateClassGenericMethods(Class @class) |
|
|
|
|
{ |
|
|
|
|
var printer = TypePrinter as CLITypePrinter; |
|
|
|
|