Browse Source

Changed the matching of explicitly patched virtual functions to use qualified names.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/658/head
Dimitar Dobrev 9 years ago
parent
commit
c1ee47d755
  1. 2
      src/Generator/Generators/CSharp/CSharpTextTemplate.cs
  2. 4
      src/Generator/Options.cs

2
src/Generator/Generators/CSharp/CSharpTextTemplate.cs

@ -1580,7 +1580,7 @@ namespace CppSharp.Generators.CSharp
entry.Kind == VTableComponentKind.DeletingDtorPointer) && entry.Kind == VTableComponentKind.DeletingDtorPointer) &&
!entry.IsIgnored() && !entry.IsIgnored() &&
(!destructorOnly || entry.Method.IsDestructor || (!destructorOnly || entry.Method.IsDestructor ||
Driver.Options.ExplicitlyPatchedVirtualFunctions.Contains(entry.Method.OriginalName))) Driver.Options.ExplicitlyPatchedVirtualFunctions.Contains(entry.Method.QualifiedOriginalName)))
WriteLine("{0} = _Thunks[{1}];", managedVftableEntry, wrappedEntries.IndexOf(entry)); WriteLine("{0} = _Thunks[{1}];", managedVftableEntry, wrappedEntries.IndexOf(entry));
else else
WriteLine("{0} = {1};", managedVftableEntry, nativeVftableEntry); WriteLine("{0} = {1};", managedVftableEntry, nativeVftableEntry);

4
src/Generator/Options.cs

@ -41,7 +41,7 @@ namespace CppSharp
StripLibPrefix = true; StripLibPrefix = true;
ExplicitlyPatchedVirtualFunctions = new List<string>(); ExplicitlyPatchedVirtualFunctions = new HashSet<string>();
} }
// General options // General options
@ -209,7 +209,7 @@ namespace CppSharp
/// <summary> /// <summary>
/// C# end only: force patching of the virtual entries of the functions in this list. /// C# end only: force patching of the virtual entries of the functions in this list.
/// </summary> /// </summary>
public List<string> ExplicitlyPatchedVirtualFunctions { get; private set; } public HashSet<string> ExplicitlyPatchedVirtualFunctions { get; private set; }
} }
public class InvalidOptionException : Exception public class InvalidOptionException : Exception

Loading…
Cancel
Save