|
From: Markus B. <mba...@us...> - 2005-10-23 22:24:35
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/builder In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3491/src/org/rubypeople/rdt/internal/core/builder Modified Files: RdtCompiler.java MassIndexUpdater.java IndexUpdater.java Log Message: added indexing of method definitions Index: RdtCompiler.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/builder/RdtCompiler.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** RdtCompiler.java 13 Oct 2005 23:56:06 -0000 1.3 --- RdtCompiler.java 23 Oct 2005 22:24:27 -0000 1.4 *************** *** 46,49 **** --- 46,52 ---- } catch (SyntaxException e) { markerManager.createSyntaxError(file, e); + } catch (Exception ex) { + // resume also on other compiler errors like ClassCastException + RubyCore.log(ex) ; } finally { IoUtils.closeQuietly(reader); Index: IndexUpdater.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/builder/IndexUpdater.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** IndexUpdater.java 23 Oct 2005 19:41:35 -0000 1.6 --- IndexUpdater.java 23 Oct 2005 22:24:27 -0000 1.7 *************** *** 18,25 **** --- 18,27 ---- import org.jruby.ast.ClassNode; import org.jruby.ast.Colon2Node; + import org.jruby.ast.DefnNode; import org.jruby.ast.IScopingNode; import org.jruby.ast.Node; import org.jruby.ast.types.INameNode; import org.rubypeople.rdt.internal.core.symbols.ClassSymbol; + import org.rubypeople.rdt.internal.core.symbols.MethodSymbol; import org.rubypeople.rdt.internal.core.symbols.SymbolIndex; *************** *** 50,57 **** scopeStack.push(classNode.getCPath().getName()); ! if (node instanceof ClassNode) index.add(new ClassSymbol(name), file, classNode.getCPath().getPosition()); } ! for (Iterator iter = node.childNodes().iterator(); iter.hasNext();) { --- 52,66 ---- scopeStack.push(classNode.getCPath().getName()); ! if (node instanceof ClassNode) { index.add(new ClassSymbol(name), file, classNode.getCPath().getPosition()); + } } ! ! if (node instanceof DefnNode) { ! DefnNode defnNode = (DefnNode) node ; ! String qualifiedName = this.getContext() + ((DefnNode) node).getName() ; ! index.add(new MethodSymbol(qualifiedName), file, defnNode.getPosition()) ; ! } ! for (Iterator iter = node.childNodes().iterator(); iter.hasNext();) { Index: MassIndexUpdater.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/builder/MassIndexUpdater.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MassIndexUpdater.java 16 Oct 2005 23:53:03 -0000 1.2 --- MassIndexUpdater.java 23 Oct 2005 22:24:27 -0000 1.3 *************** *** 58,61 **** --- 58,64 ---- } catch (CoreException e) { RubyCore.log(e); + } catch (Exception ex) { + // e.g: the parser currently throws a ClassCastExcpetion when parsing xmldecl.rb + RubyCore.log(ex); } } |