From 464dc3798406af32eea637503cd88fccce2a0a7e Mon Sep 17 00:00:00 2001 From: triton Date: Thu, 20 Jun 2013 18:32:27 +0100 Subject: [PATCH] Improved support for dependent arrays. --- src/Generator/Types/CppTypePrinter.cs | 1 + src/Parser/Parser.cpp | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/Generator/Types/CppTypePrinter.cs b/src/Generator/Types/CppTypePrinter.cs index f599cc9f..30ec7deb 100644 --- a/src/Generator/Types/CppTypePrinter.cs +++ b/src/Generator/Types/CppTypePrinter.cs @@ -23,6 +23,7 @@ namespace CppSharp.Types case ArrayType.ArraySize.Constant: return string.Format("{0}[{1}]", typeName, array.Size); case ArrayType.ArraySize.Variable: + case ArrayType.ArraySize.Dependent: return string.Format("{0}[]", typeName); } diff --git a/src/Parser/Parser.cpp b/src/Parser/Parser.cpp index 66fa5aa5..defda9e7 100644 --- a/src/Parser/Parser.cpp +++ b/src/Parser/Parser.cpp @@ -945,8 +945,14 @@ CppSharp::Type^ Parser::WalkType(clang::QualType QualType, clang::TypeLoc* TL, } case Type::DependentSizedArray: { + auto AT = AST->getAsDependentSizedArrayType(QualType); + auto A = gcnew CppSharp::ArrayType(); + auto Next = TL->getNextTypeLoc(); + A->Type = WalkType(AT->getElementType(), &Next); A->SizeType = CppSharp::ArrayType::ArraySize::Dependent; + //A->Size = AT->getSizeExpr(); + return A; } case Type::FunctionProto: