ClassBuildWarning.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 17 Jun 2015 06:22:00 +0100
branchjv
changeset 18487 8735bd9eee2f
parent 16426 f8a36e7fd6b1
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.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16426
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:libbasic' }"
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
Warning subclass:#ClassBuildWarning
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'className'
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Kernel-Support'
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!ClassBuildWarning methodsFor:'accessing'!
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
className:aSymbol
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
    className := aSymbol.
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
! !
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
!ClassBuildWarning class methodsFor:'documentation'!
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
version
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
    ^ '$Header: /cvs/stx/stx/libbasic/ClassBuildWarning.st,v 1.1 2014-05-13 22:11:40 cg Exp $'
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
version_CVS
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
    ^ '$Header: /cvs/stx/stx/libbasic/ClassBuildWarning.st,v 1.1 2014-05-13 22:11:40 cg Exp $'
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
! !
f8a36e7fd6b1 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26