diff options
Diffstat (limited to 'clang/lib/AST/StmtSerialization.cpp')
-rw-r--r-- | clang/lib/AST/StmtSerialization.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/lib/AST/StmtSerialization.cpp b/clang/lib/AST/StmtSerialization.cpp index 6ebaca1c8e5..9b6207be2b7 100644 --- a/clang/lib/AST/StmtSerialization.cpp +++ b/clang/lib/AST/StmtSerialization.cpp @@ -239,6 +239,9 @@ Stmt* Stmt::Create(Deserializer& D, ASTContext& C) { case CXXDeleteExprClass: return CXXDeleteExpr::CreateImpl(D, C); + + case CXXDependentNameExprClass: + return CXXDependentNameExpr::CreateImpl(D, C); } } @@ -1506,3 +1509,17 @@ CXXDeleteExpr::CreateImpl(Deserializer& D, ASTContext& C) { return new CXXDeleteExpr(Ty, GlobalDelete, ArrayForm, OperatorDelete, cast<Expr>(Argument), Loc); } + +void CXXDependentNameExpr::EmitImpl(llvm::Serializer& S) const { + S.Emit(getType()); + S.EmitPtr(Name); + S.Emit(Loc); +} + +CXXDependentNameExpr * +CXXDependentNameExpr::CreateImpl(llvm::Deserializer& D, ASTContext& C) { + QualType Ty = QualType::ReadVal(D); + IdentifierInfo *N = D.ReadPtr<IdentifierInfo>(); + SourceLocation L = SourceLocation::ReadVal(D); + return new CXXDependentNameExpr(N, Ty, L); +} |