LoadInProgressQuery.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 17 Jun 2015 06:22:00 +0100
branchjv
changeset 18487 8735bd9eee2f
parent 17586 fe27af8a4011
child 21453 1598857f4864
child 23547 c69c97cec351
permissions -rw-r--r--
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.

"{ Encoding: utf8 }"

"{ Package: 'stx:libbasic' }"

"{ NameSpace: Smalltalk }"

Query subclass:#LoadInProgressQuery
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Kernel-Exceptions-Queries'
!

!LoadInProgressQuery class methodsFor:'documentation'!

documentation
"
    Abstract superclass of queries which are answered during package or 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 in browsers.
"
! !

!LoadInProgressQuery class methodsFor:'answering queries during load'!

answerNotifyLoadingDo:aBlock
    [
        Smalltalk changed:#preLoad.
        self answer:true do:aBlock
    ] ensure:[
        Smalltalk changed:#postLoad
    ].
! !

!LoadInProgressQuery methodsFor:'defaults'!

defaultResumeValue
    "the default answer, if no one handles the query"

    ^ false

    "
     self query
    "
! !

!LoadInProgressQuery class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libbasic/LoadInProgressQuery.st,v 1.3 2015-03-05 11:02:07 cg Exp $'
!

version_CVS
    ^ '$Header: /cvs/stx/stx/libbasic/LoadInProgressQuery.st,v 1.3 2015-03-05 11:02:07 cg Exp $'
! !