aboutsummaryrefslogtreecommitdiff
path: root/lib/AST/StmtSerialization.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2008-08-18 23:01:59 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2008-08-18 23:01:59 +0000
commit0835a3cdeefe714b4959d31127ea155e56393125 (patch)
treeb5ae4b640f3664473f10df485dab4015331c7df8 /lib/AST/StmtSerialization.cpp
parent4f3278fe397250b75ba5a0b5a6cf98309bd2ad2c (diff)
Add ExplicitCastExpr to replace the current CastExpr, and have ImplicitCastExpr and ExplicitCastExpr derive from a common base class (CastExpr):
Expr -> CastExpr -> ExplicitCastExpr -> ImplicitCastExpr git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54955 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/StmtSerialization.cpp')
-rw-r--r--lib/AST/StmtSerialization.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/AST/StmtSerialization.cpp b/lib/AST/StmtSerialization.cpp
index 99ca10d5be..9859846292 100644
--- a/lib/AST/StmtSerialization.cpp
+++ b/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) {