Implemented serialization of AsmStmt (or rather what is currently implemented

in AsmStmt).

llvm-svn: 44077
This commit is contained in:
Ted Kremenek 2007-11-13 22:55:51 +00:00
parent d86dcfe8ca
commit 049059a7db
2 changed files with 18 additions and 0 deletions

View File

@ -41,6 +41,9 @@ Stmt* Stmt::Create(Deserializer& D) {
case ArraySubscriptExprClass:
return ArraySubscriptExpr::CreateImpl(D);
case AsmStmtClass:
return AsmStmt::CreateImpl(D);
case BinaryOperatorClass:
return BinaryOperator::CreateImpl(D);
@ -175,6 +178,18 @@ ArraySubscriptExpr* ArraySubscriptExpr::CreateImpl(Deserializer& D) {
return new ArraySubscriptExpr(LHS,RHS,t,L);
}
void AsmStmt::EmitImpl(Serializer& S) const {
S.Emit(AsmLoc);
S.Emit(RParenLoc);
}
AsmStmt* AsmStmt::CreateImpl(Deserializer& D) {
SourceLocation ALoc = SourceLocation::ReadVal(D);
SourceLocation PLoc = SourceLocation::ReadVal(D);
return new AsmStmt(ALoc,PLoc);
}
void BinaryOperator::EmitImpl(Serializer& S) const {
S.EmitInt(Opc);
S.Emit(OpLoc);;

View File

@ -718,6 +718,9 @@ public:
virtual child_iterator child_begin();
virtual child_iterator child_end();
virtual void EmitImpl(llvm::Serializer& S) const;
static AsmStmt* CreateImpl(llvm::Deserializer& D);
};
/// ObjcAtCatchStmt - This represents objective-c's @catch statement.