Inspectopedia 2024.3 Help

'UastHintedVisitorAdapter' hints problems

Reports missing or redundant hints in UastHintedVisitorAdapter creation.

UastHintedVisitorAdapter receives hints that allow to optimize UAST visitor execution by visiting only elements, which classes are specified in the hint list.

If the visitor implements, e.g., visitCallExpression method, but does not include UCallExpression in hints, then the method will not be executed.

If the visitor does not implement, e.g., visitCallExpression method, but does include UCallExpression in hints, then the inherited method will be unnecessarily executed.

return UastHintedVisitorAdapter.create( language, object : AbstractUastNonRecursiveVisitor() { override fun visitForExpression(node: UForExpression): Boolean { inspectLoopExpression() return true } override fun visitDoWhileExpression(node: UDoWhileExpression): Boolean { // unused at runtime inspectLoopExpression() return true } //... }, arrayOf(UForExpression::class.java) // Bad: missing UDoWhileExpression::class.java )
UastHintedVisitorAdapter.create( language, object : AbstractUastNonRecursiveVisitor() { override fun visitForExpression(node: UForExpression): Boolean { inspectLoopExpression() return true } //... }, arrayOf( UForExpression::class.java, UDoWhileExpression::class.java // Bad: visiting UDoWhileExpression is not implemented ) )

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

UastHintedVisitorAdapterHints
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Plugin DevKit | Code

New in 2024.2

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.3, Qodana for JVM 2024.3,

Can be installed with plugin:

Plugin DevKit, 243.23126

Last modified: 03 December 2024