From 9db418cd41a08cb3b691e5bb363431d81a76bd3c Mon Sep 17 00:00:00 2001 From: Doug Lawrie Date: Sun, 3 Mar 2019 13:43:51 +0000 Subject: [PATCH] Don't mark generated linked atomic queues as final Reported in #208, fixed but subsequent regressed as fix edited generated source. This change should fix it permanently. --- .../queues/atomic/JavaParsingAtomicArrayQueueGenerator.java | 4 +++- .../queues/atomic/JavaParsingAtomicLinkedQueueGenerator.java | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) 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 4723db4a..6459e8f7 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 @@ -551,14 +551,16 @@ public static void main(String[] args) throws Exception { } outputFileName += ".java"; + File outputFile = new File(outputDirectory, outputFileName); try { - writer = new FileWriter(new File(outputDirectory, outputFileName)); + writer = new FileWriter(outputFile); writer.write(cu.toString()); } finally { if (writer != null) { writer.close(); } } + System.out.println("Saved to " + outputFile); } } 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 1a195b4e..1ba6e2c2 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 @@ -89,7 +89,6 @@ public void visit(ClassOrInterfaceDeclaration node, Void arg) { * Special case for MPSC */ node.removeModifier(Modifier.ABSTRACT); - node.addModifier(Modifier.FINAL); } if (isCommentPresent(node, GEN_DIRECTIVE_CLASS_CONTAINS_ORDERED_FIELD_ACCESSORS)) {