Patch for javaparser API changes
This commit is contained in:
parent
5532691cf2
commit
a357107ced
325
0001-Javaparser-API.patch
Normal file
325
0001-Javaparser-API.patch
Normal file
@ -0,0 +1,325 @@
|
||||
From 19806373f6ac4babbbb3929870f8b5089e851773 Mon Sep 17 00:00:00 2001
|
||||
From: Mat Booth <mat.booth@redhat.com>
|
||||
Date: Tue, 28 Jul 2020 10:42:10 +0100
|
||||
Subject: [PATCH] Javaparser API
|
||||
|
||||
---
|
||||
jctools-build/pom.xml | 2 +-
|
||||
.../JavaParsingAtomicArrayQueueGenerator.java | 18 +++++------
|
||||
...JavaParsingAtomicLinkedQueueGenerator.java | 28 ++++++++--------
|
||||
.../jctools/queues/atomic/TraceVisitor.java | 32 +++++++++----------
|
||||
4 files changed, 40 insertions(+), 40 deletions(-)
|
||||
|
||||
diff --git a/jctools-build/pom.xml b/jctools-build/pom.xml
|
||||
index fac435c..8b1d820 100644
|
||||
--- a/jctools-build/pom.xml
|
||||
+++ b/jctools-build/pom.xml
|
||||
@@ -17,7 +17,7 @@
|
||||
<dependency>
|
||||
<groupId>com.github.javaparser</groupId>
|
||||
<artifactId>javaparser-core</artifactId>
|
||||
- <version>3.3.0</version>
|
||||
+ <version>3.14.2</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
\ No newline at end of file
|
||||
diff --git a/jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicArrayQueueGenerator.java b/jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicArrayQueueGenerator.java
|
||||
index 3708b8a..9602eca 100644
|
||||
--- a/jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicArrayQueueGenerator.java
|
||||
+++ b/jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicArrayQueueGenerator.java
|
||||
@@ -12,6 +12,7 @@ import com.github.javaparser.JavaParser;
|
||||
import com.github.javaparser.ast.CompilationUnit;
|
||||
import com.github.javaparser.ast.ImportDeclaration;
|
||||
import com.github.javaparser.ast.Modifier;
|
||||
+import com.github.javaparser.ast.Modifier.Keyword;
|
||||
import com.github.javaparser.ast.Node;
|
||||
import com.github.javaparser.ast.NodeList;
|
||||
import com.github.javaparser.ast.PackageDeclaration;
|
||||
@@ -87,7 +88,7 @@ public final class JavaParsingAtomicArrayQueueGenerator extends VoidVisitorAdapt
|
||||
}
|
||||
|
||||
if (!node.getMethodsByName("failFastOffer").isEmpty()) {
|
||||
- MethodDeclaration deprecatedMethodRedirect = node.addMethod("weakOffer", Modifier.PUBLIC);
|
||||
+ MethodDeclaration deprecatedMethodRedirect = node.addMethod("weakOffer", Keyword.PUBLIC);
|
||||
patchMethodAsDepreciatedRedirector(deprecatedMethodRedirect, "failFastOffer", PrimitiveType.intType(),
|
||||
new Parameter(classType("E"), "e"));
|
||||
}
|
||||
@@ -147,7 +148,7 @@ public final class JavaParsingAtomicArrayQueueGenerator extends VoidVisitorAdapt
|
||||
|
||||
// Remove all static fields
|
||||
for (FieldDeclaration field : node.getFields()) {
|
||||
- if (field.getModifiers().contains(Modifier.STATIC)) {
|
||||
+ if (field.getModifiers().contains(Modifier.staticModifier())) {
|
||||
field.remove();
|
||||
continue;
|
||||
}
|
||||
@@ -221,7 +222,7 @@ public final class JavaParsingAtomicArrayQueueGenerator extends VoidVisitorAdapt
|
||||
String className = n.getNameAsString();
|
||||
|
||||
for (FieldDeclaration field : n.getFields()) {
|
||||
- if (field.getModifiers().contains(Modifier.STATIC)) {
|
||||
+ if (field.getModifiers().contains(Keyword.STATIC)) {
|
||||
// Ignore statics
|
||||
continue;
|
||||
}
|
||||
@@ -266,7 +267,7 @@ public final class JavaParsingAtomicArrayQueueGenerator extends VoidVisitorAdapt
|
||||
}
|
||||
|
||||
if (usesFieldUpdater) {
|
||||
- field.addModifier(Modifier.VOLATILE);
|
||||
+ field.addModifier(Keyword.VOLATILE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -346,12 +347,11 @@ public final class JavaParsingAtomicArrayQueueGenerator extends VoidVisitorAdapt
|
||||
* @return
|
||||
*/
|
||||
private static FieldDeclaration fieldDeclarationWithInitialiser(Type type, String name, Expression initializer,
|
||||
- Modifier... modifiers) {
|
||||
+ Keyword... modifiers) {
|
||||
FieldDeclaration fieldDeclaration = new FieldDeclaration();
|
||||
VariableDeclarator variable = new VariableDeclarator(type, name, initializer);
|
||||
fieldDeclaration.getVariables().add(variable);
|
||||
- EnumSet<Modifier> modifierSet = EnumSet.copyOf(Arrays.asList(modifiers));
|
||||
- fieldDeclaration.setModifiers(modifierSet);
|
||||
+ fieldDeclaration.setModifiers(modifiers);
|
||||
return fieldDeclaration;
|
||||
}
|
||||
|
||||
@@ -368,7 +368,7 @@ public final class JavaParsingAtomicArrayQueueGenerator extends VoidVisitorAdapt
|
||||
|
||||
ClassOrInterfaceType type = simpleParametricType("AtomicLongFieldUpdater", className);
|
||||
FieldDeclaration newField = fieldDeclarationWithInitialiser(type, fieldUpdaterFieldName(variableName),
|
||||
- initializer, Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL);
|
||||
+ initializer, Keyword.PRIVATE, Keyword.STATIC, Keyword.FINAL);
|
||||
return newField;
|
||||
}
|
||||
|
||||
@@ -536,7 +536,7 @@ public final class JavaParsingAtomicArrayQueueGenerator extends VoidVisitorAdapt
|
||||
for (int i = 1; i < args.length; i++) {
|
||||
File file = new File(args[i]);
|
||||
System.out.println("Processing " + file);
|
||||
- CompilationUnit cu = JavaParser.parse(file);
|
||||
+ CompilationUnit cu = new JavaParser().parse(file).getResult().get();
|
||||
new JavaParsingAtomicArrayQueueGenerator(file.getName()).visit(cu, null);
|
||||
|
||||
organiseImports(cu);
|
||||
diff --git a/jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicLinkedQueueGenerator.java b/jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicLinkedQueueGenerator.java
|
||||
index 1a195b4..77fab49 100644
|
||||
--- a/jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicLinkedQueueGenerator.java
|
||||
+++ b/jctools-build/src/main/java/org/jctools/queues/atomic/JavaParsingAtomicLinkedQueueGenerator.java
|
||||
@@ -12,6 +12,7 @@ import com.github.javaparser.JavaParser;
|
||||
import com.github.javaparser.ast.CompilationUnit;
|
||||
import com.github.javaparser.ast.ImportDeclaration;
|
||||
import com.github.javaparser.ast.Modifier;
|
||||
+import com.github.javaparser.ast.Modifier.Keyword;
|
||||
import com.github.javaparser.ast.Node;
|
||||
import com.github.javaparser.ast.NodeList;
|
||||
import com.github.javaparser.ast.PackageDeclaration;
|
||||
@@ -88,8 +89,8 @@ public final class JavaParsingAtomicLinkedQueueGenerator extends VoidVisitorAdap
|
||||
/*
|
||||
* Special case for MPSC
|
||||
*/
|
||||
- node.removeModifier(Modifier.ABSTRACT);
|
||||
- node.addModifier(Modifier.FINAL);
|
||||
+ node.removeModifier(Keyword.ABSTRACT);
|
||||
+ node.addModifier(Keyword.FINAL);
|
||||
}
|
||||
|
||||
if (isCommentPresent(node, GEN_DIRECTIVE_CLASS_CONTAINS_ORDERED_FIELD_ACCESSORS)) {
|
||||
@@ -118,8 +119,8 @@ public final class JavaParsingAtomicLinkedQueueGenerator extends VoidVisitorAdap
|
||||
n.setName(translateQueueName(n.getNameAsString()));
|
||||
if (MPSC_LINKED_ATOMIC_QUEUE_NAME.equals(n.getNameAsString())) {
|
||||
// Special case for MPSC because the Unsafe variant has a static factory method and a protected constructor.
|
||||
- n.setModifier(Modifier.PROTECTED, false);
|
||||
- n.setModifier(Modifier.PUBLIC, true);
|
||||
+ n.setModifier(Keyword.PROTECTED, false);
|
||||
+ n.setModifier(Keyword.PUBLIC, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -177,7 +178,7 @@ public final class JavaParsingAtomicLinkedQueueGenerator extends VoidVisitorAdap
|
||||
|
||||
// Remove all static fields
|
||||
for (FieldDeclaration field : node.getFields()) {
|
||||
- if (field.getModifiers().contains(Modifier.STATIC)) {
|
||||
+ if (field.getModifiers().contains(Modifier.staticModifier())) {
|
||||
field.remove();
|
||||
continue;
|
||||
}
|
||||
@@ -222,7 +223,7 @@ public final class JavaParsingAtomicLinkedQueueGenerator extends VoidVisitorAdap
|
||||
String className = n.getNameAsString();
|
||||
|
||||
for (FieldDeclaration field : n.getFields()) {
|
||||
- if (field.getModifiers().contains(Modifier.STATIC)) {
|
||||
+ if (field.getModifiers().contains(Keyword.STATIC)) {
|
||||
// Ignore statics
|
||||
continue;
|
||||
}
|
||||
@@ -269,7 +270,7 @@ public final class JavaParsingAtomicLinkedQueueGenerator extends VoidVisitorAdap
|
||||
usesFieldUpdater = true;
|
||||
String fieldUpdaterFieldName = fieldUpdaterFieldName(variableName);
|
||||
|
||||
- MethodDeclaration method = n.addMethod("xchgProducerNode", Modifier.PROTECTED, Modifier.FINAL);
|
||||
+ MethodDeclaration method = n.addMethod("xchgProducerNode", Keyword.PROTECTED, Keyword.FINAL);
|
||||
method.setType(simpleParametricType("LinkedQueueAtomicNode", "E"));
|
||||
method.addParameter(simpleParametricType("LinkedQueueAtomicNode", "E"), "newValue");
|
||||
method.setBody(fieldUpdaterGetAndSet(fieldUpdaterFieldName, "newValue"));
|
||||
@@ -285,7 +286,7 @@ public final class JavaParsingAtomicLinkedQueueGenerator extends VoidVisitorAdap
|
||||
}
|
||||
|
||||
if (usesFieldUpdater) {
|
||||
- field.addModifier(Modifier.VOLATILE);
|
||||
+ field.addModifier(Keyword.VOLATILE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -380,12 +381,11 @@ public final class JavaParsingAtomicLinkedQueueGenerator extends VoidVisitorAdap
|
||||
* @return
|
||||
*/
|
||||
private static FieldDeclaration fieldDeclarationWithInitialiser(Type type, String name, Expression initializer,
|
||||
- Modifier... modifiers) {
|
||||
+ Keyword... modifiers) {
|
||||
FieldDeclaration fieldDeclaration = new FieldDeclaration();
|
||||
VariableDeclarator variable = new VariableDeclarator(type, name, initializer);
|
||||
fieldDeclaration.getVariables().add(variable);
|
||||
- EnumSet<Modifier> modifierSet = EnumSet.copyOf(Arrays.asList(modifiers));
|
||||
- fieldDeclaration.setModifiers(modifierSet);
|
||||
+ fieldDeclaration.setModifiers(modifiers);
|
||||
return fieldDeclaration;
|
||||
}
|
||||
|
||||
@@ -403,7 +403,7 @@ public final class JavaParsingAtomicLinkedQueueGenerator extends VoidVisitorAdap
|
||||
ClassOrInterfaceType type = simpleParametricType("AtomicReferenceFieldUpdater", className,
|
||||
"LinkedQueueAtomicNode");
|
||||
FieldDeclaration newField = fieldDeclarationWithInitialiser(type, fieldUpdaterFieldName(variableName),
|
||||
- initializer, Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL);
|
||||
+ initializer, Keyword.PRIVATE, Keyword.STATIC, Keyword.FINAL);
|
||||
return newField;
|
||||
}
|
||||
|
||||
@@ -425,7 +425,7 @@ public final class JavaParsingAtomicLinkedQueueGenerator extends VoidVisitorAdap
|
||||
|
||||
ClassOrInterfaceType type = simpleParametricType("AtomicLongFieldUpdater", className);
|
||||
FieldDeclaration newField = fieldDeclarationWithInitialiser(type, fieldUpdaterFieldName(variableName),
|
||||
- initializer, Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL);
|
||||
+ initializer, Keyword.PRIVATE, Keyword.STATIC, Keyword.FINAL);
|
||||
return newField;
|
||||
}
|
||||
|
||||
@@ -621,7 +621,7 @@ public final class JavaParsingAtomicLinkedQueueGenerator extends VoidVisitorAdap
|
||||
for (int i = 1; i < args.length; i++) {
|
||||
File file = new File(args[i]);
|
||||
System.out.println("Processing " + file);
|
||||
- CompilationUnit cu = JavaParser.parse(file);
|
||||
+ CompilationUnit cu = new JavaParser().parse(file).getResult().get();
|
||||
new JavaParsingAtomicLinkedQueueGenerator(file.getName()).visit(cu, null);
|
||||
|
||||
organiseImports(cu);
|
||||
diff --git a/jctools-build/src/main/java/org/jctools/queues/atomic/TraceVisitor.java b/jctools-build/src/main/java/org/jctools/queues/atomic/TraceVisitor.java
|
||||
index 7ff87f4..e64cf74 100644
|
||||
--- a/jctools-build/src/main/java/org/jctools/queues/atomic/TraceVisitor.java
|
||||
+++ b/jctools-build/src/main/java/org/jctools/queues/atomic/TraceVisitor.java
|
||||
@@ -58,11 +58,11 @@ import com.github.javaparser.ast.expr.TypeExpr;
|
||||
import com.github.javaparser.ast.expr.UnaryExpr;
|
||||
import com.github.javaparser.ast.expr.VariableDeclarationExpr;
|
||||
import com.github.javaparser.ast.modules.ModuleDeclaration;
|
||||
-import com.github.javaparser.ast.modules.ModuleExportsStmt;
|
||||
-import com.github.javaparser.ast.modules.ModuleOpensStmt;
|
||||
-import com.github.javaparser.ast.modules.ModuleProvidesStmt;
|
||||
-import com.github.javaparser.ast.modules.ModuleRequiresStmt;
|
||||
-import com.github.javaparser.ast.modules.ModuleUsesStmt;
|
||||
+import com.github.javaparser.ast.modules.ModuleExportsDirective;
|
||||
+import com.github.javaparser.ast.modules.ModuleOpensDirective;
|
||||
+import com.github.javaparser.ast.modules.ModuleProvidesDirective;
|
||||
+import com.github.javaparser.ast.modules.ModuleRequiresDirective;
|
||||
+import com.github.javaparser.ast.modules.ModuleUsesDirective;
|
||||
import com.github.javaparser.ast.stmt.AssertStmt;
|
||||
import com.github.javaparser.ast.stmt.BlockStmt;
|
||||
import com.github.javaparser.ast.stmt.BreakStmt;
|
||||
@@ -72,13 +72,13 @@ import com.github.javaparser.ast.stmt.DoStmt;
|
||||
import com.github.javaparser.ast.stmt.EmptyStmt;
|
||||
import com.github.javaparser.ast.stmt.ExplicitConstructorInvocationStmt;
|
||||
import com.github.javaparser.ast.stmt.ExpressionStmt;
|
||||
+import com.github.javaparser.ast.stmt.ForEachStmt;
|
||||
import com.github.javaparser.ast.stmt.ForStmt;
|
||||
-import com.github.javaparser.ast.stmt.ForeachStmt;
|
||||
import com.github.javaparser.ast.stmt.IfStmt;
|
||||
import com.github.javaparser.ast.stmt.LabeledStmt;
|
||||
import com.github.javaparser.ast.stmt.LocalClassDeclarationStmt;
|
||||
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.ast.stmt.SynchronizedStmt;
|
||||
import com.github.javaparser.ast.stmt.ThrowStmt;
|
||||
@@ -317,8 +317,8 @@ public final class TraceVisitor extends VoidVisitorAdapter<Void> {
|
||||
}
|
||||
|
||||
@Override
|
||||
- public void visit(ForeachStmt n, Void arg) {
|
||||
- out.println("ForeachStmt: " + (extended ? n : ""));
|
||||
+ public void visit(ForEachStmt n, Void arg) {
|
||||
+ out.println("ForEachStmt: " + (extended ? n : ""));
|
||||
super.visit(n, arg);
|
||||
}
|
||||
|
||||
@@ -445,31 +445,31 @@ public final class TraceVisitor extends VoidVisitorAdapter<Void> {
|
||||
}
|
||||
|
||||
@Override
|
||||
- public void visit(ModuleExportsStmt n, Void arg) {
|
||||
+ public void visit(ModuleExportsDirective n, Void arg) {
|
||||
out.println("ModuleExportsStmt: " + (extended ? n : ""));
|
||||
super.visit(n, arg);
|
||||
}
|
||||
|
||||
@Override
|
||||
- public void visit(ModuleOpensStmt n, Void arg) {
|
||||
+ public void visit(ModuleOpensDirective n, Void arg) {
|
||||
out.println("ModuleOpensStmt: " + (extended ? n : ""));
|
||||
super.visit(n, arg);
|
||||
}
|
||||
|
||||
@Override
|
||||
- public void visit(ModuleProvidesStmt n, Void arg) {
|
||||
+ public void visit(ModuleProvidesDirective n, Void arg) {
|
||||
out.println("ModuleProvidesStmt: " + (extended ? n : ""));
|
||||
super.visit(n, arg);
|
||||
}
|
||||
|
||||
@Override
|
||||
- public void visit(ModuleRequiresStmt n, Void arg) {
|
||||
+ public void visit(ModuleRequiresDirective n, Void arg) {
|
||||
out.println("ModuleRequiresStmt: " + (extended ? n : ""));
|
||||
super.visit(n, arg);
|
||||
}
|
||||
|
||||
@Override
|
||||
- public void visit(ModuleUsesStmt n, Void arg) {
|
||||
+ public void visit(ModuleUsesDirective n, Void arg) {
|
||||
out.println("ModuleUsesStmt: " + (extended ? n : ""));
|
||||
super.visit(n, arg);
|
||||
}
|
||||
@@ -559,7 +559,7 @@ public final class TraceVisitor extends VoidVisitorAdapter<Void> {
|
||||
}
|
||||
|
||||
@Override
|
||||
- public void visit(SwitchEntryStmt n, Void arg) {
|
||||
+ public void visit(SwitchEntry n, Void arg) {
|
||||
out.println("SwitchEntryStmt: " + (extended ? n : ""));
|
||||
super.visit(n, arg);
|
||||
}
|
||||
@@ -665,7 +665,7 @@ public final class TraceVisitor extends VoidVisitorAdapter<Void> {
|
||||
public static void main(String[] args) throws Exception {
|
||||
for (String file : args) {
|
||||
System.out.println("Opening " + file);
|
||||
- CompilationUnit cu = JavaParser.parse(new File(file));
|
||||
+ CompilationUnit cu = new JavaParser().parse(new File(file)).getResult().get();
|
||||
new TraceVisitor(System.out, false).visit(cu, null);
|
||||
System.out.println();
|
||||
System.out.println();
|
||||
--
|
||||
2.26.2
|
||||
|
||||
12
jctools.spec
12
jctools.spec
@ -3,15 +3,18 @@
|
||||
|
||||
Name: jctools
|
||||
Version: 2.1.2
|
||||
Release: 9%{?dist}
|
||||
Release: 10%{?dist}
|
||||
Summary: Java Concurrency Tools for the JVM
|
||||
License: ASL 2.0
|
||||
URL: http://jctools.github.io/JCTools/
|
||||
Source0: https://github.com/JCTools/JCTools/archive/v%{namedversion}/%{name}-%{namedversion}.tar.gz
|
||||
|
||||
# Update for javaparser API change, taken from https://github.com/JCTools/JCTools/commit/b8311b2f818e40cd3e2efa6686169ec7d4ee7dac
|
||||
Patch0: 0001-Javaparser-API.patch
|
||||
|
||||
BuildRequires: java-1.8.0-openjdk-devel
|
||||
BuildRequires: maven-local
|
||||
BuildRequires: mvn(com.github.javaparser:javaparser-core)
|
||||
BuildRequires: mvn(com.github.javaparser:javaparser-core) >= 3.14.16
|
||||
BuildRequires: mvn(com.google.guava:guava-testlib)
|
||||
BuildRequires: mvn(junit:junit)
|
||||
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
|
||||
@ -61,6 +64,8 @@ JCTools Parent POM.
|
||||
|
||||
%prep
|
||||
%setup -q -n JCTools-%{namedversion}
|
||||
%patch0 -p1
|
||||
|
||||
# Cleanup
|
||||
find . -name '*.class' -print -delete
|
||||
find . -name '*.jar' -print -delete
|
||||
@ -132,6 +137,9 @@ export JAVA_HOME=%{_jvmdir}/java-1.8.0
|
||||
%license LICENSE
|
||||
|
||||
%changelog
|
||||
* Tue Jul 28 2020 Mat Booth <mat.booth@redhat.com> - 2.1.2-10
|
||||
- Patch for javaparser API changes
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.2-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user