protected void processAST() { AntlrASTProcessor snippets = new AntlrASTProcessSnippets(); ast = snippets.process(ast); }
private static void groovifyFatJavaLikeGroovyAST(AST ast, String[] groovyTokenNames) { Visitor groovifier = new Groovifier(groovyTokenNames); AntlrASTProcessor groovifierTraverser = new PreOrderTraversal(groovifier); groovifierTraverser.process(ast); }
private static void modifyJavaASTintoGroovyAST(String[] tokenNames, AST ast) { // mutate the tree when in Javaland Visitor preJava2groovyConverter = new PreJava2GroovyConverter(tokenNames); AntlrASTProcessor preJava2groovyTraverser = new PreOrderTraversal(preJava2groovyConverter); preJava2groovyTraverser.process(ast); // map the nodes to Groovy types Visitor java2groovyConverter = new Java2GroovyConverter(tokenNames); AntlrASTProcessor java2groovyTraverser = new PreOrderTraversal(java2groovyConverter); java2groovyTraverser.process(ast); }
public AST process(AST t) { GroovySourceAST node = (GroovySourceAST) t; // fetch all the nodes in this AST into a List NodeCollector collector = new NodeCollector(); AntlrASTProcessor internalTraversal = new PreOrderTraversal(collector); internalTraversal.process(t); List listOfAllNodesInThisAST = collector.getNodes(); // process each node in turn setUp(node); Iterator itr = listOfAllNodesInThisAST.iterator(); while (itr.hasNext()) { GroovySourceAST currentNode = (GroovySourceAST) itr.next(); accept(currentNode); } tearDown(node); return null; }
Visitor visitor = new MindMapPrinter(out, tokenNames); AntlrASTProcessor treewalker = new PreOrderTraversal(visitor); treewalker.process(ast); } catch (FileNotFoundException e) { System.out.println("Cannot create " + filename + ".mm"); AntlrASTProcessor traverser = new SourceCodeTraversal(visitor); traverser.process(ast);
public static String nodePrinter(String input) throws Exception { JavaRecognizer parser = getJavaParser(input); String[] tokenNames = parser.getTokenNames(); parser.compilationUnit(); AST ast = parser.getAST(); // modify the Java AST into a Groovy AST modifyJavaASTintoGroovyAST(tokenNames, ast); String[] groovyTokenNames = getGroovyTokenNames(input); // groovify the fat Java-Like Groovy AST groovifyFatJavaLikeGroovyAST(ast, groovyTokenNames); // now output ByteArrayOutputStream baos = new ByteArrayOutputStream(); Visitor visitor = new NodePrinter(new PrintStream(baos), groovyTokenNames); AntlrASTProcessor traverser = new SourceCodeTraversal(visitor); traverser.process(ast); return new String(baos.toByteArray()); }
public static String mindmap(String input) throws Exception { JavaRecognizer parser = getJavaParser(input); String[] tokenNames = parser.getTokenNames(); parser.compilationUnit(); AST ast = parser.getAST(); // modify the Java AST into a Groovy AST modifyJavaASTintoGroovyAST(tokenNames, ast); String[] groovyTokenNames = getGroovyTokenNames(input); // groovify the fat Java-Like Groovy AST groovifyFatJavaLikeGroovyAST(ast, groovyTokenNames); // now output ByteArrayOutputStream baos = new ByteArrayOutputStream(); Visitor visitor = new MindMapPrinter(new PrintStream(baos), groovyTokenNames); AntlrASTProcessor traverser = new SourceCodeTraversal(visitor); traverser.process(ast); return new String(baos.toByteArray()); }
Visitor visitor = new SourcePrinter(out, tokenNames); AntlrASTProcessor treewalker = new SourceCodeTraversal(visitor); treewalker.process(ast); } catch (FileNotFoundException e) { System.out.println("Cannot create " + sourceUnit.getName() + ".pretty.groovy"); Visitor visitor = new MindMapPrinter(out, tokenNames); AntlrASTProcessor treewalker = new PreOrderTraversal(visitor); treewalker.process(ast); } catch (FileNotFoundException e) { System.out.println("Cannot create " + sourceUnit.getName() + ".mm"); Visitor visitor = new MindMapPrinter(out, tokenNames, sourceBuffer); AntlrASTProcessor treewalker = new PreOrderTraversal(visitor); treewalker.process(ast); } catch (FileNotFoundException e) { System.out.println("Cannot create " + sourceUnit.getName() + ".mm"); Visitor visitors = new CompositeVisitor(v); AntlrASTProcessor treewalker = new SourceCodeTraversal(visitors); treewalker.process(ast); } catch (FileNotFoundException e) { System.out.println("Cannot create " + sourceUnit.getName() + ".html");
private Map<String, GroovyClassDoc> parseJava(String packagePath, String file, String src) throws RecognitionException, TokenStreamException { SourceBuffer sourceBuffer = new SourceBuffer(); JavaRecognizer parser = getJavaParser(src, sourceBuffer); String[] tokenNames = parser.getTokenNames(); try { parser.compilationUnit(); } catch (OutOfMemoryError e) { log.error("Out of memory while processing: " + packagePath + "/" + file); throw e; } AST ast = parser.getAST(); // modify the Java AST into a Groovy AST (just token types) Visitor java2groovyConverter = new Java2GroovyConverter(tokenNames); AntlrASTProcessor java2groovyTraverser = new PreOrderTraversal(java2groovyConverter); java2groovyTraverser.process(ast); // now mutate (groovify) the ast into groovy Visitor groovifier = new Groovifier(tokenNames, false); AntlrASTProcessor groovifierTraverser = new PreOrderTraversal(groovifier); groovifierTraverser.process(ast); // now do the business Visitor visitor = new SimpleGroovyClassDocAssembler(packagePath, file, sourceBuffer, links, properties, false); AntlrASTProcessor traverser = new SourceCodeTraversal(visitor); traverser.process(ast); return ((SimpleGroovyClassDocAssembler) visitor).getGroovyClassDocs(); }
Visitor visitor = (Visitor) constructor.newInstance(params); AntlrASTProcessor traverser = new SourceCodeTraversal(visitor); traverser.process(ast); return new String(baos.toByteArray());
private void assertCompositeTransparency(String input) throws Exception { ByteArrayOutputStream baos = new ByteArrayOutputStream(); GroovyRecognizer parser; SourceBuffer sourceBuffer = new SourceBuffer(); UnicodeEscapingReader unicodeReader = new UnicodeEscapingReader(new StringReader(input), sourceBuffer); GroovyLexer lexer = new GroovyLexer(unicodeReader); unicodeReader.setLexer(lexer); parser = GroovyRecognizer.make(lexer); parser.setSourceBuffer(sourceBuffer); String[] tokenNames = parser.getTokenNames(); parser.compilationUnit(); AST ast = parser.getAST(); // determine direct result Visitor directVisitor = new SourcePrinter(new PrintStream(baos), tokenNames, false); AntlrASTProcessor traverser = new SourceCodeTraversal(directVisitor); traverser.process(ast); String directResult = new String(baos.toByteArray()); // determine composite result baos.reset(); List wrappedVisitors = new ArrayList(); wrappedVisitors.add(directVisitor); Visitor compositeVisitor = new CompositeVisitor(wrappedVisitors); traverser = new SourceCodeTraversal(compositeVisitor); traverser.process(ast); String compositeResult = new String(baos.toByteArray()); assertEquals(directResult, compositeResult); }
private Map<String, GroovyClassDoc> parseGroovy(String packagePath, String file, String src) throws RecognitionException, TokenStreamException { SourceBuffer sourceBuffer = new SourceBuffer(); GroovyRecognizer parser = getGroovyParser(src, sourceBuffer); try { parser.compilationUnit(); } catch (OutOfMemoryError e) { log.error("Out of memory while processing: " + packagePath + "/" + file); throw e; } AST ast = parser.getAST(); // now do the business Visitor visitor = new SimpleGroovyClassDocAssembler(packagePath, file, sourceBuffer, links, properties, true); AntlrASTProcessor traverser = new SourceCodeTraversal(visitor); traverser.process(ast); return ((SimpleGroovyClassDocAssembler) visitor).getGroovyClassDocs(); }
public void doStuff(String input) throws Exception { GroovyRecognizer parser; SourceBuffer sourceBuffer = new SourceBuffer(); UnicodeEscapingReader unicodeReader = new UnicodeEscapingReader(new StringReader(input), sourceBuffer); GroovyLexer lexer = new GroovyLexer(unicodeReader); unicodeReader.setLexer(lexer); parser = GroovyRecognizer.make(lexer); parser.setSourceBuffer(sourceBuffer); String[] tokenNames = parser.getTokenNames(); parser.compilationUnit(); AST ast = parser.getAST(); AntlrASTProcessor snippets = new AntlrASTProcessSnippets(); ast = snippets.process(ast); Visitor visitor = new LineColumnChecker(sourceBuffer, tokenNames); AntlrASTProcessor traverser = new SourceCodeTraversal(visitor); traverser.process(ast); } }
protected void processAST() { AntlrASTProcessor snippets = new AntlrASTProcessSnippets(); ast = snippets.process(ast); }
protected void processAST() { AntlrASTProcessor snippets = new AntlrASTProcessSnippets(); ast = snippets.process(ast); }
protected void processAST() { AntlrASTProcessor snippets = new AntlrASTProcessSnippets(); ast = snippets.process(ast); }
protected void processAST() { AntlrASTProcessor snippets = new AntlrASTProcessSnippets(); ast = snippets.process(ast); }
/** * @param ast * @param groovyTokenNames */ private static void groovifyFatJavaLikeGroovyAST(AST ast, String[] groovyTokenNames) { Visitor groovifier = new Groovifier(groovyTokenNames); AntlrASTProcessor groovifierTraverser = new PreOrderTraversal(groovifier); groovifierTraverser.process(ast); }
/** * @param ast * @param groovyTokenNames */ private static void groovifyFatJavaLikeGroovyAST(AST ast, String[] groovyTokenNames) { Visitor groovifier = new Groovifier(groovyTokenNames); AntlrASTProcessor groovifierTraverser = new PreOrderTraversal(groovifier); groovifierTraverser.process(ast); }
/** * @param ast * @param groovyTokenNames */ private static void groovifyFatJavaLikeGroovyAST(AST ast, String[] groovyTokenNames) { Visitor groovifier = new Groovifier(groovyTokenNames); AntlrASTProcessor groovifierTraverser = new PreOrderTraversal(groovifier); groovifierTraverser.process(ast); }