Skip to content

Commit

Permalink
Split off JavaParser static interface to QuickJavaParser class
Browse files Browse the repository at this point in the history
  • Loading branch information
matozoid committed Feb 7, 2019
1 parent 7012fa2 commit bec5b1b
Show file tree
Hide file tree
Showing 155 changed files with 2,339 additions and 1,885 deletions.
2 changes: 1 addition & 1 deletion changelog.md
Expand Up @@ -523,7 +523,7 @@ private final JavaParser parser = new JavaParser(new ParserConfiguration().setVa
``` ```
and like this for the static parse methods: and like this for the static parse methods:
```java ```java
JavaParser.getStaticConfiguration().setValidator(new Java9Validator()); QuickJavaParser.getConfiguration().setValidator(new Java9Validator());
``` ```


* 862 552 "_" is an illegal identifier on source level 9. * 862 552 "_" is an illegal identifier on source level 9.
Expand Down
@@ -1,7 +1,7 @@
package com.github.javaparser.generator.core; package com.github.javaparser.generator.core;


import com.github.javaparser.JavaParser;
import com.github.javaparser.ParserConfiguration; import com.github.javaparser.ParserConfiguration;
import com.github.javaparser.QuickJavaParser;
import com.github.javaparser.generator.core.node.*; import com.github.javaparser.generator.core.node.*;
import com.github.javaparser.generator.core.other.TokenKindGenerator; import com.github.javaparser.generator.core.other.TokenKindGenerator;
import com.github.javaparser.generator.core.visitor.*; import com.github.javaparser.generator.core.visitor.*;
Expand Down Expand Up @@ -35,7 +35,7 @@ public static void main(String[] args) throws Exception {
final SourceRoot sourceRoot = new SourceRoot(root, parserConfiguration) final SourceRoot sourceRoot = new SourceRoot(root, parserConfiguration)
// .setPrinter(LexicalPreservingPrinter::print) // .setPrinter(LexicalPreservingPrinter::print)
; ;
JavaParser.setStaticConfiguration(parserConfiguration); QuickJavaParser.setConfiguration(parserConfiguration);


final Path generatedJavaCcRoot = Paths.get(args[0], "..", "javaparser-core", "target", "generated-sources", "javacc"); final Path generatedJavaCcRoot = Paths.get(args[0], "..", "javaparser-core", "target", "generated-sources", "javacc");
final SourceRoot generatedJavaCcSourceRoot = new SourceRoot(generatedJavaCcRoot, parserConfiguration) final SourceRoot generatedJavaCcSourceRoot = new SourceRoot(generatedJavaCcRoot, parserConfiguration)
Expand Down
Expand Up @@ -9,7 +9,7 @@
import com.github.javaparser.metamodel.BaseNodeMetaModel; import com.github.javaparser.metamodel.BaseNodeMetaModel;
import com.github.javaparser.utils.SourceRoot; import com.github.javaparser.utils.SourceRoot;


import static com.github.javaparser.JavaParser.parseBodyDeclaration; import static com.github.javaparser.QuickJavaParser.parseBodyDeclaration;


public class AcceptGenerator extends NodeGenerator { public class AcceptGenerator extends NodeGenerator {
private final MethodDeclaration genericAccept; private final MethodDeclaration genericAccept;
Expand Down
Expand Up @@ -8,7 +8,7 @@
import com.github.javaparser.metamodel.BaseNodeMetaModel; import com.github.javaparser.metamodel.BaseNodeMetaModel;
import com.github.javaparser.utils.SourceRoot; import com.github.javaparser.utils.SourceRoot;


import static com.github.javaparser.JavaParser.parseBodyDeclaration; import static com.github.javaparser.QuickJavaParser.parseBodyDeclaration;
import static com.github.javaparser.utils.CodeGenerationUtils.f; import static com.github.javaparser.utils.CodeGenerationUtils.f;


public class CloneGenerator extends NodeGenerator { public class CloneGenerator extends NodeGenerator {
Expand Down
Expand Up @@ -8,7 +8,7 @@
import com.github.javaparser.metamodel.JavaParserMetaModel; import com.github.javaparser.metamodel.JavaParserMetaModel;
import com.github.javaparser.utils.SourceRoot; import com.github.javaparser.utils.SourceRoot;


import static com.github.javaparser.JavaParser.parseBodyDeclaration; import static com.github.javaparser.QuickJavaParser.parseBodyDeclaration;
import static com.github.javaparser.utils.CodeGenerationUtils.f; import static com.github.javaparser.utils.CodeGenerationUtils.f;


public class GetMetaModelGenerator extends NodeGenerator { public class GetMetaModelGenerator extends NodeGenerator {
Expand Down
Expand Up @@ -12,7 +12,7 @@
import com.github.javaparser.utils.SeparatedItemStringBuilder; import com.github.javaparser.utils.SeparatedItemStringBuilder;
import com.github.javaparser.utils.SourceRoot; import com.github.javaparser.utils.SourceRoot;


import static com.github.javaparser.JavaParser.parseExplicitConstructorInvocationStmt; import static com.github.javaparser.QuickJavaParser.parseExplicitConstructorInvocationStmt;
import static com.github.javaparser.utils.CodeGenerationUtils.f; import static com.github.javaparser.utils.CodeGenerationUtils.f;


public class MainConstructorGenerator extends NodeGenerator { public class MainConstructorGenerator extends NodeGenerator {
Expand Down
Expand Up @@ -18,7 +18,7 @@
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;


import static com.github.javaparser.JavaParser.parseType; import static com.github.javaparser.QuickJavaParser.parseType;
import static com.github.javaparser.ast.Modifier.Keyword.FINAL; import static com.github.javaparser.ast.Modifier.Keyword.FINAL;
import static com.github.javaparser.ast.Modifier.Keyword.PUBLIC; import static com.github.javaparser.ast.Modifier.Keyword.PUBLIC;
import static com.github.javaparser.ast.Modifier.createModifierList; import static com.github.javaparser.ast.Modifier.createModifierList;
Expand Down
Expand Up @@ -10,7 +10,7 @@
import com.github.javaparser.metamodel.BaseNodeMetaModel; import com.github.javaparser.metamodel.BaseNodeMetaModel;
import com.github.javaparser.metamodel.PropertyMetaModel; import com.github.javaparser.metamodel.PropertyMetaModel;


import static com.github.javaparser.JavaParser.*; import static com.github.javaparser.QuickJavaParser.parseBodyDeclaration;
import static com.github.javaparser.utils.CodeGenerationUtils.f; import static com.github.javaparser.utils.CodeGenerationUtils.f;
import static com.github.javaparser.utils.Utils.capitalize; import static com.github.javaparser.utils.Utils.capitalize;


Expand Down
Expand Up @@ -10,7 +10,7 @@
import com.github.javaparser.metamodel.PropertyMetaModel; import com.github.javaparser.metamodel.PropertyMetaModel;
import com.github.javaparser.utils.SourceRoot; import com.github.javaparser.utils.SourceRoot;


import static com.github.javaparser.JavaParser.parseBodyDeclaration; import static com.github.javaparser.QuickJavaParser.parseBodyDeclaration;
import static com.github.javaparser.utils.CodeGenerationUtils.f; import static com.github.javaparser.utils.CodeGenerationUtils.f;


public class ReplaceMethodGenerator extends NodeGenerator { public class ReplaceMethodGenerator extends NodeGenerator {
Expand Down
Expand Up @@ -13,7 +13,7 @@
import java.util.Set; import java.util.Set;
import java.util.function.Consumer; import java.util.function.Consumer;


import static com.github.javaparser.JavaParser.parseBodyDeclaration; import static com.github.javaparser.QuickJavaParser.parseBodyDeclaration;
import static com.github.javaparser.utils.CodeGenerationUtils.f; import static com.github.javaparser.utils.CodeGenerationUtils.f;
import static com.github.javaparser.utils.Utils.set; import static com.github.javaparser.utils.Utils.set;


Expand Down
Expand Up @@ -11,7 +11,7 @@


import java.util.List; import java.util.List;


import static com.github.javaparser.JavaParser.parseStatement; import static com.github.javaparser.QuickJavaParser.parseStatement;


/** /**
* Generates JavaParser's HashCodeVisitor. * Generates JavaParser's HashCodeVisitor.
Expand Down
@@ -1,89 +1,89 @@
/* /*
* Copyright (C) 2007-2010 Júlio Vilmar Gesser. * Copyright (C) 2007-2010 Júlio Vilmar Gesser.
* Copyright (C) 2011, 2013-2016 The JavaParser Team. * Copyright (C) 2011, 2013-2016 The JavaParser Team.
* *
* This file is part of JavaParser. * This file is part of JavaParser.
* *
* JavaParser can be used either under the terms of * JavaParser can be used either under the terms of
* a) the GNU Lesser General Public License as published by * a) the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* b) the terms of the Apache License * b) the terms of the Apache License
* *
* You should have received a copy of both licenses in LICENCE.LGPL and * You should have received a copy of both licenses in LICENCE.LGPL and
* LICENCE.APACHE. Please refer to those files for details. * LICENCE.APACHE. Please refer to those files for details.
* *
* JavaParser is distributed in the hope that it will be useful, * JavaParser is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details. * GNU Lesser General Public License for more details.
*/ */


package com.github.javaparser.generator.core.visitor; package com.github.javaparser.generator.core.visitor;


import static com.github.javaparser.JavaParser.parseStatement; import java.util.List;


import java.util.List; import com.github.javaparser.ast.CompilationUnit;

import com.github.javaparser.ast.body.MethodDeclaration;
import com.github.javaparser.ast.CompilationUnit; import com.github.javaparser.ast.stmt.BlockStmt;
import com.github.javaparser.ast.body.MethodDeclaration; import com.github.javaparser.generator.VisitorGenerator;
import com.github.javaparser.ast.stmt.BlockStmt; import com.github.javaparser.metamodel.BaseNodeMetaModel;
import com.github.javaparser.generator.VisitorGenerator; import com.github.javaparser.metamodel.JavaParserMetaModel;
import com.github.javaparser.metamodel.BaseNodeMetaModel; import com.github.javaparser.metamodel.PropertyMetaModel;
import com.github.javaparser.metamodel.JavaParserMetaModel; import com.github.javaparser.utils.SeparatedItemStringBuilder;
import com.github.javaparser.metamodel.PropertyMetaModel; import com.github.javaparser.utils.SourceRoot;
import com.github.javaparser.utils.SeparatedItemStringBuilder;
import com.github.javaparser.utils.SourceRoot; import static com.github.javaparser.QuickJavaParser.parseStatement;


public class NoCommentHashCodeVisitorGenerator extends VisitorGenerator { public class NoCommentHashCodeVisitorGenerator extends VisitorGenerator {


public NoCommentHashCodeVisitorGenerator(SourceRoot sourceRoot) { public NoCommentHashCodeVisitorGenerator(SourceRoot sourceRoot) {
super(sourceRoot, "com.github.javaparser.ast.visitor", "NoCommentHashCodeVisitor", "Integer", "Void", true); super(sourceRoot, "com.github.javaparser.ast.visitor", "NoCommentHashCodeVisitor", "Integer", "Void", true);
} }


@Override @Override
protected void generateVisitMethodBody(BaseNodeMetaModel node, MethodDeclaration visitMethod, protected void generateVisitMethodBody(BaseNodeMetaModel node, MethodDeclaration visitMethod,
CompilationUnit compilationUnit) { CompilationUnit compilationUnit) {
visitMethod.getParameters().forEach(p -> p.setFinal(true)); visitMethod.getParameters().forEach(p -> p.setFinal(true));


final BlockStmt body = visitMethod.getBody().get(); final BlockStmt body = visitMethod.getBody().get();
body.getStatements().clear(); body.getStatements().clear();


final SeparatedItemStringBuilder builder = new SeparatedItemStringBuilder("return ", "* 31 +", ";"); final SeparatedItemStringBuilder builder = new SeparatedItemStringBuilder("return ", "* 31 +", ";");
final List<PropertyMetaModel> propertyMetaModels = node.getAllPropertyMetaModels(); final List<PropertyMetaModel> propertyMetaModels = node.getAllPropertyMetaModels();
if (node.equals(JavaParserMetaModel.lineCommentMetaModel) if (node.equals(JavaParserMetaModel.lineCommentMetaModel)
|| node.equals(JavaParserMetaModel.blockCommentMetaModel) || node.equals(JavaParserMetaModel.blockCommentMetaModel)
|| node.equals(JavaParserMetaModel.javadocCommentMetaModel) || propertyMetaModels.isEmpty()) { || node.equals(JavaParserMetaModel.javadocCommentMetaModel) || propertyMetaModels.isEmpty()) {
builder.append("0"); builder.append("0");
} else { } else {
for (PropertyMetaModel field : propertyMetaModels) { for (PropertyMetaModel field : propertyMetaModels) {
final String getter = field.getGetterMethodName() + "()"; final String getter = field.getGetterMethodName() + "()";
if (field.equals(JavaParserMetaModel.nodeMetaModel.commentPropertyMetaModel)) { if (field.equals(JavaParserMetaModel.nodeMetaModel.commentPropertyMetaModel)) {
if (propertyMetaModels.size() == 1) { if (propertyMetaModels.size() == 1) {
builder.append("0"); builder.append("0");
break; break;
} else } else
continue; continue;
} }
// Is this field another AST node? Visit it. // Is this field another AST node? Visit it.
if (field.getNodeReference().isPresent()) { if (field.getNodeReference().isPresent()) {
if (field.isOptional()) { if (field.isOptional()) {
builder.append("(n.%s.isPresent()? n.%s.get().accept(this, arg):0)", getter, getter); builder.append("(n.%s.isPresent()? n.%s.get().accept(this, arg):0)", getter, getter);
} else { } else {
builder.append("(n.%s.accept(this, arg))", getter); builder.append("(n.%s.accept(this, arg))", getter);
} }
} else { } else {
Class<?> type = field.getType(); Class<?> type = field.getType();
if (type.equals(boolean.class)) { if (type.equals(boolean.class)) {
builder.append("(n.%s?1:0)", getter); builder.append("(n.%s?1:0)", getter);
} else if (type.equals(int.class)) { } else if (type.equals(int.class)) {
builder.append("n.%s", getter); builder.append("n.%s", getter);
} else { } else {
builder.append("(n.%s.hashCode())", getter); builder.append("(n.%s.hashCode())", getter);
} }
} }
} }
} }
body.addStatement(parseStatement(builder.toString())); body.addStatement(parseStatement(builder.toString()));
} }
} }
Expand Up @@ -9,7 +9,7 @@
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
import java.lang.reflect.Field; import java.lang.reflect.Field;


import static com.github.javaparser.JavaParser.parseStatement; import static com.github.javaparser.QuickJavaParser.parseStatement;
import static com.github.javaparser.generator.metamodel.MetaModelGenerator.nodeMetaModelFieldName; import static com.github.javaparser.generator.metamodel.MetaModelGenerator.nodeMetaModelFieldName;
import static com.github.javaparser.generator.metamodel.MetaModelGenerator.propertyMetaModelFieldName; import static com.github.javaparser.generator.metamodel.MetaModelGenerator.propertyMetaModelFieldName;
import static com.github.javaparser.utils.CodeGenerationUtils.f; import static com.github.javaparser.utils.CodeGenerationUtils.f;
Expand Down
Expand Up @@ -9,7 +9,7 @@
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.Method; import java.lang.reflect.Method;


import static com.github.javaparser.JavaParser.parseStatement; import static com.github.javaparser.QuickJavaParser.parseStatement;
import static com.github.javaparser.ast.Modifier.Keyword.PUBLIC; import static com.github.javaparser.ast.Modifier.Keyword.PUBLIC;
import static com.github.javaparser.generator.metamodel.MetaModelGenerator.isNode; import static com.github.javaparser.generator.metamodel.MetaModelGenerator.isNode;
import static com.github.javaparser.generator.metamodel.MetaModelGenerator.nodeMetaModelName; import static com.github.javaparser.generator.metamodel.MetaModelGenerator.nodeMetaModelName;
Expand Down
Expand Up @@ -2,6 +2,7 @@


import com.github.javaparser.JavaParser; import com.github.javaparser.JavaParser;
import com.github.javaparser.ParserConfiguration; import com.github.javaparser.ParserConfiguration;
import com.github.javaparser.QuickJavaParser;
import com.github.javaparser.ast.*; import com.github.javaparser.ast.*;
import com.github.javaparser.ast.body.*; import com.github.javaparser.ast.body.*;
import com.github.javaparser.ast.comments.BlockComment; import com.github.javaparser.ast.comments.BlockComment;
Expand Down Expand Up @@ -164,7 +165,7 @@ public static void main(String[] args) throws NoSuchMethodException {
.setStoreTokens(false); .setStoreTokens(false);
final SourceRoot sourceRoot = new SourceRoot(root, parserConfiguration); final SourceRoot sourceRoot = new SourceRoot(root, parserConfiguration);
sourceRoot.setPrinter(new PrettyPrinter(new PrettyPrinterConfiguration().setEndOfLineCharacter("\n"))::print); sourceRoot.setPrinter(new PrettyPrinter(new PrettyPrinterConfiguration().setEndOfLineCharacter("\n"))::print);
JavaParser.setStaticConfiguration(parserConfiguration); QuickJavaParser.setConfiguration(parserConfiguration);


new MetaModelGenerator().run(sourceRoot); new MetaModelGenerator().run(sourceRoot);


Expand Down
Expand Up @@ -16,7 +16,7 @@
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;


import static com.github.javaparser.JavaParser.*; import static com.github.javaparser.QuickJavaParser.*;
import static com.github.javaparser.ast.Modifier.Keyword.*; import static com.github.javaparser.ast.Modifier.Keyword.*;
import static com.github.javaparser.generator.metamodel.MetaModelGenerator.*; import static com.github.javaparser.generator.metamodel.MetaModelGenerator.*;
import static com.github.javaparser.utils.CodeGenerationUtils.f; import static com.github.javaparser.utils.CodeGenerationUtils.f;
Expand Down
Expand Up @@ -192,9 +192,9 @@ protected JavaToken readToken(String name, JsonObject jsonObject) {
* @see com.github.javaparser.ParserConfiguration#ParserConfiguration() * @see com.github.javaparser.ParserConfiguration#ParserConfiguration()
*/ */
private void setSymbolResolverIfCompilationUnit(Node node) { private void setSymbolResolverIfCompilationUnit(Node node) {
if (node instanceof CompilationUnit && JavaParser.getStaticConfiguration().getSymbolResolver().isPresent()) { if (node instanceof CompilationUnit && QuickJavaParser.getConfiguration().getSymbolResolver().isPresent()) {
CompilationUnit cu = (CompilationUnit)node; CompilationUnit cu = (CompilationUnit)node;
cu.setData(Node.SYMBOL_RESOLVER_KEY, JavaParser.getStaticConfiguration().getSymbolResolver().get()); cu.setData(Node.SYMBOL_RESOLVER_KEY, QuickJavaParser.getConfiguration().getSymbolResolver().get());
} }
} }


Expand Down

0 comments on commit bec5b1b

Please sign in to comment.