• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.github.javaparser.generator.core;
2 
3 import com.github.javaparser.ParserConfiguration;
4 import com.github.javaparser.StaticJavaParser;
5 import com.github.javaparser.generator.core.node.*;
6 import com.github.javaparser.generator.core.other.TokenKindGenerator;
7 import com.github.javaparser.generator.core.visitor.*;
8 import com.github.javaparser.utils.Log;
9 import com.github.javaparser.utils.SourceRoot;
10 
11 import java.nio.file.Path;
12 import java.nio.file.Paths;
13 
14 import static com.github.javaparser.ParserConfiguration.LanguageLevel.RAW;
15 
16 /**
17  * Generates all generated visitors in the javaparser-core module.
18  * Suggested usage is by running the run_core_generators.sh script.
19  * You may want to run_metamodel_generator.sh before that.
20  */
21 public class CoreGenerator {
22     private static final ParserConfiguration parserConfiguration = new ParserConfiguration()
23             .setLanguageLevel(RAW)
24 //                                .setStoreTokens(false)
25 //                                .setAttributeComments(false)
26 //                                .setLexicalPreservationEnabled(true)
27             ;
28 
main(String[] args)29     public static void main(String[] args) throws Exception {
30         if (args.length != 1) {
31             throw new RuntimeException("Need 1 parameter: the JavaParser source checkout root directory.");
32         }
33         Log.setAdapter(new Log.StandardOutStandardErrorAdapter());
34         final Path root = Paths.get(args[0], "..", "javaparser-core", "src", "main", "java");
35         final SourceRoot sourceRoot = new SourceRoot(root, parserConfiguration)
36 //                .setPrinter(LexicalPreservingPrinter::print)
37                 ;
38         StaticJavaParser.setConfiguration(parserConfiguration);
39 
40         final Path generatedJavaCcRoot = Paths.get(args[0], "..", "javaparser-core", "target", "generated-sources", "javacc");
41         final SourceRoot generatedJavaCcSourceRoot = new SourceRoot(generatedJavaCcRoot, parserConfiguration)
42 //                .setPrinter(LexicalPreservingPrinter::print)
43                 ;
44 
45         new CoreGenerator().run(sourceRoot, generatedJavaCcSourceRoot);
46 
47         sourceRoot.saveAll();
48     }
49 
run(SourceRoot sourceRoot, SourceRoot generatedJavaCcSourceRoot)50     private void run(SourceRoot sourceRoot, SourceRoot generatedJavaCcSourceRoot) throws Exception {
51         new TypeCastingGenerator(sourceRoot).generate();
52         new GenericListVisitorAdapterGenerator(sourceRoot).generate();
53         new GenericVisitorAdapterGenerator(sourceRoot).generate();
54         new GenericVisitorWithDefaultsGenerator(sourceRoot).generate();
55         new EqualsVisitorGenerator(sourceRoot).generate();
56         new ObjectIdentityEqualsVisitorGenerator(sourceRoot).generate();
57         new NoCommentEqualsVisitorGenerator(sourceRoot).generate();
58         new VoidVisitorAdapterGenerator(sourceRoot).generate();
59         new VoidVisitorGenerator(sourceRoot).generate();
60         new VoidVisitorWithDefaultsGenerator(sourceRoot).generate();
61         new GenericVisitorGenerator(sourceRoot).generate();
62         new HashCodeVisitorGenerator(sourceRoot).generate();
63         new ObjectIdentityHashCodeVisitorGenerator(sourceRoot).generate();
64         new NoCommentHashCodeVisitorGenerator(sourceRoot).generate();
65         new CloneVisitorGenerator(sourceRoot).generate();
66         new ModifierVisitorGenerator(sourceRoot).generate();
67 
68         new PropertyGenerator(sourceRoot).generate();
69         new RemoveMethodGenerator(sourceRoot).generate();
70         new ReplaceMethodGenerator(sourceRoot).generate();
71         new CloneGenerator(sourceRoot).generate();
72         new GetMetaModelGenerator(sourceRoot).generate();
73         new MainConstructorGenerator(sourceRoot).generate();
74         new NodeModifierGenerator(sourceRoot).generate();
75         new AcceptGenerator(sourceRoot).generate();
76         new TokenKindGenerator(sourceRoot, generatedJavaCcSourceRoot).generate();
77     }
78 }
79