Browse Source

Fixed the C#-printing of template specilisations with bool.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/658/head
Dimitar Dobrev 9 years ago
parent
commit
a10f034c9b
  1. 2
      src/Generator/Generators/CSharp/CSharpTextTemplate.cs
  2. 2
      tests/CSharp/CSharp.Tests.cs
  3. 2
      tests/CSharp/CSharpTemplates.h

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

@ -85,6 +85,7 @@ namespace CppSharp.Generators.CSharp
// we don't want internals in the names of internals :) // we don't want internals in the names of internals :)
typePrinter.PushContext(CSharpTypePrinterContextKind.Managed); typePrinter.PushContext(CSharpTypePrinterContextKind.Managed);
typePrinter.PushMarshalKind(CSharpMarshalKind.Unknown);
var suffix = new StringBuilder(); var suffix = new StringBuilder();
foreach (var argType in from argType in specialization.Arguments foreach (var argType in from argType in specialization.Arguments
where argType.Type.Type != null where argType.Type.Type != null
@ -94,6 +95,7 @@ namespace CppSharp.Generators.CSharp
suffix.Append(argType); suffix.Append(argType);
} }
typePrinter.PopContext(); typePrinter.PopContext();
typePrinter.PopMarshalKind();
FormatTypesStringForIdentifier(suffix); FormatTypesStringForIdentifier(suffix);
return suffix.ToString(); return suffix.ToString();
} }

2
tests/CSharp/CSharp.Tests.cs

@ -510,7 +510,7 @@ public class CSharpTests : GeneratorTestFixture
foreach (var internalType in new[] foreach (var internalType in new[]
{ {
typeof(CSharp.IndependentFields.Internal), typeof(CSharp.IndependentFields.Internal),
typeof(CSharp.DependentValueFields.Internal_int), typeof(CSharp.DependentValueFields.Internal_bool),
typeof(CSharp.DependentValueFields.Internal_float), typeof(CSharp.DependentValueFields.Internal_float),
typeof(CSharp.DependentPointerFields.Internal), typeof(CSharp.DependentPointerFields.Internal),
typeof(CSharp.DependentValueFields.Internal_Ptr), typeof(CSharp.DependentValueFields.Internal_Ptr),

2
tests/CSharp/CSharpTemplates.h

@ -52,7 +52,7 @@ public:
TemplateSpecializer(); TemplateSpecializer();
private: private:
IndependentFields<int> independentFields; IndependentFields<int> independentFields;
DependentValueFields<int> dependentValueFields; DependentValueFields<bool> dependentValueFields;
DependentPointerFields<int> dependentPointerFields; DependentPointerFields<int> dependentPointerFields;
HasDefaultTemplateArgument<int> hasDefaultTemplateArgument; HasDefaultTemplateArgument<int> hasDefaultTemplateArgument;
DependentValueFields<T1> dependentPointerFieldsT1; DependentValueFields<T1> dependentPointerFieldsT1;

Loading…
Cancel
Save