Browse Source

Fix a crash when a function pointer is a template arg

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/1204/head
Dimitar Dobrev 6 years ago
parent
commit
c75e9f6c5e
  1. 3
      src/Generator/Generators/CSharp/CSharpTypePrinter.cs
  2. 2
      tests/CSharp/CSharpTemplates.h

3
src/Generator/Generators/CSharp/CSharpTypePrinter.cs

@ -157,6 +157,9 @@ namespace CppSharp.Generators.CSharp @@ -157,6 +157,9 @@ namespace CppSharp.Generators.CSharp
return base.VisitBuiltinType(builtin, quals);
}
public override TypePrinterResult VisitFunctionType(FunctionType function, TypeQualifiers quals)
=> IntPtrType;
private bool allowStrings = true;
public override TypePrinterResult VisitPointerType(PointerType pointer,

2
tests/CSharp/CSharpTemplates.h

@ -715,7 +715,7 @@ void forceUseSpecializations(IndependentFields<int> _1, IndependentFields<bool> @@ -715,7 +715,7 @@ void forceUseSpecializations(IndependentFields<int> _1, IndependentFields<bool>
TemplateDerivedFromRegularDynamic<RegularDynamic> _14,
IndependentFields<OnlySpecialisedInTypeArg<double>> _15,
DependentPointerFields<float> _16, IndependentFields<const T1&> _17,
TemplateWithIndexer<T2*> _18, std::string s);
TemplateWithIndexer<T2*> _18, IndependentFields<int(*)(int)>, std::string s);
void hasIgnoredParam(DependentValueFields<IndependentFields<Ignored>> ii);

Loading…
Cancel
Save