diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2008-12-20 23:29:59 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2008-12-20 23:29:59 +0000 |
| commit | a0befc0a6f064c3cff0d2c5386eabb763e991bf0 (patch) | |
| tree | 89a56c4c979ef49e15032a93bb98dc367f6d8113 /clang/lib/AST/Decl.cpp | |
| parent | 5ad3c91b273cf6fe57bf31a06eb31d6317d06aae (diff) | |
| download | bcm5719-llvm-a0befc0a6f064c3cff0d2c5386eabb763e991bf0.tar.gz bcm5719-llvm-a0befc0a6f064c3cff0d2c5386eabb763e991bf0.zip | |
Finish up saving original parameter type and
using it in ObjC's method parameter encoding.
llvm-svn: 61293
Diffstat (limited to 'clang/lib/AST/Decl.cpp')
| -rw-r--r-- | clang/lib/AST/Decl.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp index 021becc85a2..3edf8a02efb 100644 --- a/clang/lib/AST/Decl.cpp +++ b/clang/lib/AST/Decl.cpp @@ -54,7 +54,14 @@ ParmVarDecl *ParmVarDecl::Create(ASTContext &C, DeclContext *DC, QualType T, StorageClass S, Expr *DefArg, ScopedDecl *PrevDecl) { void *Mem = C.getAllocator().Allocate<ParmVarDecl>(); - return new (Mem) ParmVarDecl(DC, L, Id, T, S, DefArg, PrevDecl); + return new (Mem) ParmVarDecl(ParmVar, DC, L, Id, T, S, DefArg, PrevDecl); +} + +QualType ParmVarDecl::getOriginalType() const { + if (const ParmVarWithOriginalTypeDecl *PVD = + dyn_cast<ParmVarWithOriginalTypeDecl>(this)) + return PVD->OriginalType; + return getType(); } ParmVarWithOriginalTypeDecl *ParmVarWithOriginalTypeDecl::Create( |

