Find concurrency primitives
Recipe ID
org.openrewrite.kotlin.search.FindConcurrencySurface$KtRecipeArtifact
io.moderne.recipe:recipes-kotlinRaw threads, executor-service factories, JUC locks, atomic primitives, futures, synchronized blocks, @Volatile fields, ThreadLocal allocations, and JUC coordination primitives (Semaphore, CountDownLatch, CyclicBarrier). Each match is a position to inspect for cancellation semantics, happens-before edges, and pool lifecycle.
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.kotlin.search.FindConcurrencySurface$KtRecipeIf the recipe isn’t available locally, install it with:
mod config recipes jar install io.moderne.recipe:recipes-kotlin:0.2.0Definition
This recipe runs the following recipes in order.
- Find
Thread(...)constructor callsorg.openrewrite.kotlin.search.FindThreadConstructors$KtRecipe - Find
Executors.newXxxThreadPoolfactory callsorg.openrewrite.kotlin.search.FindExecutorServiceFactories$KtRecipe - Find
ReentrantLock()/ReentrantReadWriteLock()allocationsorg.openrewrite.kotlin.search.FindReentrantLockAllocations$KtRecipe - Find
AtomicReference/AtomicInteger/AtomicLong/AtomicBooleanallocationsorg.openrewrite.kotlin.search.FindAtomicAllocations$KtRecipe - Find
CompletableFuture/FutureTaskallocationsorg.openrewrite.kotlin.search.FindFutureAllocations$KtRecipe - Find
synchronized(lock) { ... }callsorg.openrewrite.kotlin.search.FindSynchronizedBlocks$KtRecipe - Find
@Volatilepropertiesorg.openrewrite.kotlin.search.FindVolatileFields$KtRecipe - Find
ThreadLocal()allocationsorg.openrewrite.kotlin.search.FindThreadLocalAllocations$KtRecipe - Find
Semaphore/CountDownLatch/CyclicBarrierallocationsorg.openrewrite.kotlin.search.FindSemaphoreOrLatchAllocations$KtRecipe
Data tables
Structured output this recipe can produce.
- Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats