Lookup.st
branchjv
changeset 17762 6eb4414e6a31
parent 17761 b0e5971141bc
child 17792 0254c771237a
--- a/Lookup.st	Mon Apr 26 19:26:38 2010 +0100
+++ b/Lookup.st	Thu Apr 29 16:55:35 2010 +0100
@@ -34,6 +34,15 @@
 "
 ! !
 
+!Lookup class methodsFor:'initialization'!
+
+initialize
+
+    self lookupObject: Lookup builtin
+
+    "Created: / 26-04-2010 / 21:15:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !Lookup class methodsFor:'accessing'!
 
 builtin
@@ -45,6 +54,22 @@
 
 !Lookup methodsFor:'lookup'!
 
+lookupMethodForSelector: selector directedTo: searchClass
+
+     |cls md method|
+
+     cls := searchClass.
+     [ cls notNil ] whileTrue:[
+        md := cls methodDictionary.
+        method := md at:selector ifAbsent:nil.
+        method notNil ifTrue:[^ method ].
+        cls := cls superclass.
+     ].
+     ^ nil
+
+    "Created: / 27-04-2010 / 15:30:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 lookupMethodForSelector:aSelector directedTo:searchClass for:aReceiver withArguments:argArrayOrNil from:sendingContext
     "invoked by the VM to ask me for a method to call.
      The arguments are: the selector, receiver and arguments,
@@ -72,5 +97,7 @@
 !Lookup class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: Lookup.st 10517 2010-04-26 18:26:38Z vranyj1 $'
+    ^ '$Id: Lookup.st 10518 2010-04-29 15:55:35Z vranyj1 $'
 ! !
+
+Lookup initialize!