diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2008-08-18 23:01:59 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2008-08-18 23:01:59 +0000 |
commit | 3bab3d21f92eca5c1caa83b2b4806d4bcffe5d3d (patch) | |
tree | 1f2d6ae968efc4a2a581d03beee00f8bedf4eaf8 /clang/lib/AST/StmtSerialization.cpp | |
parent | 3f4c68b78efe4c0b540e05d9346c5f415b2c368b (diff) | |
download | bcm5719-llvm-3bab3d21f92eca5c1caa83b2b4806d4bcffe5d3d.tar.gz bcm5719-llvm-3bab3d21f92eca5c1caa83b2b4806d4bcffe5d3d.zip |
Add ExplicitCastExpr to replace the current CastExpr, and have ImplicitCastExpr and ExplicitCastExpr derive from a common base class (CastExpr):
Expr
-> CastExpr
-> ExplicitCastExpr
-> ImplicitCastExpr
llvm-svn: 54955
Diffstat (limited to 'clang/lib/AST/StmtSerialization.cpp')
-rw-r--r-- | clang/lib/AST/StmtSerialization.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/clang/lib/AST/StmtSerialization.cpp b/clang/lib/AST/StmtSerialization.cpp index 99ca10d5be4..9859846292e 100644 --- a/clang/lib/AST/StmtSerialization.cpp +++ b/clang/lib/AST/StmtSerialization.cpp @@ -57,9 +57,6 @@ Stmt* Stmt::Create(Deserializer& D, ASTContext& C) { case CaseStmtClass: return CaseStmt::CreateImpl(D, C); - - case CastExprClass: - return CastExpr::CreateImpl(D, C); case CharacterLiteralClass: return CharacterLiteral::CreateImpl(D, C); @@ -108,6 +105,9 @@ Stmt* Stmt::Create(Deserializer& D, ASTContext& C) { case ImplicitCastExprClass: return ImplicitCastExpr::CreateImpl(D, C); + + case ExplicitCastExprClass: + return ExplicitCastExpr::CreateImpl(D, C); case IndirectGotoStmtClass: return IndirectGotoStmt::CreateImpl(D, C); @@ -358,17 +358,17 @@ CaseStmt* CaseStmt::CreateImpl(Deserializer& D, ASTContext& C) { return stmt; } -void CastExpr::EmitImpl(Serializer& S) const { +void ExplicitCastExpr::EmitImpl(Serializer& S) const { S.Emit(getType()); S.Emit(Loc); - S.EmitOwnedPtr(Op); + S.EmitOwnedPtr(getSubExpr()); } -CastExpr* CastExpr::CreateImpl(Deserializer& D, ASTContext& C) { +ExplicitCastExpr* ExplicitCastExpr::CreateImpl(Deserializer& D, ASTContext& C) { QualType t = QualType::ReadVal(D); SourceLocation Loc = SourceLocation::ReadVal(D); Expr* Op = D.ReadOwnedPtr<Expr>(C); - return new CastExpr(t,Op,Loc); + return new ExplicitCastExpr(t,Op,Loc); } @@ -631,7 +631,7 @@ ImaginaryLiteral* ImaginaryLiteral::CreateImpl(Deserializer& D, ASTContext& C) { void ImplicitCastExpr::EmitImpl(Serializer& S) const { S.Emit(getType()); - S.EmitOwnedPtr(Op); + S.EmitOwnedPtr(getSubExpr()); } ImplicitCastExpr* ImplicitCastExpr::CreateImpl(Deserializer& D, ASTContext& C) { |