# HG changeset patch # User Claus Gittinger # Date 1197982229 -3600 # Node ID e0f4bf68e26aec58fb9c015c100d2fbe36139a13 # Parent 1cd4b22434a67c92e6f2539a938deb29ad30ce53 codeCompletion refactored diff -r 1cd4b22434a6 -r e0f4bf68e26a DoWhatIMeanSupport.st --- a/DoWhatIMeanSupport.st Tue Dec 18 12:08:55 2007 +0100 +++ b/DoWhatIMeanSupport.st Tue Dec 18 13:50:29 2007 +0100 @@ -589,6 +589,30 @@ "Modified: / 16-11-2006 / 14:15:59 / cg" ! +findNodeForInterval:interval in:source + |tree node| + + interval isEmpty ifTrue: [^ nil]. + RBParser isNil ifTrue: [^ nil]. + + tree := RBParser + parseMethod:source + onError: [:str :err ":nodesSoFar" | ^ nil]. + + tree isNil ifTrue:[^ nil]. + + node := tree whichNodeIsContainedBy:interval. + node isNil ifTrue: [ + node := tree bestNodeFor: interval + ]. + node isNil ifTrue: [ + node := DoWhatIMeanSupport findNodeIn:tree forInterval:interval + ]. + ^ node + + "Modified: / 16-11-2006 / 19:04:03 / cg" +! + findNodeForInterval:interval in:source allowErrors:allowErrors |tree node "errCount"| @@ -1457,5 +1481,5 @@ !DoWhatIMeanSupport class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libwidg2/DoWhatIMeanSupport.st,v 1.23 2007-12-18 11:08:55 cg Exp $' + ^ '$Header: /cvs/stx/stx/libwidg2/DoWhatIMeanSupport.st,v 1.24 2007-12-18 12:50:29 cg Exp $' ! !