[Pydev-cvs] org.python.pydev/src/org/python/pydev/parser PyParser.java,1.4,1.5
Brought to you by:
fabioz
From: Aleksandar T. <at...@us...> - 2004-03-30 01:15:10
|
Update of /cvsroot/pydev/org.python.pydev/src/org/python/pydev/parser In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3679/src/org/python/pydev/parser Modified Files: PyParser.java Log Message: Started imoplementation of the PyDictionary Index: PyParser.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/parser/PyParser.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** PyParser.java 26 Mar 2004 22:51:12 -0000 1.4 --- PyParser.java 30 Mar 2004 01:03:38 -0000 1.5 *************** *** 42,51 **** IDocument document; PyEdit editorView; IDocumentListener documentListener; // listens to changes in the document ArrayList parserListeners; // listeners that get notified - SimpleNode root; // root of the last PythonGrammar analysis - static final boolean parseOnThread = true; // can turn of thread parsing for debugging ParsingThread parsingThread; // thread that reparses the document --- 42,50 ---- IDocument document; PyEdit editorView; + SimpleNode root = null; IDocumentListener documentListener; // listens to changes in the document ArrayList parserListeners; // listeners that get notified static final boolean parseOnThread = true; // can turn of thread parsing for debugging ParsingThread parsingThread; // thread that reparses the document *************** *** 53,60 **** public PyParser(PyEdit editorView) { this.editorView = editorView; - root = null; parserListeners = new ArrayList(); parsingThread = new ParsingThread(this); ! parsingThread.setName("Parsing thread"); } --- 52,58 ---- public PyParser(PyEdit editorView) { this.editorView = editorView; parserListeners = new ArrayList(); parsingThread = new ParsingThread(this); ! parsingThread.setName("Pydev parsing thread"); } *************** *** 65,68 **** --- 63,70 ---- parsingThread.diePlease(); } + + public SimpleNode getRoot() { + return root; + } public void setDocument(IDocument document) { *************** *** 100,109 **** reparseDocument(); } ! ! ! public SimpleNode getRoot() { ! return root; ! } ! /** stock listener implementation */ public void addParseListener(IParserListener listener) { --- 102,106 ---- reparseDocument(); } ! /** stock listener implementation */ public void addParseListener(IParserListener listener) { *************** *** 123,127 **** * event is fired whenever we get a new root */ ! protected void fireParserChanged() { if (parserListeners.size() > 0) { ArrayList list= new ArrayList(parserListeners); --- 120,125 ---- * event is fired whenever we get a new root */ ! protected void fireParserChanged(SimpleNode root) { ! this.root = root; if (parserListeners.size() > 0) { ArrayList list= new ArrayList(parserListeners); *************** *** 153,156 **** --- 151,155 ---- */ void reparseDocument() { + // create a stream with document's data StringReader inString = new StringReader(document.get()); ReaderCharStream in = new ReaderCharStream(inString); *************** *** 163,169 **** try { SimpleNode newRoot = grammar.file_input(); // parses the file - root = newRoot; original.deleteMarkers(IMarker.PROBLEM, false, 1); ! fireParserChanged(); } catch (ParseException parseErr) { fireParserError(parseErr); --- 162,167 ---- try { SimpleNode newRoot = grammar.file_input(); // parses the file original.deleteMarkers(IMarker.PROBLEM, false, 1); ! fireParserChanged(newRoot); } catch (ParseException parseErr) { fireParserError(parseErr); |