|
|
@ -414,16 +414,12 @@ namespace CppSharp.Generators.CLI |
|
|
|
{ |
|
|
|
{ |
|
|
|
// Handle the case of struct (value-type) inheritance by adding the base
|
|
|
|
// Handle the case of struct (value-type) inheritance by adding the base
|
|
|
|
// properties to the managed value subtypes.
|
|
|
|
// properties to the managed value subtypes.
|
|
|
|
foreach (var @base in @class.Bases) |
|
|
|
if (@class.IsValueType) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (!@base.IsClass) |
|
|
|
foreach (var @base in @class.Bases.Where(b => b.IsClass && !b.Class.Ignore)) |
|
|
|
continue; |
|
|
|
{ |
|
|
|
|
|
|
|
GenerateClassFields(@base.Class); |
|
|
|
Class baseClass = @base.Class; |
|
|
|
} |
|
|
|
if (!baseClass.IsValueType || baseClass.Ignore) |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GenerateClassFields(baseClass); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
PushIndent(); |
|
|
|
PushIndent(); |
|
|
@ -450,7 +446,7 @@ namespace CppSharp.Generators.CLI |
|
|
|
field.Offset); |
|
|
|
field.Offset); |
|
|
|
WriteLine("{0} {1};", field.Type, field.Name); |
|
|
|
WriteLine("{0} {1};", field.Type, field.Name); |
|
|
|
|
|
|
|
|
|
|
|
PopBlock(NewLineKind.Never); |
|
|
|
PopBlock(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void GenerateClassEvents(Class @class) |
|
|
|
public void GenerateClassEvents(Class @class) |
|
|
@ -593,16 +589,12 @@ namespace CppSharp.Generators.CLI |
|
|
|
{ |
|
|
|
{ |
|
|
|
// Handle the case of struct (value-type) inheritance by adding the base
|
|
|
|
// Handle the case of struct (value-type) inheritance by adding the base
|
|
|
|
// properties to the managed value subtypes.
|
|
|
|
// properties to the managed value subtypes.
|
|
|
|
foreach (var @base in @class.Bases) |
|
|
|
if (@class.IsValueType) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (!@base.IsClass) |
|
|
|
foreach (var @base in @class.Bases.Where(b => b.IsClass && !b.Class.Ignore)) |
|
|
|
continue; |
|
|
|
{ |
|
|
|
|
|
|
|
GenerateClassProperties(@base.Class); |
|
|
|
Class baseClass = @base.Class; |
|
|
|
} |
|
|
|
if (!baseClass.IsValueType || baseClass.Ignore) |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GenerateClassProperties(baseClass); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
PushIndent(); |
|
|
|
PushIndent(); |
|
|
|