Skip to main content

Find symbols

org.openrewrite.java.search.FindSymbols

Lists all symbols (classes, methods, fields, etc.) declared in the codebase. Results are emitted into a data table with symbol kind, name, parent type, signature, and visibility.

Recipe source

GitHub: FindSymbols.java, Issue Tracker, Maven Central

This recipe is available under the Apache License Version 2.0.

Options

TypeNameDescriptionExample
StringsourcePathOptional. Optional source path to limit the search to a single file.src/main/java/com/example/MyClass.java

Usage

This recipe has no required configuration parameters and comes from a rewrite core library. It can be activated directly without adding any dependencies.

  1. Add the following to your build.gradle file:
build.gradle
plugins {
id("org.openrewrite.rewrite") version("latest.release")
}

rewrite {
activeRecipe("org.openrewrite.java.search.FindSymbols")
setExportDatatables(true)
}

repositories {
mavenCentral()
}

  1. Run gradle rewriteRun to run the recipe.

See how this recipe works across multiple open-source repositories

Run this recipe on OSS repos at scale with the Moderne SaaS.

The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories.

Please contact Moderne for more information about safely running the recipes on your own codebase in a private SaaS.

Data Tables

Symbols overview

org.openrewrite.java.table.SymbolsTable

All symbols (classes, methods, fields) declared in the codebase.

Column NameDescription
Source pathThe path to the source file containing this symbol.
Symbol kindThe kind of symbol: CLASS, INTERFACE, ENUM, RECORD, ANNOTATION, METHOD, CONSTRUCTOR, or FIELD.
NameThe simple name of the symbol.
Parent typeThe fully qualified name of the enclosing type, if any.
SignatureFor methods: the method signature. For fields: the field type.
VisibilityThe access modifier: PUBLIC, PROTECTED, PRIVATE, or PACKAGE_PRIVATE.