Skip to content

Commit aa2a711

Browse files
committed
Fix generation of C++ constructor for abstract classes.
1 parent 38a037e commit aa2a711

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/Generator/Generators/C/CppSources.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -369,12 +369,15 @@ public override bool VisitMethodDecl(Method method)
369369

370370
if (@class.IsRefType)
371371
{
372-
if (method.IsConstructor && !@class.IsAbstract)
372+
if (method.IsConstructor)
373373
{
374-
var @params = GenerateFunctionParamsMarshal(method.Parameters, method);
375-
Write($"{Helpers.InstanceIdentifier} = new ::{method.Namespace.QualifiedOriginalName}(");
376-
GenerateFunctionParams(@params);
377-
WriteLine(");");
374+
if (!@class.IsAbstract)
375+
{
376+
var @params = GenerateFunctionParamsMarshal(method.Parameters, method);
377+
Write($"{Helpers.InstanceIdentifier} = new ::{method.Namespace.QualifiedOriginalName}(");
378+
GenerateFunctionParams(@params);
379+
WriteLine(");");
380+
}
378381
}
379382
else
380383
{

0 commit comments

Comments
 (0)