|
|
|
@ -417,13 +417,13 @@ namespace Cxxi.Generators.CLI
@@ -417,13 +417,13 @@ namespace Cxxi.Generators.CLI
|
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
if (MarshalRefClass()) return true; |
|
|
|
|
MarshalRefClass(@class); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private bool MarshalRefClass() |
|
|
|
|
private void MarshalRefClass(Class @class) |
|
|
|
|
{ |
|
|
|
|
if (!Context.Parameter.Type.IsPointer()) |
|
|
|
|
Return.Write("*"); |
|
|
|
@ -434,11 +434,10 @@ namespace Cxxi.Generators.CLI
@@ -434,11 +434,10 @@ namespace Cxxi.Generators.CLI
|
|
|
|
|
&& Context.ParameterIndex == 0) |
|
|
|
|
{ |
|
|
|
|
Return.Write("NativePtr"); |
|
|
|
|
return true; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Return.Write("{0}->NativePtr", Context.Parameter.Name); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void MarshalValueClass(Class @class) |
|
|
|
@ -450,9 +449,9 @@ namespace Cxxi.Generators.CLI
@@ -450,9 +449,9 @@ namespace Cxxi.Generators.CLI
|
|
|
|
|
argName, @class.OriginalName, |
|
|
|
|
Context.Parameter.Name); |
|
|
|
|
Return.Write("*{0}", argName); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
SupportAfter.PushIndent(); |
|
|
|
|
|
|
|
|
|
foreach (var field in @class.Fields) |
|
|
|
@ -476,7 +475,6 @@ namespace Cxxi.Generators.CLI
@@ -476,7 +475,6 @@ namespace Cxxi.Generators.CLI
|
|
|
|
|
if (Context.Parameter.Type.IsPointer()) |
|
|
|
|
ArgumentPrefix.Write("&"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public bool VisitFieldDecl(Field field) |
|
|
|
|
{ |
|
|
|
|