Unsafe cast of open service
Reports code that casts a service declared with open="true" to a more specific class than the service interface.
When a service is marked as "open" in its plugin.xml registration, it can be overridden by other plugins with a different implementation. Casting such a service to a specific implementation class is unsafe because the actual instance at runtime may be a different class, leading to ClassCastException.
Example:
Instead, use only the declared service interface:
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.
UnsafeOpenServiceCast- 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.
Inspection ID: UnsafeOpenServiceCast
Suppressing Inspection
You can suppress this inspection by placing the following comment marker before the code fragment where you no longer want messages from this inspection to appear:
More detailed instructions as well as other ways and options that you have can be found in the product documentation:
Inspection Details | |
|---|---|
By default bundled with: |