# HG changeset patch # User Claus Gittinger # Date 1222082076 -7200 # Node ID cd6b675fc5fd810d499ea5776d13927451365555 # Parent 73a159c22bdfe95c7688fa59d9b768e1b3f71d80 autoload class owner if required diff -r 73a159c22bdf -r cd6b675fc5fd ChangesBrowser.st --- a/ChangesBrowser.st Mon Sep 22 12:42:06 2008 +0200 +++ b/ChangesBrowser.st Mon Sep 22 13:14:36 2008 +0200 @@ -3910,7 +3910,7 @@ "answer the class that is subject to the chamge at changeNr. The classes owning class may be autoloaded, if autoloadAsRequired is true." - |className cls isMeta nameSpaceForApply| + |className cls isMeta nameSpaceForApply path ownerName owner| className := self realClassNameOfChange:changeNr. className isNil ifTrue:[ @@ -3923,6 +3923,17 @@ isMeta := true. ]. + autoloadAsRequired value ifTrue:[ + path := className asCollectionOfSubstringsSeparatedByAll:'::'. + path size > 2 ifTrue:[ + "/ ensure that the owningClass is loaded - this will load the private classes as well + "/ Transcript showCR:'loading owner'. + ownerName := path first,'::',path second. + owner := Smalltalk classNamed:ownerName. + owner autoload. + ]. + ]. + nameSpaceForApply := self nameSpaceForApply. autoloadAsRequired value ifTrue:[ cls := nameSpaceForApply classNamed:className. @@ -5990,5 +6001,5 @@ !ChangesBrowser class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.378 2008-06-03 18:48:11 stefan Exp $' + ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.379 2008-09-22 11:14:36 cg Exp $' ! !