| package com.github.javaparser.generator.core; |
| |
| import com.github.javaparser.ParserConfiguration; |
| import com.github.javaparser.generator.core.node.*; |
| import com.github.javaparser.generator.core.other.TokenKindGenerator; |
| import com.github.javaparser.generator.core.visitor.*; |
| import com.github.javaparser.utils.Log; |
| import com.github.javaparser.utils.SourceRoot; |
| |
| import java.nio.file.Path; |
| import java.nio.file.Paths; |
| |
| /** |
| * Generates all generated visitors in the javaparser-core module. |
| * Suggested usage is by running the run_core_generators.sh script. |
| * You may want to run_metamodel_generator.sh before that. |
| */ |
| public class CoreGenerator { |
| private static final ParserConfiguration parserConfiguration = new ParserConfiguration() |
| // .setStoreTokens(false) |
| // .setAttributeComments(false) |
| // .setLexicalPreservationEnabled(true) |
| ; |
| |
| public static void main(String[] args) throws Exception { |
| if (args.length != 1) { |
| throw new RuntimeException("Need 1 parameter: the JavaParser source checkout root directory."); |
| } |
| Log.setAdapter(new Log.StandardOutStandardErrorAdapter()); |
| final Path root = Paths.get(args[0], "..", "javaparser-core", "src", "main", "java"); |
| final SourceRoot sourceRoot = new SourceRoot(root, parserConfiguration) |
| // .setPrinter(LexicalPreservingPrinter::print) |
| ; |
| |
| final Path generatedJavaCcRoot = Paths.get(args[0], "..", "javaparser-core", "target", "generated-sources", "javacc"); |
| final SourceRoot generatedJavaCcSourceRoot = new SourceRoot(generatedJavaCcRoot, parserConfiguration) |
| // .setPrinter(LexicalPreservingPrinter::print) |
| ; |
| |
| new CoreGenerator().run(sourceRoot, generatedJavaCcSourceRoot); |
| |
| sourceRoot.saveAll(); |
| } |
| |
| private void run(SourceRoot sourceRoot, SourceRoot generatedJavaCcSourceRoot) throws Exception { |
| new TypeCastingGenerator(sourceRoot).generate(); |
| new GenericListVisitorAdapterGenerator(sourceRoot).generate(); |
| new GenericVisitorAdapterGenerator(sourceRoot).generate(); |
| new GenericVisitorWithDefaultsGenerator(sourceRoot).generate(); |
| new EqualsVisitorGenerator(sourceRoot).generate(); |
| new ObjectIdentityEqualsVisitorGenerator(sourceRoot).generate(); |
| new NoCommentEqualsVisitorGenerator(sourceRoot).generate(); |
| new VoidVisitorAdapterGenerator(sourceRoot).generate(); |
| new VoidVisitorGenerator(sourceRoot).generate(); |
| new VoidVisitorWithDefaultsGenerator(sourceRoot).generate(); |
| new GenericVisitorGenerator(sourceRoot).generate(); |
| new HashCodeVisitorGenerator(sourceRoot).generate(); |
| new ObjectIdentityHashCodeVisitorGenerator(sourceRoot).generate(); |
| new NoCommentHashCodeVisitorGenerator(sourceRoot).generate(); |
| new CloneVisitorGenerator(sourceRoot).generate(); |
| new ModifierVisitorGenerator(sourceRoot).generate(); |
| |
| new PropertyGenerator(sourceRoot).generate(); |
| new RemoveMethodGenerator(sourceRoot).generate(); |
| new ReplaceMethodGenerator(sourceRoot).generate(); |
| new CloneGenerator(sourceRoot).generate(); |
| new GetMetaModelGenerator(sourceRoot).generate(); |
| new MainConstructorGenerator(sourceRoot).generate(); |
| new FinalGenerator(sourceRoot).generate(); |
| new AcceptGenerator(sourceRoot).generate(); |
| new TokenKindGenerator(sourceRoot, generatedJavaCcSourceRoot).generate(); |
| } |
| } |