//===--- StmtSerialization.cpp - Serialization of Statements --------------===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file defines the type-specific methods for serializing statements// and expressions.////===----------------------------------------------------------------------===//#include"clang/AST/Expr.h"#include"clang/AST/ExprCXX.h"#include"clang/AST/ExprObjC.h"#include"llvm/Bitcode/Serialize.h"#include"llvm/Bitcode/Deserialize.h"usingnamespaceclang;usingllvm::Serializer;usingllvm::Deserializer;voidStmt::Emit(Serializer&S)const{S.FlushRecord();S.EmitInt(getStmtClass());EmitImpl(S);S.FlushRecord();}Stmt*Stmt::Create(Deserializer&D,ASTContext&C){StmtClassSC=static_cast<StmtClass>(D.ReadInt());switch(SC){default:assert(false&&