fix: update BMap bindings

- send message in console if PyBMap fail to load native dynamic library. this is good for user experience.
- remove snippet from BMap bindings generator. We now insert generated code manually.
- fix C sharp code generation issue in BMap bidnings generator.
- add some content for BMapSharp.
This commit is contained in:
2024-09-21 16:50:53 +08:00
parent 8ef1c6e30a
commit 7c88b3614a
9 changed files with 1170 additions and 148 deletions

View File

@ -52,7 +52,7 @@ public class CSharpWriter {
ret.mCsType = "string";
break;
case 1:
ret.mMarshalAs = "UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(BMStringArrayMashaler)";
ret.mMarshalAs = "UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(BMStringArrayMarshaler)";
ret.mCsType = "string[]";
break;
}
@ -212,10 +212,6 @@ public class CSharpWriter {
IndentHelper helper = new IndentHelper(writer);
// write function decls
helper.puts("");
helper.puts("#region Function Defines");
helper.puts("");
for (ExpFctDecl fctdecl : data) {
// write annotation
// summary (just plain function name)
@ -253,7 +249,7 @@ public class CSharpWriter {
// push MarshalAsAttribute
sb.append("MarshalAs(");
sb.append(interop_type.mMarshalAs);
sb.append(") ");
sb.append(")] ");
// push out keyword if parameter is out parameter
if (!paramdecl.mIsInput) {
sb.append("out ");
@ -271,10 +267,6 @@ public class CSharpWriter {
cs_param_list.stream().collect(Collectors.joining(", ")));
}
helper.puts("");
helper.puts("#endregion");
helper.puts("");
writer.close();
}