diff --git a/src/Generator/Generators/CLI/CLIHeadersTemplate.cs b/src/Generator/Generators/CLI/CLIHeadersTemplate.cs index 65501373..622feeb1 100644 --- a/src/Generator/Generators/CLI/CLIHeadersTemplate.cs +++ b/src/Generator/Generators/CLI/CLIHeadersTemplate.cs @@ -511,7 +511,7 @@ namespace CppSharp.Generators.CLI GenerateDeclarationCommon(method); - if (method.IsOverride) + if (method.IsVirtual || method.IsOverride) Write("virtual "); if (method.IsStatic) diff --git a/src/Parser/Parser.cpp b/src/Parser/Parser.cpp index 8c78d23e..2bfac808 100644 --- a/src/Parser/Parser.cpp +++ b/src/Parser/Parser.cpp @@ -790,6 +790,7 @@ CppSharp::AST::Method^ Parser::WalkMethodCXX(clang::CXXMethodDecl* MD) Method->OperatorKind = GetOperatorKindFromDecl(Name); Method->IsStatic = MD->isStatic(); Method->IsVirtual = MD->isVirtual(); + Method->IsOverride = MD->size_overridden_methods() > 0; WalkFunction(MD, Method);