From 2d55fb344323e6d827191eb48eee4fa61b8ef537 Mon Sep 17 00:00:00 2001 From: Ross Boucher Date: Sat, 9 May 2009 21:53:21 -0700 Subject: [PATCH] Cache CPNumber and CPData class objects --- Foundation/CPKeyedUnarchiver.j | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Foundation/CPKeyedUnarchiver.j b/Foundation/CPKeyedUnarchiver.j index d7c13930b..dd11af696 100644 --- a/Foundation/CPKeyedUnarchiver.j +++ b/Foundation/CPKeyedUnarchiver.j @@ -46,6 +46,8 @@ var _CPKeyedArchiverNullString = "$ var _CPKeyedUnarchiverArrayClass = Nil, _CPKeyedUnarchiverStringClass = Nil, _CPKeyedUnarchiverDictionaryClass = Nil, + _CPKeyedUnarchiverNumberClass = Nil, + _CPKeyedUnarchiverDataClass = Nil, _CPKeyedUnarchiverArchiverValueClass = Nil; /* @@ -117,6 +119,8 @@ var _CPKeyedUnarchiverArrayClass = Ni _CPKeyedUnarchiverArrayClass = [CPArray class]; _CPKeyedUnarchiverStringClass = [CPString class]; _CPKeyedUnarchiverDictionaryClass = [CPDictionary class]; + _CPKeyedUnarchiverNumberClass = [CPNumber class]; + _CPKeyedUnarchiverDataClass = [CPData class]; _CPKeyedUnarchiverArchiverValueClass = [_CPKeyedArchiverValue class]; } @@ -298,7 +302,7 @@ var _CPKeyedUnarchiverArrayClass = Ni if ([object isKindOfClass:_CPKeyedUnarchiverDictionaryClass]) return _CPKeyedUnarchiverDecodeObjectAtIndex(self, [object objectForKey:_CPKeyedArchiverUIDKey]); - else if ([object isKindOfClass:[CPNumber class]] || [object isKindOfClass:[CPData class]]) + else if ([object isKindOfClass:_CPKeyedUnarchiverNumberClass] || [object isKindOfClass:_CPKeyedUnarchiverDataClass]) return object; else if ([object isKindOfClass:_CPKeyedUnarchiverArrayClass])