|
From: Markus B. <mba...@us...> - 2005-10-23 19:41:43
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/builder In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1991/src/org/rubypeople/rdt/internal/core/builder Modified Files: IndexUpdater.java Log Message: guard clause for processNode (node can be null), pushing name on scopeStack instead of qualified name (consider: module::class1::class2, if pushing the qualified name for class1 that results in module::module::class1::class2 as qualified class name for class2) Index: IndexUpdater.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/builder/IndexUpdater.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** IndexUpdater.java 16 Oct 2005 17:29:21 -0000 1.5 --- IndexUpdater.java 23 Oct 2005 19:41:35 -0000 1.6 *************** *** 40,52 **** private void processNode(IFile file, Node node) { if (isScopingNode(node)) { IScopingNode classNode = (IScopingNode) node; String name = getFullyQualifiedName(classNode); ! scopeStack.push(name); if (node instanceof ClassNode) index.add(new ClassSymbol(name), file, classNode.getCPath().getPosition()); } for (Iterator iter = node.childNodes().iterator(); iter.hasNext();) { Node childNode = (Node) iter.next(); --- 40,58 ---- private void processNode(IFile file, Node node) { + // sgml-parser, line 35: InstAsgnNode contains DStrNode which returns null as child-node + if (node == null) + { + return ; + } if (isScopingNode(node)) { IScopingNode classNode = (IScopingNode) node; String name = getFullyQualifiedName(classNode); ! 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();) { Node childNode = (Node) iter.next(); |