Class JavaParsingAtomicLinkedQueueGenerator

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

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

An 'LinkedQueue' is one that is backed by a linked list and use a producerNode and a consumerNode field to track the positions of each.

  • Constructor Details

    • JavaParsingAtomicLinkedQueueGenerator

      public JavaParsingAtomicLinkedQueueGenerator(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>
    • visit

      public void visit(com.github.javaparser.ast.expr.CastExpr 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.MethodDeclaration 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.expr.ObjectCreationExpr 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>