aboutsummaryrefslogtreecommitdiff
path: root/javaparser-core-generators
diff options
context:
space:
mode:
authorEugene Susla <eugenesusla@google.com>2019-07-31 15:12:54 -0700
committerEugene Susla <eugenesusla@google.com>2019-07-31 15:12:54 -0700
commit1410e008c8ea196afec98d7766e6dca5c9d555b4 (patch)
tree68586f4fd910c3b08a9608d7be5e186c9df572c6 /javaparser-core-generators
parent1b2211eaf2fa78358abe0b16f82ccf0b689aa56a (diff)
downloadjavaparser-1410e008c8ea196afec98d7766e6dca5c9d555b4.tar.gz
Pull commits from upstream for java 11 compatibility!
Change-Id: I27826ba60af5c54848e2eae40930d8fb8a302919
Diffstat (limited to 'javaparser-core-generators')
-rw-r--r--javaparser-core-generators/javaparser-core-generators.iml15
-rw-r--r--javaparser-core-generators/pom.xml4
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/Generator.java2
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/NodeGenerator.java8
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/VisitorGenerator.java4
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/CoreGenerator.java7
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/AcceptGenerator.java2
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/CloneGenerator.java2
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetMetaModelGenerator.java2
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/MainConstructorGenerator.java2
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/NodeModifierGenerator.java (renamed from javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/FinalGenerator.java)8
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/PropertyGenerator.java24
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/RemoveMethodGenerator.java2
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/ReplaceMethodGenerator.java3
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/TypeCastingGenerator.java4
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/other/GrammarLetterGenerator.java1
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/other/TokenKindGenerator.java8
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/CloneVisitorGenerator.java6
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/HashCodeVisitorGenerator.java2
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/NoCommentHashCodeVisitorGenerator.java178
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/ObjectIdentityEqualsVisitorGenerator.java3
-rw-r--r--javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/ObjectIdentityHashCodeVisitorGenerator.java6
22 files changed, 138 insertions, 155 deletions
diff --git a/javaparser-core-generators/javaparser-core-generators.iml b/javaparser-core-generators/javaparser-core-generators.iml
deleted file mode 100644
index 7843639b2..000000000
--- a/javaparser-core-generators/javaparser-core-generators.iml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
- <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
- <output url="file://$MODULE_DIR$/target/classes" />
- <output-test url="file://$MODULE_DIR$/target/test-classes" />
- <content url="file://$MODULE_DIR$">
- <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
- <excludeFolder url="file://$MODULE_DIR$/target" />
- </content>
- <orderEntry type="inheritedJdk" />
- <orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="module" module-name="javaparser-core" />
- </component>
-</module> \ No newline at end of file
diff --git a/javaparser-core-generators/pom.xml b/javaparser-core-generators/pom.xml
index 58eecf870..739b64b80 100644
--- a/javaparser-core-generators/pom.xml
+++ b/javaparser-core-generators/pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>javaparser-parent</artifactId>
<groupId>com.github.javaparser</groupId>
- <version>3.5.16-SNAPSHOT</version>
+ <version>3.14.10-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -20,7 +20,7 @@
<profiles>
<profile>
- <id>run-core-generators</id>
+ <id>run-generators</id>
<build>
<plugins>
<plugin>
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/Generator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/Generator.java
index f7860b04b..54d723afe 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/Generator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/Generator.java
@@ -7,9 +7,9 @@ import com.github.javaparser.ast.body.MethodDeclaration;
import com.github.javaparser.ast.expr.Expression;
import com.github.javaparser.ast.expr.StringLiteralExpr;
import com.github.javaparser.ast.nodeTypes.NodeWithAnnotations;
+import com.github.javaparser.ast.Generated;
import com.github.javaparser.utils.SourceRoot;
-import javax.annotation.Generated;
import java.util.List;
import static com.github.javaparser.ast.NodeList.toNodeList;
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/NodeGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/NodeGenerator.java
index 18ab60d99..2900edd64 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/NodeGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/NodeGenerator.java
@@ -1,7 +1,6 @@
package com.github.javaparser.generator;
import com.github.javaparser.ast.CompilationUnit;
-import com.github.javaparser.ast.body.CallableDeclaration;
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
import com.github.javaparser.metamodel.BaseNodeMetaModel;
import com.github.javaparser.metamodel.JavaParserMetaModel;
@@ -9,11 +8,6 @@ import com.github.javaparser.utils.Log;
import com.github.javaparser.utils.Pair;
import com.github.javaparser.utils.SourceRoot;
-import java.io.IOException;
-import java.util.List;
-
-import static com.github.javaparser.utils.CodeGenerationUtils.f;
-
/**
* Makes it easier to generate code in the core AST nodes. The generateNode method will get every node type passed to
* it, ready for modification.
@@ -24,7 +18,7 @@ public abstract class NodeGenerator extends Generator {
}
public final void generate() throws Exception {
- Log.info("Running %s", getClass().getSimpleName());
+ Log.info("Running %s", () -> getClass().getSimpleName());
for (BaseNodeMetaModel nodeMetaModel : JavaParserMetaModel.getNodeMetaModels()) {
Pair<CompilationUnit, ClassOrInterfaceDeclaration> result = parseNode(nodeMetaModel);
generateNode(nodeMetaModel, result.a, result.b);
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/VisitorGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/VisitorGenerator.java
index 16b5ef4f8..49f21dae6 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/VisitorGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/VisitorGenerator.java
@@ -12,7 +12,7 @@ import com.github.javaparser.utils.SourceRoot;
import java.util.Optional;
-import static com.github.javaparser.ast.Modifier.PUBLIC;
+import static com.github.javaparser.ast.Modifier.Keyword.PUBLIC;
/**
* Makes it easier to generate visitor classes.
@@ -36,7 +36,7 @@ public abstract class VisitorGenerator extends Generator {
}
public final void generate() throws Exception {
- Log.info("Running %s", getClass().getSimpleName());
+ Log.info("Running %s", () -> getClass().getSimpleName());
final CompilationUnit compilationUnit = sourceRoot.tryToParse(pkg, visitorClassName + ".java").getResult().get();
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/CoreGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/CoreGenerator.java
index c1aa5f9fb..73acac13d 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/CoreGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/CoreGenerator.java
@@ -1,6 +1,7 @@
package com.github.javaparser.generator.core;
import com.github.javaparser.ParserConfiguration;
+import com.github.javaparser.StaticJavaParser;
import com.github.javaparser.generator.core.node.*;
import com.github.javaparser.generator.core.other.TokenKindGenerator;
import com.github.javaparser.generator.core.visitor.*;
@@ -10,6 +11,8 @@ import com.github.javaparser.utils.SourceRoot;
import java.nio.file.Path;
import java.nio.file.Paths;
+import static com.github.javaparser.ParserConfiguration.LanguageLevel.RAW;
+
/**
* Generates all generated visitors in the javaparser-core module.
* Suggested usage is by running the run_core_generators.sh script.
@@ -17,6 +20,7 @@ import java.nio.file.Paths;
*/
public class CoreGenerator {
private static final ParserConfiguration parserConfiguration = new ParserConfiguration()
+ .setLanguageLevel(RAW)
// .setStoreTokens(false)
// .setAttributeComments(false)
// .setLexicalPreservationEnabled(true)
@@ -31,6 +35,7 @@ public class CoreGenerator {
final SourceRoot sourceRoot = new SourceRoot(root, parserConfiguration)
// .setPrinter(LexicalPreservingPrinter::print)
;
+ StaticJavaParser.setConfiguration(parserConfiguration);
final Path generatedJavaCcRoot = Paths.get(args[0], "..", "javaparser-core", "target", "generated-sources", "javacc");
final SourceRoot generatedJavaCcSourceRoot = new SourceRoot(generatedJavaCcRoot, parserConfiguration)
@@ -66,7 +71,7 @@ public class CoreGenerator {
new CloneGenerator(sourceRoot).generate();
new GetMetaModelGenerator(sourceRoot).generate();
new MainConstructorGenerator(sourceRoot).generate();
- new FinalGenerator(sourceRoot).generate();
+ new NodeModifierGenerator(sourceRoot).generate();
new AcceptGenerator(sourceRoot).generate();
new TokenKindGenerator(sourceRoot, generatedJavaCcSourceRoot).generate();
}
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/AcceptGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/AcceptGenerator.java
index 9ab2bf32e..83df46784 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/AcceptGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/AcceptGenerator.java
@@ -9,7 +9,7 @@ import com.github.javaparser.generator.NodeGenerator;
import com.github.javaparser.metamodel.BaseNodeMetaModel;
import com.github.javaparser.utils.SourceRoot;
-import static com.github.javaparser.JavaParser.parseBodyDeclaration;
+import static com.github.javaparser.StaticJavaParser.parseBodyDeclaration;
public class AcceptGenerator extends NodeGenerator {
private final MethodDeclaration genericAccept;
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/CloneGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/CloneGenerator.java
index 6a788b47b..8aa112880 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/CloneGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/CloneGenerator.java
@@ -8,7 +8,7 @@ import com.github.javaparser.generator.NodeGenerator;
import com.github.javaparser.metamodel.BaseNodeMetaModel;
import com.github.javaparser.utils.SourceRoot;
-import static com.github.javaparser.JavaParser.parseBodyDeclaration;
+import static com.github.javaparser.StaticJavaParser.parseBodyDeclaration;
import static com.github.javaparser.utils.CodeGenerationUtils.f;
public class CloneGenerator extends NodeGenerator {
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetMetaModelGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetMetaModelGenerator.java
index 750c52b0c..187cec310 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetMetaModelGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/GetMetaModelGenerator.java
@@ -8,7 +8,7 @@ import com.github.javaparser.metamodel.BaseNodeMetaModel;
import com.github.javaparser.metamodel.JavaParserMetaModel;
import com.github.javaparser.utils.SourceRoot;
-import static com.github.javaparser.JavaParser.parseBodyDeclaration;
+import static com.github.javaparser.StaticJavaParser.parseBodyDeclaration;
import static com.github.javaparser.utils.CodeGenerationUtils.f;
public class GetMetaModelGenerator extends NodeGenerator {
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/MainConstructorGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/MainConstructorGenerator.java
index 8f7158924..849352151 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/MainConstructorGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/MainConstructorGenerator.java
@@ -12,7 +12,7 @@ import com.github.javaparser.metamodel.PropertyMetaModel;
import com.github.javaparser.utils.SeparatedItemStringBuilder;
import com.github.javaparser.utils.SourceRoot;
-import static com.github.javaparser.JavaParser.parseExplicitConstructorInvocationStmt;
+import static com.github.javaparser.StaticJavaParser.parseExplicitConstructorInvocationStmt;
import static com.github.javaparser.utils.CodeGenerationUtils.f;
public class MainConstructorGenerator extends NodeGenerator {
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/FinalGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/NodeModifierGenerator.java
index 8e8cef2d0..b2a320fdb 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/FinalGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/NodeModifierGenerator.java
@@ -6,13 +6,15 @@ import com.github.javaparser.generator.NodeGenerator;
import com.github.javaparser.metamodel.BaseNodeMetaModel;
import com.github.javaparser.utils.SourceRoot;
-public class FinalGenerator extends NodeGenerator {
- public FinalGenerator(SourceRoot sourceRoot) {
+public class NodeModifierGenerator extends NodeGenerator {
+ public NodeModifierGenerator(SourceRoot sourceRoot) {
super(sourceRoot);
}
@Override
protected void generateNode(BaseNodeMetaModel nodeMetaModel, CompilationUnit nodeCu, ClassOrInterfaceDeclaration nodeCoid) {
- nodeCoid.setFinal(!nodeMetaModel.isAbstract());
+ nodeCoid
+ .setFinal(false)
+ .setPublic(true);
}
}
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/PropertyGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/PropertyGenerator.java
index 9ac69edc9..6d34bfd34 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/PropertyGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/PropertyGenerator.java
@@ -13,11 +13,15 @@ import com.github.javaparser.metamodel.JavaParserMetaModel;
import com.github.javaparser.metamodel.PropertyMetaModel;
import com.github.javaparser.utils.SourceRoot;
-import java.util.*;
-
-import static com.github.javaparser.JavaParser.parseType;
-import static com.github.javaparser.ast.Modifier.FINAL;
-import static com.github.javaparser.ast.Modifier.PUBLIC;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import static com.github.javaparser.StaticJavaParser.parseType;
+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.createModifierList;
import static com.github.javaparser.utils.CodeGenerationUtils.f;
import static com.github.javaparser.utils.Utils.camelCaseToScreaming;
@@ -50,7 +54,7 @@ public class PropertyGenerator extends NodeGenerator {
return;
}
- final MethodDeclaration setter = new MethodDeclaration(EnumSet.of(PUBLIC), parseType(property.getContainingNodeMetaModel().getTypeNameGenerified()), property.getSetterMethodName());
+ final MethodDeclaration setter = new MethodDeclaration(createModifierList(PUBLIC), parseType(property.getContainingNodeMetaModel().getTypeNameGenerified()), property.getSetterMethodName());
if (property.getContainingNodeMetaModel().hasWildcard()) {
setter.setType(parseType("T"));
}
@@ -90,7 +94,7 @@ public class PropertyGenerator extends NodeGenerator {
}
private void generateGetter(BaseNodeMetaModel nodeMetaModel, ClassOrInterfaceDeclaration nodeCoid, PropertyMetaModel property) {
- final MethodDeclaration getter = new MethodDeclaration(EnumSet.of(PUBLIC), parseType(property.getTypeNameForGetter()), property.getGetterMethodName());
+ final MethodDeclaration getter = new MethodDeclaration(createModifierList(PUBLIC), parseType(property.getTypeNameForGetter()), property.getGetterMethodName());
final BlockStmt body = getter.getBody().get();
body.getStatements().clear();
if (property.isOptional()) {
@@ -107,11 +111,7 @@ public class PropertyGenerator extends NodeGenerator {
String constantName = camelCaseToScreaming(name.startsWith("is") ? name.substring(2) : name);
EnumConstantDeclaration enumConstantDeclaration = observablePropertyEnum.addEnumConstant(constantName);
if (isAttribute) {
- if (property.isEnumSet()) {
- enumConstantDeclaration.addArgument("Type.MULTIPLE_ATTRIBUTE");
- } else {
- enumConstantDeclaration.addArgument("Type.SINGLE_ATTRIBUTE");
- }
+ enumConstantDeclaration.addArgument("Type.SINGLE_ATTRIBUTE");
} else {
if (property.isNodeList()) {
enumConstantDeclaration.addArgument("Type.MULTIPLE_REFERENCE");
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/RemoveMethodGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/RemoveMethodGenerator.java
index 64d5898b1..d650d492f 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/RemoveMethodGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/RemoveMethodGenerator.java
@@ -10,7 +10,7 @@ import com.github.javaparser.utils.SourceRoot;
import com.github.javaparser.metamodel.BaseNodeMetaModel;
import com.github.javaparser.metamodel.PropertyMetaModel;
-import static com.github.javaparser.JavaParser.*;
+import static com.github.javaparser.StaticJavaParser.parseBodyDeclaration;
import static com.github.javaparser.utils.CodeGenerationUtils.f;
import static com.github.javaparser.utils.Utils.capitalize;
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/ReplaceMethodGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/ReplaceMethodGenerator.java
index f1f9d3fce..918fd8823 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/ReplaceMethodGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/ReplaceMethodGenerator.java
@@ -10,9 +10,8 @@ import com.github.javaparser.metamodel.BaseNodeMetaModel;
import com.github.javaparser.metamodel.PropertyMetaModel;
import com.github.javaparser.utils.SourceRoot;
-import static com.github.javaparser.JavaParser.parseBodyDeclaration;
+import static com.github.javaparser.StaticJavaParser.parseBodyDeclaration;
import static com.github.javaparser.utils.CodeGenerationUtils.f;
-import static com.github.javaparser.utils.Utils.capitalize;
public class ReplaceMethodGenerator extends NodeGenerator {
public ReplaceMethodGenerator(SourceRoot sourceRoot) {
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/TypeCastingGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/TypeCastingGenerator.java
index 3a611f4c5..05d65cdf7 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/TypeCastingGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/node/TypeCastingGenerator.java
@@ -13,7 +13,7 @@ import java.util.Optional;
import java.util.Set;
import java.util.function.Consumer;
-import static com.github.javaparser.JavaParser.parseBodyDeclaration;
+import static com.github.javaparser.StaticJavaParser.parseBodyDeclaration;
import static com.github.javaparser.utils.CodeGenerationUtils.f;
import static com.github.javaparser.utils.Utils.set;
@@ -22,7 +22,7 @@ public class TypeCastingGenerator extends NodeGenerator {
JavaParserMetaModel.statementMetaModel,
JavaParserMetaModel.expressionMetaModel,
JavaParserMetaModel.typeMetaModel,
- JavaParserMetaModel.moduleStmtMetaModel,
+ JavaParserMetaModel.moduleDirectiveMetaModel,
JavaParserMetaModel.bodyDeclarationMetaModel,
JavaParserMetaModel.commentMetaModel
);
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/other/GrammarLetterGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/other/GrammarLetterGenerator.java
index 9d50bc676..8916fc504 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/other/GrammarLetterGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/other/GrammarLetterGenerator.java
@@ -44,6 +44,7 @@ public class GrammarLetterGenerator {
}
// Too lazy to remove the final illegal comma.
System.out.println("]");
+ System.out.println(" | <UNICODE_ESCAPE>");
System.out.println(" >");
}
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/other/TokenKindGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/other/TokenKindGenerator.java
index 5088bc353..d83c32292 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/other/TokenKindGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/other/TokenKindGenerator.java
@@ -9,7 +9,7 @@ import com.github.javaparser.ast.body.EnumConstantDeclaration;
import com.github.javaparser.ast.body.EnumDeclaration;
import com.github.javaparser.ast.expr.IntegerLiteralExpr;
import com.github.javaparser.ast.stmt.ReturnStmt;
-import com.github.javaparser.ast.stmt.SwitchEntryStmt;
+import com.github.javaparser.ast.stmt.SwitchEntry;
import com.github.javaparser.ast.stmt.SwitchStmt;
import com.github.javaparser.generator.Generator;
import com.github.javaparser.utils.Log;
@@ -28,7 +28,7 @@ public class TokenKindGenerator extends Generator {
@Override
public void generate() {
- Log.info("Running %s", getClass().getSimpleName());
+ Log.info("Running %s", () -> getClass().getSimpleName());
final CompilationUnit javaTokenCu = sourceRoot.parse("com.github.javaparser", "JavaToken.java");
final ClassOrInterfaceDeclaration javaToken = javaTokenCu.getClassByName("JavaToken").orElseThrow(() -> new AssertionError("Can't find class in java file."));
@@ -38,7 +38,7 @@ public class TokenKindGenerator extends Generator {
annotateGenerated(kindEnum);
final SwitchStmt valueOfSwitch = kindEnum.findFirst(SwitchStmt.class).orElseThrow(() -> new AssertionError("Can't find valueOf switch."));
- valueOfSwitch.findAll(SwitchEntryStmt.class).stream().filter(e -> e.getLabel().isPresent()).forEach(Node::remove);
+ valueOfSwitch.findAll(SwitchEntry.class).stream().filter(e -> e.getLabels().isNonEmpty()).forEach(Node::remove);
final CompilationUnit constantsCu = generatedJavaCcSourceRoot.parse("com.github.javaparser", "GeneratedJavaParserConstants.java");
final ClassOrInterfaceDeclaration constants = constantsCu.getInterfaceByName("GeneratedJavaParserConstants").orElseThrow(() -> new AssertionError("Can't find class in java file."));
@@ -59,7 +59,7 @@ public class TokenKindGenerator extends Generator {
}
private void generateValueOfEntry(SwitchStmt valueOfSwitch, String name, IntegerLiteralExpr kind) {
- final SwitchEntryStmt entry = new SwitchEntryStmt(kind, new NodeList<>(new ReturnStmt(name)));
+ final SwitchEntry entry = new SwitchEntry(new NodeList<>(kind), SwitchEntry.Type.STATEMENT_GROUP, new NodeList<>(new ReturnStmt(name)));
valueOfSwitch.getEntries().addFirst(entry);
}
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/CloneVisitorGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/CloneVisitorGenerator.java
index 44a7e9f6f..c121bc35d 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/CloneVisitorGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/CloneVisitorGenerator.java
@@ -4,6 +4,7 @@ import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.body.MethodDeclaration;
import com.github.javaparser.ast.stmt.BlockStmt;
import com.github.javaparser.generator.VisitorGenerator;
+import com.github.javaparser.metamodel.CompilationUnitMetaModel;
import com.github.javaparser.utils.SeparatedItemStringBuilder;
import com.github.javaparser.utils.SourceRoot;
import com.github.javaparser.metamodel.BaseNodeMetaModel;
@@ -53,7 +54,12 @@ public class CloneVisitorGenerator extends VisitorGenerator {
}
body.addStatement(builder.toString());
+ if(node instanceof CompilationUnitMetaModel) {
+ body.addStatement("n.getStorage().ifPresent(s -> r.setStorage(s.getPath(), s.getEncoding()));");
+ }
body.addStatement("r.setComment(comment);");
+ body.addStatement("n.getOrphanComments().stream().map(Comment::clone).forEach(r::addOrphanComment);");
+ body.addStatement("copyData(n, r);");
body.addStatement("return r;");
}
}
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/HashCodeVisitorGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/HashCodeVisitorGenerator.java
index 554dc8d9d..36556e928 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/HashCodeVisitorGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/HashCodeVisitorGenerator.java
@@ -11,7 +11,7 @@ import com.github.javaparser.metamodel.PropertyMetaModel;
import java.util.List;
-import static com.github.javaparser.JavaParser.parseStatement;
+import static com.github.javaparser.StaticJavaParser.parseStatement;
/**
* Generates JavaParser's HashCodeVisitor.
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/NoCommentHashCodeVisitorGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/NoCommentHashCodeVisitorGenerator.java
index b36d25934..e8a97291b 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/NoCommentHashCodeVisitorGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/NoCommentHashCodeVisitorGenerator.java
@@ -1,89 +1,89 @@
-/*
- * Copyright (C) 2007-2010 Júlio Vilmar Gesser.
- * Copyright (C) 2011, 2013-2016 The JavaParser Team.
- *
- * This file is part of JavaParser.
- *
- * JavaParser can be used either under the terms of
- * a) the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * b) the terms of the Apache License
- *
- * You should have received a copy of both licenses in LICENCE.LGPL and
- * LICENCE.APACHE. Please refer to those files for details.
- *
- * JavaParser is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- */
-
-package com.github.javaparser.generator.core.visitor;
-
-import static com.github.javaparser.JavaParser.parseStatement;
-
-import java.util.List;
-
-import com.github.javaparser.ast.CompilationUnit;
-import com.github.javaparser.ast.body.MethodDeclaration;
-import com.github.javaparser.ast.stmt.BlockStmt;
-import com.github.javaparser.generator.VisitorGenerator;
-import com.github.javaparser.metamodel.BaseNodeMetaModel;
-import com.github.javaparser.metamodel.JavaParserMetaModel;
-import com.github.javaparser.metamodel.PropertyMetaModel;
-import com.github.javaparser.utils.SeparatedItemStringBuilder;
-import com.github.javaparser.utils.SourceRoot;
-
-public class NoCommentHashCodeVisitorGenerator extends VisitorGenerator {
-
- public NoCommentHashCodeVisitorGenerator(SourceRoot sourceRoot) {
- super(sourceRoot, "com.github.javaparser.ast.visitor", "NoCommentHashCodeVisitor", "Integer", "Void", true);
- }
-
- @Override
- protected void generateVisitMethodBody(BaseNodeMetaModel node, MethodDeclaration visitMethod,
- CompilationUnit compilationUnit) {
- visitMethod.getParameters().forEach(p -> p.setFinal(true));
-
- final BlockStmt body = visitMethod.getBody().get();
- body.getStatements().clear();
-
- final SeparatedItemStringBuilder builder = new SeparatedItemStringBuilder("return ", "* 31 +", ";");
- final List<PropertyMetaModel> propertyMetaModels = node.getAllPropertyMetaModels();
- if (node.equals(JavaParserMetaModel.lineCommentMetaModel)
- || node.equals(JavaParserMetaModel.blockCommentMetaModel)
- || node.equals(JavaParserMetaModel.javadocCommentMetaModel) || propertyMetaModels.isEmpty()) {
- builder.append("0");
- } else {
- for (PropertyMetaModel field : propertyMetaModels) {
- final String getter = field.getGetterMethodName() + "()";
- if (field.equals(JavaParserMetaModel.nodeMetaModel.commentPropertyMetaModel)) {
- if (propertyMetaModels.size() == 1) {
- builder.append("0");
- break;
- } else
- continue;
- }
- // Is this field another AST node? Visit it.
- if (field.getNodeReference().isPresent()) {
- if (field.isOptional()) {
- builder.append("(n.%s.isPresent()? n.%s.get().accept(this, arg):0)", getter, getter);
- } else {
- builder.append("(n.%s.accept(this, arg))", getter);
- }
- } else {
- Class<?> type = field.getType();
- if (type.equals(boolean.class)) {
- builder.append("(n.%s?1:0)", getter);
- } else if (type.equals(int.class)) {
- builder.append("n.%s", getter);
- } else {
- builder.append("(n.%s.hashCode())", getter);
- }
- }
- }
- }
- body.addStatement(parseStatement(builder.toString()));
- }
-}
+/*
+ * Copyright (C) 2007-2010 Júlio Vilmar Gesser.
+ * Copyright (C) 2011, 2013-2016 The JavaParser Team.
+ *
+ * This file is part of JavaParser.
+ *
+ * JavaParser can be used either under the terms of
+ * a) the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * b) the terms of the Apache License
+ *
+ * You should have received a copy of both licenses in LICENCE.LGPL and
+ * LICENCE.APACHE. Please refer to those files for details.
+ *
+ * JavaParser is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ */
+
+package com.github.javaparser.generator.core.visitor;
+
+import java.util.List;
+
+import com.github.javaparser.ast.CompilationUnit;
+import com.github.javaparser.ast.body.MethodDeclaration;
+import com.github.javaparser.ast.stmt.BlockStmt;
+import com.github.javaparser.generator.VisitorGenerator;
+import com.github.javaparser.metamodel.BaseNodeMetaModel;
+import com.github.javaparser.metamodel.JavaParserMetaModel;
+import com.github.javaparser.metamodel.PropertyMetaModel;
+import com.github.javaparser.utils.SeparatedItemStringBuilder;
+import com.github.javaparser.utils.SourceRoot;
+
+import static com.github.javaparser.StaticJavaParser.parseStatement;
+
+public class NoCommentHashCodeVisitorGenerator extends VisitorGenerator {
+
+ public NoCommentHashCodeVisitorGenerator(SourceRoot sourceRoot) {
+ super(sourceRoot, "com.github.javaparser.ast.visitor", "NoCommentHashCodeVisitor", "Integer", "Void", true);
+ }
+
+ @Override
+ protected void generateVisitMethodBody(BaseNodeMetaModel node, MethodDeclaration visitMethod,
+ CompilationUnit compilationUnit) {
+ visitMethod.getParameters().forEach(p -> p.setFinal(true));
+
+ final BlockStmt body = visitMethod.getBody().get();
+ body.getStatements().clear();
+
+ final SeparatedItemStringBuilder builder = new SeparatedItemStringBuilder("return ", "* 31 +", ";");
+ final List<PropertyMetaModel> propertyMetaModels = node.getAllPropertyMetaModels();
+ if (node.equals(JavaParserMetaModel.lineCommentMetaModel)
+ || node.equals(JavaParserMetaModel.blockCommentMetaModel)
+ || node.equals(JavaParserMetaModel.javadocCommentMetaModel) || propertyMetaModels.isEmpty()) {
+ builder.append("0");
+ } else {
+ for (PropertyMetaModel field : propertyMetaModels) {
+ final String getter = field.getGetterMethodName() + "()";
+ if (field.equals(JavaParserMetaModel.nodeMetaModel.commentPropertyMetaModel)) {
+ if (propertyMetaModels.size() == 1) {
+ builder.append("0");
+ break;
+ } else
+ continue;
+ }
+ // Is this field another AST node? Visit it.
+ if (field.getNodeReference().isPresent()) {
+ if (field.isOptional()) {
+ builder.append("(n.%s.isPresent()? n.%s.get().accept(this, arg):0)", getter, getter);
+ } else {
+ builder.append("(n.%s.accept(this, arg))", getter);
+ }
+ } else {
+ Class<?> type = field.getType();
+ if (type.equals(boolean.class)) {
+ builder.append("(n.%s?1:0)", getter);
+ } else if (type.equals(int.class)) {
+ builder.append("n.%s", getter);
+ } else {
+ builder.append("(n.%s.hashCode())", getter);
+ }
+ }
+ }
+ }
+ body.addStatement(parseStatement(builder.toString()));
+ }
+}
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/ObjectIdentityEqualsVisitorGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/ObjectIdentityEqualsVisitorGenerator.java
index 3c182fc68..053fd44a0 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/ObjectIdentityEqualsVisitorGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/ObjectIdentityEqualsVisitorGenerator.java
@@ -5,11 +5,8 @@ import com.github.javaparser.ast.body.MethodDeclaration;
import com.github.javaparser.ast.stmt.BlockStmt;
import com.github.javaparser.generator.VisitorGenerator;
import com.github.javaparser.metamodel.BaseNodeMetaModel;
-import com.github.javaparser.metamodel.PropertyMetaModel;
import com.github.javaparser.utils.SourceRoot;
-import static com.github.javaparser.utils.CodeGenerationUtils.f;
-
/**
* Generates JavaParser's ObjectIdentityEqualsVisitor.
*/
diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/ObjectIdentityHashCodeVisitorGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/ObjectIdentityHashCodeVisitorGenerator.java
index 88eb3e739..8e320d3af 100644
--- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/ObjectIdentityHashCodeVisitorGenerator.java
+++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/visitor/ObjectIdentityHashCodeVisitorGenerator.java
@@ -5,14 +5,8 @@ import com.github.javaparser.ast.body.MethodDeclaration;
import com.github.javaparser.ast.stmt.BlockStmt;
import com.github.javaparser.generator.VisitorGenerator;
import com.github.javaparser.metamodel.BaseNodeMetaModel;
-import com.github.javaparser.metamodel.PropertyMetaModel;
-import com.github.javaparser.utils.SeparatedItemStringBuilder;
import com.github.javaparser.utils.SourceRoot;
-import java.util.List;
-
-import static com.github.javaparser.JavaParser.parseStatement;
-
/**
* Generates JavaParser's ObjectIdentityHashCodeVisitor.
*/