|
From: Markus B. <mba...@us...> - 2005-09-06 21:41:03
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.core.tests/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19213/src Modified Files: RubyParserCmd.java Log Message: Added RubyScriptStructureBuilder Index: RubyParserCmd.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core.tests/src/RubyParserCmd.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RubyParserCmd.java 3 Sep 2005 19:04:58 -0000 1.1 --- RubyParserCmd.java 6 Sep 2005 21:40:56 -0000 1.2 *************** *** 6,13 **** --- 6,22 ---- import java.util.ArrayList; import java.util.Arrays; + import java.util.Hashtable; import java.util.Iterator; import java.util.List; + import java.util.Map; + import org.jruby.ast.Node; import org.jruby.lexer.yacc.SyntaxException; + import org.rubypeople.rdt.internal.core.DefaultWorkingCopyOwner; + import org.rubypeople.rdt.internal.core.RubyProject; + import org.rubypeople.rdt.internal.core.RubyScript; + import org.rubypeople.rdt.internal.core.RubyScriptElementInfo; + import org.rubypeople.rdt.internal.core.RubyScriptStructureBuilder; + import org.rubypeople.rdt.internal.core.parser.RdtWarnings; import org.rubypeople.rdt.internal.core.parser.RubyParser; *************** *** 20,23 **** --- 29,33 ---- private List syntaxErrorFiles = new ArrayList(); private int repeat = 1; + private Map elements = new Hashtable() ; public RubyParserCmd(List args) { *************** *** 58,62 **** } ! public void run() { parseTree(root); if (verbose) { --- 68,73 ---- } ! public void run() throws FileNotFoundException { ! parseTree(root); if (verbose) { *************** *** 68,99 **** System.err.println(syntaxErrorFiles.size() + " Errors; " + okFiles.size()+" OK"); - } - - private void parseTree(File file) { - if (!file.isDirectory()) { - if (file.getName().endsWith(".rb")) - for (int i=0; i<repeat; i++) - parseOneFile(file.getAbsolutePath()); - } else { - File[] files = file.listFiles(); - for (int i=0; i<files.length; i++) { - parseTree(files[i]); - } - } } private void parseOneFile(String file) { ! RubyParser parser = new RubyParser(); try { ! parser.parse(file, new FileReader(file)); ! okFiles.add(file); } catch (SyntaxException e) { syntaxErrorFiles.add(file); } catch (Exception e) { ! System.out.println(e.getMessage()); } } public static void main(String[] args) throws FileNotFoundException { new RubyParserCmd(Arrays.asList(args)).run(); --- 79,130 ---- System.err.println(syntaxErrorFiles.size() + " Errors; " + okFiles.size()+" OK"); + System.err.println("NewElements: " + elements.size()) ; } + + private void parseTree(File file) throws FileNotFoundException { + + if (!file.isDirectory()) { + if (file.getName().endsWith(".rb")) + for (int i = 0; i < repeat; i++) { + parseOneFile(file.getAbsolutePath()); + } + } else { + File[] files = file.listFiles(); + for (int i = 0; i < files.length; i++) { + parseTree(files[i]); + } + } + + } private void parseOneFile(String file) { ! RubyParser parser = new RubyParser(new RdtWarnings()); try { ! Node node = parser.parse(file, new FileReader(file)); ! RubyScriptElementInfo unitInfo = new RubyScriptElementInfo() ; ! RubyScript script = new RubyScript(new RubyProject(), null, file, DefaultWorkingCopyOwner.PRIMARY ) ; ! RubyScriptStructureBuilder visitor = new RubyScriptStructureBuilder(script, unitInfo, elements); ! if (node != null) { ! node.accept(visitor); ! } ! else { ! System.out.println("Node is null for : " + file) ; ! syntaxErrorFiles.add(file); ! return ; ! } } catch (SyntaxException e) { syntaxErrorFiles.add(file); + return ; } catch (Exception e) { ! System.out.println(e.getClass().getName() + "->" + e.getMessage()); ! syntaxErrorFiles.add(file); ! return ; } + okFiles.add(file); } + + public static void main(String[] args) throws FileNotFoundException { new RubyParserCmd(Arrays.asList(args)).run(); |