ProjectDefinition.st
changeset 10203 b210e7832fe1
parent 10200 0d96fe352bd5
child 10205 33fadd7b4fd1
equal deleted inserted replaced
10202:3db9cd5fc7d7 10203:b210e7832fe1
  3486 
  3486 
  3487     "Created: / 07-11-2006 / 11:43:31 / cg"
  3487     "Created: / 07-11-2006 / 11:43:31 / cg"
  3488 !
  3488 !
  3489 
  3489 
  3490 hasAllExtensionsLoaded
  3490 hasAllExtensionsLoaded
       
  3491     "answer true, if all extensions of this package have been loaded.
       
  3492      This is a query - so no side effects please"
       
  3493 
  3491     self extensionMethodNames pairWiseDo:[:className :selector |
  3494     self extensionMethodNames pairWiseDo:[:className :selector |
  3492         |cls|
  3495         |cls|
  3493 
  3496 
  3494         cls := Smalltalk classNamed:className.
  3497         cls := Smalltalk classNamed:className.
  3495         (cls isNil "or:[cls isLoaded not]") ifTrue:[
  3498         (cls isNil "or:[cls isLoaded not]") ifTrue:[
  3496             Transcript showCR:(self name,' missing extension class "',className,'".').
  3499             Transcript showCR:(self name,' missing extension class "',className,'".').
  3497             ^ false 
  3500             ^ false 
  3498         ].
  3501         ].
  3499         cls autoload.
  3502         "there is no possibility that we installed an extension method in an unloaded class"
  3500         (cls compiledMethodAt:selector) isNil ifTrue:[
  3503         (cls isLoaded not or:[(cls compiledMethodAt:selector) isNil]) ifTrue:[
  3501             Transcript showCR:(self name,' missing extension method "',className,'>>',selector,'".').
  3504             Transcript showCR:(self name,' missing extension method "',className,'>>',selector,'".').
  3502             ^ false 
  3505             ^ false 
  3503         ].
  3506         ].
  3504     ].
  3507     ].
  3505     ^ true.
  3508     ^ true.
  3619 ! !
  3622 ! !
  3620 
  3623 
  3621 !ProjectDefinition class methodsFor:'documentation'!
  3624 !ProjectDefinition class methodsFor:'documentation'!
  3622 
  3625 
  3623 version
  3626 version
  3624     ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.123 2006-11-27 17:46:45 stefan Exp $'
  3627     ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.124 2006-11-27 19:55:52 stefan Exp $'
  3625 ! !
  3628 ! !
  3626 
  3629 
  3627 ProjectDefinition initialize!
  3630 ProjectDefinition initialize!