Find Java lambda receiver references
io.moderne.prethink.FindJavaLambdaReceiverReferencesio.moderne.recipe:rewrite-prethinkUsage
Run this recipe
This recipe has no required configuration options. Users of Moderne can run it via the Moderne CLI.
You will need to have configured the Moderne CLI on your machine before you can run the following command.
mod run . --recipe FindJavaLambdaReceiverReferences
If the recipe is not available locally, then you can install it using:
RELEASE resolves to the newest release and LATEST to the newest build of any kind, including snapshots. Either one lets mod config recipes upgrade pull in later versions without editing this command; a pinned version stays where you put it.
- RELEASE
- LATEST
- Pinned version
mod config recipes jar install io.moderne.recipe:rewrite-prethink:RELEASE
mod config recipes jar install io.moderne.recipe:rewrite-prethink:LATEST
mod config recipes jar install io.moderne.recipe:rewrite-prethink:0.18.0
Data tables
Java lambda receiver references
io.moderne.prethink.table.JavaLambdaReceiverReferencesOwn nearest-lambda formal declarations referenced by bare ordinary invocation selects, with actual node identities, source ranges and nullable opaque static types. Retains occurrence multiplicity within one exact input and producer namespace. Excludes outer captures and class or method boundary crossing; no runtime dispatch, functional-formal mapping or ID normalization.
mod study . --last-recipe-run \
--data-table io.moderne.prethink.table.JavaLambdaReceiverReferences
| Column | Description |
|---|---|
| Source path | Actual Java compilation-unit source path. |
| Source set | Actual sole JavaSourceSet name; null for missing or ambiguous source-set markers; empty preserved independently of project markers. |
| Project ID | Actual sole JavaProject marker UUID; null for missing or ambiguous project markers; no identity remapping. |
| Project name | Actual sole JavaProject name; descriptive only, with null and empty preserved independently of source-set markers. |
| Source set ID | Actual sole JavaSourceSet marker UUID; null for missing or ambiguous source-set markers. |
| Source file ID | Actual compilation-unit UUID in the exact original input and producer namespace; equal values never prove body UUID equality. |
| Lambda ID | Actual nearest owning J.Lambda UUID; no source ordinal or synthetic lambda identity. |
| Lambda start line | Full owning lambda coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Lambda start column | Full owning lambda coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Lambda end line | Full owning lambda coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Lambda end column | Full owning lambda coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Parameter declaration ID | Actual own formal declaration node UUID: J.VariableDeclarations.id for VARIABLE_DECLARATIONS, or the actual formal Identifier.id for IDENTIFIER. Never manufacture a container ID. |
| Parameter ID | Actual sole NamedVariable.id for VARIABLE_DECLARATIONS, or actual formal Identifier.id for IDENTIFIER. Not the declaration name Identifier ID when a NamedVariable exists. |
| Parameter kind | Actual formal representation tag VARIABLE_DECLARATIONS or IDENTIFIER. Other or malformed representations are unsupported; no fabricated nodes. |
| Parameter index | Zero-based written formal order within the owning lambda, ignoring only J.Empty placeholders; unsupported parameters do not renumber later formals. No target functional-method formal mapping. |
| Parameter name | Written own lambda formal simple name. Lexical declaration reference only; reassignment retains the same declaration and aliases do not qualify. |
| Parameter type | Actual non-Unknown formal JavaType.toString() opaque string; null for missing or Unknown. Never copied from another node or parsed as a generic signature. |
| Parameter start line | Actual full formal declaration node, including written type and annotations when present coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Parameter start column | Actual full formal declaration node, including written type and annotations when present coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Parameter end line | Actual full formal declaration node, including written type and annotations when present coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Parameter end column | Actual full formal declaration node, including written type and annotations when present coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Invocation ID | Actual ordinary J.MethodInvocation UUID whose bare select refers to the nearest lambda own formal. Zero-argument calls included; not a native match or symbol ID. |
| Select ID | Actual bare J.Identifier invocation select UUID. No field, capture, cast, parenthesis or chained outer receiver inference. |
| Invocation start line | Full ordinary invocation coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Invocation start column | Full ordinary invocation coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Invocation end line | Full ordinary invocation coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Invocation end column | Full ordinary invocation coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Select start line | Bare select Identifier coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Select start column | Bare select Identifier coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Select end line | Bare select Identifier coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Select end column | Bare select Identifier coordinate from unchanged Coordinates: one-based lines and UTF-16 columns, tab one, CRLF-aware, exclusive end. |
| Select source | Exact unchanged Coordinates printed source slice of the bare select Identifier; no trimming, normalization or evaluation. |
| Select type | Actual non-Unknown select Identifier JavaType.toString() opaque string; null for missing or Unknown. No copied formal type or runtime receiver claim. |
Source files that had results
org.openrewrite.table.SourcesFileResultsSource files that were modified by the recipe run.
mod study . --last-recipe-run \
--data-table org.openrewrite.table.SourcesFileResults
| Column | Description |
|---|---|
| Source path before the run | The source path of the file before the run. null when a source file was created during the run. |
| Source path after the run | A recipe may modify the source path. This is the path after the run. null when a source file was deleted during the run. |
| Parent of the recipe that made changes | In a hierarchical recipe, the parent of the recipe that made a change. Empty if this is the root of a hierarchy or if the recipe is not hierarchical at all. |
| Recipe that made changes | The specific recipe that made a change. |
| Estimated time saving | An estimated effort that a developer to fix manually instead of using this recipe, in unit of seconds. |
| Cycle | The recipe cycle in which the change was made. |
Source files that had search results
org.openrewrite.table.SearchResultsSearch results that were found during the recipe run.
mod study . --last-recipe-run \
--data-table org.openrewrite.table.SearchResults
| Column | Description |
|---|---|
| Source path of search result before the run | The source path of the file with the search result markers present. |
| Source path of search result after run the run | A recipe may modify the source path. This is the path after the run. null when a source file was deleted during the run. |
| Result | The trimmed printed tree of the LST element that the marker is attached to. |
| Description | The content of the description of the marker. |
| Recipe that added the search marker | The specific recipe that added the Search marker. |
Source files that errored on a recipe
org.openrewrite.table.SourcesFileErrorsThe details of all errors produced by a recipe run.
mod study . --last-recipe-run \
--data-table org.openrewrite.table.SourcesFileErrors
| Column | Description |
|---|---|
| Source path | The file that failed to parse. |
| Recipe that made changes | The specific recipe that made a change. |
| Stack trace | The stack trace of the failure. |
Recipe performance
org.openrewrite.table.RecipeRunStatsStatistics used in analyzing the performance of recipes.
mod study . --last-recipe-run \
--data-table org.openrewrite.table.RecipeRunStats
| Column | Description |
|---|---|
| The recipe | The recipe whose stats are being measured both individually and cumulatively. |
| Source file count | The number of source files the recipe ran over. |
| Source file changed count | The number of source files which were changed in the recipe run. Includes files created, deleted, and edited. |
| Cumulative scanning time (ns) | The total time spent across the scanning phase of this recipe. |
| Max scanning time (ns) | The max time scanning any one source file. |
| Cumulative edit time (ns) | The total time spent across the editing phase of this recipe. |
| Max edit time (ns) | The max time editing any one source file. |