ClassLoadInProgressQuery.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 13 Jun 2018 14:39:23 +0000
branchjv
changeset 23108 77cd6e1625e1
parent 17348 828f0cfcb5cb
child 23868 f7295016cf59
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17348
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:libbasic' }"
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ NameSpace: Smalltalk }"
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
LoadInProgressQuery subclass:#ClassLoadInProgressQuery
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:'classNameBeingLoaded'
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	category:'Kernel-Exceptions-Queries'
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!ClassLoadInProgressQuery class methodsFor:'documentation'!
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
documentation
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
"
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    This query is answered during class loading,
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
    and allows for browsers to defer their updates.
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    E.g. to bundle redraws when multiple changes are to come
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
    for a class or package.
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
"
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
! !
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!ClassLoadInProgressQuery class methodsFor:'answering queries during load'!
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
answerNotifyLoading:what do:aBlock
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
    [
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
        Smalltalk changed:#preClassLoad with:what.
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
        self answer:true do:aBlock
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
    ] ensure:[
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
        Smalltalk changed:#postClassLoad with:what.
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
    ].
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
! !
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
!ClassLoadInProgressQuery class methodsFor:'documentation'!
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
version
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
    ^ '$Header: /cvs/stx/stx/libbasic/ClassLoadInProgressQuery.st,v 1.1 2015-02-01 13:19:23 cg Exp $'
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
!
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
version_CVS
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
    ^ '$Header: /cvs/stx/stx/libbasic/ClassLoadInProgressQuery.st,v 1.1 2015-02-01 13:19:23 cg Exp $'
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
! !
828f0cfcb5cb initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43