summaryrefslogtreecommitdiffstats
path: root/src/Output.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-03-18 18:48:39 (GMT)
committerBrad King <brad.king@kitware.com>2014-03-24 15:37:20 (GMT)
commit5e0461f6741c5eed0ee1cf79e0517a3d9b93f3b2 (patch)
tree1baac13c882dd6c1da54bab0536abc4e040c2530 /src/Output.cxx
parent906edbb74f1a4687a759e354b3e52212a724d6ba (diff)
downloadCastXML-5e0461f6741c5eed0ee1cf79e0517a3d9b93f3b2.zip
CastXML-5e0461f6741c5eed0ee1cf79e0517a3d9b93f3b2.tar.gz
CastXML-5e0461f6741c5eed0ee1cf79e0517a3d9b93f3b2.tar.bz2
Output: Decay Function Argument types
Report the actual function argument type even if it decayed from the type originally specified.
Diffstat (limited to 'src/Output.cxx')
-rw-r--r--src/Output.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/Output.cxx b/src/Output.cxx
index e3a8ffb..0cee6ca 100644
--- a/src/Output.cxx
+++ b/src/Output.cxx
@@ -416,6 +416,12 @@ unsigned int ASTVisitor::AddDumpNode(DumpType dt, bool complete) {
// Replace some types with their decls.
if(!t.hasLocalQualifiers()) {
switch (t->getTypeClass()) {
+ case clang::Type::Adjusted:
+ return this->AddDumpNode(DumpType(
+ t->getAs<clang::AdjustedType>()->getAdjustedType(), c), complete);
+ case clang::Type::Decayed:
+ return this->AddDumpNode(DumpType(
+ t->getAs<clang::DecayedType>()->getDecayedType(), c), complete);
case clang::Type::Elaborated:
return this->AddDumpNode(DumpType(
t->getAs<clang::ElaboratedType>()->getNamedType(), c), complete);
@@ -1047,7 +1053,7 @@ void ASTVisitor::OutputFunctionArgument(clang::ParmVarDecl const* a,
if(!name.empty()) {
this->PrintNameAttribute(name);
}
- this->PrintTypeAttribute(a->getOriginalType(), complete);
+ this->PrintTypeAttribute(a->getType(), complete);
this->PrintLocationAttribute(a);
if(def) {
this->OS << " default=\"";