diff --git a/src/CppParser/AST.cpp b/src/CppParser/AST.cpp index d90f3845..205b3251 100644 --- a/src/CppParser/AST.cpp +++ b/src/CppParser/AST.cpp @@ -68,6 +68,8 @@ InjectedClassNameType::InjectedClassNameType() : Type(TypeKind::InjectedClassNam DependentNameType::DependentNameType() : Type(TypeKind::DependentName) {} +PackExpansionType::PackExpansionType() : Type(TypeKind::PackExpansion) {} + BuiltinType::BuiltinType() : CppSharp::CppParser::AST::Type(TypeKind::Builtin) {} // RawComment diff --git a/src/CppParser/AST.h b/src/CppParser/AST.h index 6452ec8f..e3d931fb 100644 --- a/src/CppParser/AST.h +++ b/src/CppParser/AST.h @@ -28,6 +28,7 @@ enum struct TypeKind TemplateParameterSubstitution, InjectedClassName, DependentName, + PackExpansion, Builtin }; @@ -211,6 +212,11 @@ struct CS_API DependentNameType : public Type DECLARE_TYPE_KIND(DependentName) }; +struct CS_API PackExpansionType : public Type +{ + DECLARE_TYPE_KIND(PackExpansion) +}; + enum struct PrimitiveType { Null, diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index 6d4b5cad..32bc3ded 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -1635,8 +1635,8 @@ Type* Parser::WalkType(clang::QualType QualType, clang::TypeLoc* TL, } case clang::Type::PackExpansion: { - // Ignored. - return nullptr; + // TODO: stubbed + Ty = new PackExpansionType(); } default: {