* CppSpecWriter.cs: Fixed handling of return types in wrappers.

Removed [OutAttribute] from the header.
This commit is contained in:
the_fiddler 2010-12-05 15:33:09 +00:00
parent c43b148431
commit 84dcb6395f

View file

@ -207,7 +207,9 @@ namespace Bind
if (d != last_delegate)
{
last_delegate = d;
var parameters = d.Parameters.ToString().Replace(".", "::");
var parameters = d.Parameters.ToString()
.Replace(".", "::")
.Replace("[OutAttribute]", String.Empty);
sw.WriteLine("typedef {0} (*p{1}){2};", d.ReturnType, d.Name, parameters);
sw.WriteLine("static p{0} {0};", d.Name);
}
@ -271,7 +273,9 @@ namespace Bind
continue;
last_delegate = f.WrappedDelegate;
var parameters = f.WrappedDelegate.Parameters.ToString().Replace(".", "::");
var parameters = f.WrappedDelegate.Parameters.ToString()
.Replace(".", "::")
.Replace("[OutAttribute]", String.Empty);
sw.WriteLine("static inline {0} {1}{2}", f.WrappedDelegate.ReturnType,
f.TrimmedName, parameters);
sw.WriteLine("{");
@ -299,10 +303,10 @@ namespace Bind
static void WriteMethodBody(BindStreamWriter sw, Function f)
{
if (f.ReturnType != null)
sw.WriteLine("return Delegates::{0}{1}", f.WrappedDelegate.Name, f.CallString());
if (f.ReturnType != null && !f.ReturnType.ToString().ToLower().Contains("void"))
sw.WriteLine("return Delegates::{0}{1}", f.WrappedDelegate.Name, f.Parameters.CallString());
else
sw.WriteLine("Delegates::{0}{1}", f.WrappedDelegate.Name, f.CallString());
sw.WriteLine("Delegates::{0}{1}", f.WrappedDelegate.Name, f.Parameters.CallString());
}
static DocProcessor processor = new DocProcessor(Path.Combine(Settings.DocPath, Settings.DocFile));