mirror of
https://github.com/intel/llvm.git
synced 2026-02-03 19:18:13 +08:00
Implemented serialization of ObjCStringLiteral.
llvm-svn: 44568
This commit is contained in:
@@ -169,7 +169,10 @@ Stmt* Stmt::Create(Deserializer& D) {
|
||||
return ObjcAtTryStmt::CreateImpl(D);
|
||||
|
||||
case ObjCIvarRefExprClass:
|
||||
return ObjCIvarRefExpr::CreateImpl(D);
|
||||
return ObjCIvarRefExpr::CreateImpl(D);
|
||||
|
||||
case ObjCStringLiteralClass:
|
||||
return ObjCStringLiteral::CreateImpl(D);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -903,3 +906,16 @@ ObjCIvarRefExpr* ObjCIvarRefExpr::CreateImpl(Deserializer& D) {
|
||||
D.ReadPtr(dr->D,false);
|
||||
return dr;
|
||||
}
|
||||
|
||||
void ObjCStringLiteral::EmitImpl(Serializer& S) const {
|
||||
S.Emit(AtLoc);
|
||||
S.Emit(getType());
|
||||
S.EmitOwnedPtr(String);
|
||||
}
|
||||
|
||||
ObjCStringLiteral* ObjCStringLiteral::CreateImpl(Deserializer& D) {
|
||||
SourceLocation L = SourceLocation::ReadVal(D);
|
||||
QualType T = QualType::ReadVal(D);
|
||||
StringLiteral* String = cast<StringLiteral>(D.ReadOwnedPtr<Stmt>());
|
||||
return new ObjCStringLiteral(String,T,L);
|
||||
}
|
||||
|
||||
@@ -1183,6 +1183,9 @@ public:
|
||||
// Iterators
|
||||
virtual child_iterator child_begin();
|
||||
virtual child_iterator child_end();
|
||||
|
||||
virtual void EmitImpl(llvm::Serializer& S) const;
|
||||
static ObjCStringLiteral* CreateImpl(llvm::Deserializer& D);
|
||||
};
|
||||
|
||||
/// ObjCEncodeExpr, used for @encode in Objective-C.
|
||||
|
||||
Reference in New Issue
Block a user