Browse Source

Ignore functions returning tag types for now in JS generation.

pull/1932/head
tritao 2 months ago
parent
commit
0478498eba
  1. 2
      src/Generator/Options.cs
  2. 8
      src/Generator/Passes/CheckIgnoredDecls.cs

2
src/Generator/Options.cs

@ -205,6 +205,8 @@ namespace CppSharp
public bool IsCLIGenerator => GeneratorKind == GeneratorKind.CLI; public bool IsCLIGenerator => GeneratorKind == GeneratorKind.CLI;
public bool IsJSGenerator => GeneratorKind == GeneratorKind.Emscripten || GeneratorKind == GeneratorKind.QuickJS;
public readonly List<string> DependentNameSpaces = new List<string>(); public readonly List<string> DependentNameSpaces = new List<string>();
public bool MarshalCharAsManagedChar { get; set; } public bool MarshalCharAsManagedChar { get; set; }
public bool MarshalConstCharArrayAsString { get; set; } = true; public bool MarshalConstCharArrayAsString { get; set; } = true;

8
src/Generator/Passes/CheckIgnoredDecls.cs

@ -184,6 +184,14 @@ namespace CppSharp.Passes
return false; return false;
} }
if (Options.IsJSGenerator && function is Method { Kind: CXXMethodKind.Normal } && ret.Type.GetFinalPointee().IsClass())
{
function.ExplicitlyIgnore();
Diagnostics.Debug("Function '{0}' was ignored due to {1} return decl not yet implemented in JS generators",
function.Name, msg);
return false;
}
foreach (var param in function.Parameters) foreach (var param in function.Parameters)
{ {
if (HasInvalidDecl(param, out msg)) if (HasInvalidDecl(param, out msg))

Loading…
Cancel
Save