--- a/SmallSense__CodeNavigationService.st Fri Apr 08 10:32:21 2016 +0100
+++ b/SmallSense__CodeNavigationService.st Tue Apr 12 18:50:19 2016 +0100
@@ -235,7 +235,24 @@
binding := node binding .
binding isNil ifTrue:[ ^ nil ].
className := binding declaringClass compoundName asStringWith: $/.
- selector := binding selector , binding signature.
+ binding problemId == 0"NoError" ifTrue:[
+ selector := binding selector , binding signature.
+ ] ifFalse:[
+ "/ When a method is a problematic, the signature cannot be
+ "/ trusted as eother parameter type or arguments could not
+ "/ be resolved. In that case, try to search for the method
+ "/ by its name - thiw won't work well with overloaded
+ "/ methods
+ | name class method |
+
+ name := binding selector.
+ class := self environment allClasses detect:[:c | c isJavaClass and:[c binaryName = className ] ] ifNone: [ nil ].
+ class isNil ifTrue:[ ^ nil ].
+ method := class methodDictionary detect:[:m | m name = name ] ifNone:[ nil ].
+ method isNil ifTrue:[ ^ nil ].
+ selector := method selector.
+ ].
+
toolbox := JavaToolbox new
browser: self browser;
@@ -251,7 +268,7 @@
].
"Created: / 24-09-2013 / 23:10:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 25-09-2013 / 10:01:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 12-04-2016 / 17:37:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
navigateToTypeReference: node