src/JavaLookup.st
branchjk_new_structure
changeset 1387 4c609318f0e5
parent 1385 3426388640da
child 1394 dc7d95a99161
equal deleted inserted replaced
1386:5a5fc5c71e48 1387:4c609318f0e5
   263     nameSizePlusOne := name size + 1.
   263     nameSizePlusOne := name size + 1.
   264     static := receiver isBehavior.
   264     static := receiver isBehavior.
   265     candidates := OrderedCollection new.
   265     candidates := OrderedCollection new.
   266     finder := [:cls|
   266     finder := [:cls|
   267         cls methodDictionary keysAndValuesDo:[:sel :mthd|
   267         cls methodDictionary keysAndValuesDo:[:sel :mthd|
   268             (mthd mclass ~~ ProxyMethod
   268             "candidates may contain a method with same selector ->
   269                 and:[((sel size >= nameSizePlusOne) and:[(sel at: nameSizePlusOne) == $( and:[(sel startsWith: name)]])
   269              do not add super-class's method"
   270                     and:[mthd descriptor numArgs == argArrayOrNil size]]) ifTrue:[
   270             (candidates contains:[:each|each selector == sel]) ifFalse:[
   271                         candidates add: mthd
   271                 (mthd mclass ~~ ProxyMethod
   272                     ]
   272                     and:[((sel size >= nameSizePlusOne) and:[(sel at: nameSizePlusOne) == $( and:[(sel startsWith: name)]])
       
   273                         and:[mthd descriptor numArgs == argArrayOrNil size]]) ifTrue:[
       
   274                             candidates add: mthd
       
   275                         ]
       
   276             ]
   273         ]
   277         ]
   274     ].
   278     ].
   275 
   279 
   276     cls := initialSearchClass theNonMetaclass.
   280     cls := initialSearchClass theNonMetaclass.
   277     static ifTrue:[
   281     static ifTrue:[
   297     "Created: / 21-02-2011 / 13:38:55 / kursjan <kursjan@fit.cvut.cz>"
   301     "Created: / 21-02-2011 / 13:38:55 / kursjan <kursjan@fit.cvut.cz>"
   298     "Modified: / 29-08-2011 / 20:38:21 / kursjan"
   302     "Modified: / 29-08-2011 / 20:38:21 / kursjan"
   299     "Modified: / 20-09-2011 / 00:03:48 / Jan Kurs <kursjan@fit.cvut.cz>"
   303     "Modified: / 20-09-2011 / 00:03:48 / Jan Kurs <kursjan@fit.cvut.cz>"
   300     "Modified (format): / 25-09-2011 / 21:08:45 / Jan Kurs <kursjan@fit.cvut.cz>"
   304     "Modified (format): / 25-09-2011 / 21:08:45 / Jan Kurs <kursjan@fit.cvut.cz>"
   301     "Created: / 19-11-2011 / 13:03:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   305     "Created: / 19-11-2011 / 13:03:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   302     "Modified: / 01-01-2012 / 17:41:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   303     "Modified: / 01-01-2012 / 19:58:59 / kursjan <kursjan@fit.cvut.cz>"
   306     "Modified: / 01-01-2012 / 19:58:59 / kursjan <kursjan@fit.cvut.cz>"
   304     "Modified (comment): / 02-01-2012 / 10:35:25 / kursjan <kursjan@fit.cvut.cz>"
   307     "Modified (comment): / 02-01-2012 / 10:35:25 / kursjan <kursjan@fit.cvut.cz>"
       
   308     "Modified: / 27-02-2012 / 19:43:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   305 ! !
   309 ! !
   306 
   310 
   307 !JavaLookup::Smalltalk2Java methodsFor:'lookup (old)'!
   311 !JavaLookup::Smalltalk2Java methodsFor:'lookup (old)'!
   308 
   312 
   309 old_lookupMethodForSelector:selector directedTo:initialSearchClass for:receiver withArguments:argArrayOrNil from:sendingContext ilc: ilc
   313 old_lookupMethodForSelector:selector directedTo:initialSearchClass for:receiver withArguments:argArrayOrNil from:sendingContext ilc: ilc