--- a/DoWhatIMeanSupport.st Wed Apr 22 16:59:35 2009 +0200
+++ b/DoWhatIMeanSupport.st Mon Apr 27 14:10:54 2009 +0200
@@ -909,7 +909,7 @@
!
lookupClassForMessage:node inClass:classProvidingNamespace
- |receiver nm nodeVal|
+ |receiver nm nodeVal receiverClass|
receiver := node receiver.
receiver isVariable ifTrue:[
@@ -935,6 +935,19 @@
receiver isLiteral ifTrue:[
^ receiver value class
].
+ receiver isMessage ifTrue:[
+ (receiver selector = 'new'
+ or:[ receiver selector = 'new:' ]) ifTrue:[
+ receiverClass := self lookupClassForMessage:receiver inClass:classProvidingNamespace.
+ receiverClass notNil ifTrue:[
+ receiverClass isBehavior ifTrue:[
+ receiverClass isMeta ifTrue:[
+ ^ receiverClass theNonMetaclass
+ ]
+ ]
+ ].
+ ].
+ ].
^ nil
!
@@ -1776,5 +1789,5 @@
!DoWhatIMeanSupport class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg2/DoWhatIMeanSupport.st,v 1.52 2009-04-22 14:59:35 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg2/DoWhatIMeanSupport.st,v 1.53 2009-04-27 12:10:54 cg Exp $'
! !