Update of /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8307/src/org/python/pydev/editor/codecompletion
Modified Files:
PyCodeCompletion.java CompletionCache.java
Log Message:
Changes to PyParser. Now it tries to parse one more time if a
parser error occurs, substituting the error line for a pass, so that
we have more changes of getting the class and method definition tokens
on ModelUtils.
Index: PyCodeCompletion.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/PyCodeCompletion.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** PyCodeCompletion.java 22 Sep 2004 12:04:31 -0000 1.9
--- PyCodeCompletion.java 22 Sep 2004 16:32:41 -0000 1.10
***************
*** 175,188 ****
* @return
*/
! public String getDocToParse(IDocument doc, int documentOffset) {
String wholeDoc = doc.get();
String newDoc = "";
try {
- int lineOfOffset = doc.getLineOfOffset(documentOffset);
IRegion lineInformation = doc.getLineInformation(lineOfOffset);
int docLength = doc.getLength();
! String src = doc.get(lineInformation.getOffset(), documentOffset
! - lineInformation.getOffset());
String spaces = "";
--- 175,206 ----
* @return
*/
! public static String getDocToParse(IDocument doc, int documentOffset) {
! int lineOfOffset = -1;
! try {
! lineOfOffset = doc.getLineOfOffset(documentOffset);
! } catch (BadLocationException e) {
! e.printStackTrace();
! }
!
! if(lineOfOffset!=-1)
! return "\n"+getDocToParseFromLine(doc, lineOfOffset);
! else
! return "";
! }
!
! /**
! * @param doc
! * @param documentOffset
! * @param lineOfOffset
! * @return
! */
! public static String getDocToParseFromLine(IDocument doc, int lineOfOffset) {
String wholeDoc = doc.get();
String newDoc = "";
try {
IRegion lineInformation = doc.getLineInformation(lineOfOffset);
int docLength = doc.getLength();
! String src = doc.get(lineInformation.getOffset(), lineInformation.getLength());
String spaces = "";
***************
*** 195,199 ****
newDoc = wholeDoc.substring(0, lineInformation.getOffset());
! newDoc += spaces + "pass\n";
newDoc += wholeDoc.substring(lineInformation.getOffset()
+ lineInformation.getLength(), docLength);
--- 213,217 ----
newDoc = wholeDoc.substring(0, lineInformation.getOffset());
! newDoc += spaces + "pass";
newDoc += wholeDoc.substring(lineInformation.getOffset()
+ lineInformation.getLength(), docLength);
***************
*** 202,206 ****
e1.printStackTrace();
}
! return "\n"+newDoc;
}
--- 220,224 ----
e1.printStackTrace();
}
! return newDoc;
}
Index: CompletionCache.java
===================================================================
RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/CompletionCache.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** CompletionCache.java 22 Sep 2004 12:04:31 -0000 1.4
--- CompletionCache.java 22 Sep 2004 16:32:41 -0000 1.5
***************
*** 47,51 ****
partialDoc = importsTipperStr;
}else{
! partialDoc = codeCompletion.getDocToParse(doc, documentOffset);
partialDoc += activationToken;
}
--- 47,51 ----
partialDoc = importsTipperStr;
}else{
! partialDoc = PyCodeCompletion.getDocToParse(doc, documentOffset);
partialDoc += activationToken;
}
|