Use inlined FNV1a hash for String
...and do not use __symbolHash(). Although currently the VM also
uses FNV1a hash for Symbols, the __symbolHash() does not handle
properly character with codepoint 0 (because '\0' is used as a
string terminator). This causes problems with Unicode16/32Strigs whose
version of FNV1a hash is using object size from header to determine
string's end.
Added Symbol>>hash that actually *uses* the __symbolHash() to make
sure it's hash is the the same as used bu the VM. Symbols with zeroes
are rare and there's no Unicode16/32Symbol.
This commit fixes issue #65.
"{ Package: 'stx:libbasic' }"
"{ NameSpace: Smalltalk }"
LoadInProgressQuery subclass:#ClassLoadInProgressQuery
instanceVariableNames:'classNameBeingLoaded'
classVariableNames:''
poolDictionaries:''
category:'Kernel-Exceptions-Queries'
!
!ClassLoadInProgressQuery class methodsFor:'documentation'!
documentation
"
This query is answered during class loading,
and allows for browsers to defer their updates.
E.g. to bundle redraws when multiple changes are to come
for a class or package.
"
! !
!ClassLoadInProgressQuery class methodsFor:'answering queries during load'!
answerNotifyLoading:what do:aBlock
[
Smalltalk changed:#preClassLoad with:what.
self answer:true do:aBlock
] ensure:[
Smalltalk changed:#postClassLoad with:what.
].
! !
!ClassLoadInProgressQuery class methodsFor:'documentation'!
version
^ '$Header: /cvs/stx/stx/libbasic/ClassLoadInProgressQuery.st,v 1.1 2015-02-01 13:19:23 cg Exp $'
!
version_CVS
^ '$Header: /cvs/stx/stx/libbasic/ClassLoadInProgressQuery.st,v 1.1 2015-02-01 13:19:23 cg Exp $'
! !