Class JavaParsingAtomicArrayQueueGenerator

java.lang.Object
com.github.javaparser.ast.visitor.VoidVisitorAdapter<Void>
org.jctools.queues.atomic.JavaParsingAtomicQueueGenerator
org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator
All Implemented Interfaces:
com.github.javaparser.ast.visitor.VoidVisitor<Void>, JCToolsGenerator
Direct Known Subclasses:
JavaParsingAtomicUnpaddedArrayQueueGenerator

public class JavaParsingAtomicArrayQueueGenerator extends JavaParsingAtomicQueueGenerator
This generator takes in an JCTools 'ArrayQueue' Java source file and patches Unsafe accesses into atomic AtomicLongFieldUpdater. It outputs a Java source file with these patches.

An 'ArrayQueue' is one that is backed by a circular array and use a producerLimit and a consumerLimit field to track the positions of each.

  • Constructor Details

    • JavaParsingAtomicArrayQueueGenerator

      public JavaParsingAtomicArrayQueueGenerator(String sourceFileName)
  • Method Details

    • main

      public static void main(String[] args) throws Exception
      Throws:
      Exception
    • visit

      public void visit(com.github.javaparser.ast.body.ConstructorDeclaration n, Void arg)
      Specified by:
      visit in interface com.github.javaparser.ast.visitor.VoidVisitor<Void>
      Overrides:
      visit in class com.github.javaparser.ast.visitor.VoidVisitorAdapter<Void>
    • visit

      public void visit(com.github.javaparser.ast.body.ClassOrInterfaceDeclaration node, Void arg)
      Specified by:
      visit in interface com.github.javaparser.ast.visitor.VoidVisitor<Void>
      Overrides:
      visit in class com.github.javaparser.ast.visitor.VoidVisitorAdapter<Void>