From 80de3c6a3082ffbbd23d724f0db6897c62c5385c Mon Sep 17 00:00:00 2001 From: CaS Date: Wed, 2 Oct 2002 13:29:54 +0000 Subject: [PATCH] Fix ordering of initialisation of constant string class. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14632 72102866-910b-0410-8b05-ffd578937521 --- Source/GSString.m | 3 ++- Source/NSString.m | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Source/GSString.m b/Source/GSString.m index e3200625a..85a2b0604 100644 --- a/Source/GSString.m +++ b/Source/GSString.m @@ -255,7 +255,7 @@ setup() GSCSubStringClass = [GSCSubString class]; GSUnicodeSubStringClass = [GSUnicodeSubString class]; GSMutableStringClass = [GSMutableString class]; - NSConstantStringClass = [NSString constantStringClass]; + NSConstantStringClass = [NXConstantString class]; /* * Cache some selectors and method implementations for @@ -3508,6 +3508,7 @@ transmute(ivars self, NSString *aString) if (self == [NXConstantString class]) { behavior_class_add_class(self, [GSCString class]); + NSConstantStringClass = self; } } diff --git a/Source/NSString.m b/Source/NSString.m index 8efa5c0a4..f51269551 100644 --- a/Source/NSString.m +++ b/Source/NSString.m @@ -376,7 +376,6 @@ handle_printf_atsign (FILE *stream, NSStringClass = self; [self setVersion: 1]; NSMutableStringClass = [NSMutableString class]; - NSConstantStringClass = [NXConstantString class]; NSDataClass = [NSData class]; GSPlaceholderStringClass = [GSPlaceholderString class]; GSStringClass = [GSString class]; @@ -462,8 +461,16 @@ handle_printf_atsign (FILE *stream, } } +/** + * Return the class used to dtore constant strings (those ascii strings + * placed in ythe source code using the @"this is a string" syntax. + */ + (Class) constantStringClass { + if (NSConstantStringClass == 0) + { + NSConstantStringClass = [NXConstantString class]; + } return NSConstantStringClass; }