Commit Graph

277 Commits

Author SHA1 Message Date
Mikhail Pyltsin
59f94d7232 [java-inspection] IJ-CR-128589 IDEA-349655 Improvements for logging inspections. new LogStatementNotGuardedByLogCondition
- delete custom settings

GitOrigin-RevId: dc3625006922b3db74c6f478a3b1ac8bf5e5ddad
2024-03-22 14:28:29 +00:00
Georgii Ustinov
72f8dd7b29 [Java. Logging] Add tests for kotlin logging resolve placeholders
IDEA-342484

GitOrigin-RevId: 80da1ccf89b4cc37813facc71d3fc389ead42869
2024-03-21 14:02:59 +00:00
Georgii Ustinov
2f4aa20792 [Java. Logging] Add tests for java logging resolve placeholders
IDEA-342484

GitOrigin-RevId: 79f8501d6742a8174806e33abadeab3919101519
2024-03-21 14:02:52 +00:00
Georgii Ustinov
0e8e1f1598 [Java. Logging] Rename JvmLoggerSymbolReferenceProvider to LoggingArgumentSymbolReferenceProvider
IDEA-342484

GitOrigin-RevId: 60c6c1efbdd4f29bad036f79ce62f8759d2e7fd2
2024-03-15 15:15:20 +00:00
Georgii Ustinov
c3bc0c82af [Java. Logging] Add base for tests for resolving logger methods in java
IDEA-342484

GitOrigin-RevId: fd2666c64933e2c82e546e20b752f2a4a4775c02
2024-03-15 15:15:15 +00:00
Bart van Helvert
f896419d92 [jvm] Split JUnit usage provider per framework
Will allow for disabling them individually. #IDEA-346510 Fixed

GitOrigin-RevId: 7b879111b92f38a7a55166d67d657520c6d9314d
2024-03-12 01:13:37 +00:00
Mikhail Pyltsin
d4b2f1f75d [java-inspection] IDEA-337700 Improvements for logging inspections
- new inspection LoggingGuardedByConditionInspection

GitOrigin-RevId: 4dc52a70105fb7bdbbf3d6ddbed5db2e6640fd0d
2024-03-08 21:31:58 +00:00
Mikhail Pyltsin
5f382bc662 [java-inspection] IDEA-337700 Improvements for logging inspections
- new LogStatementNotGuardedByLogConditionInspection

GitOrigin-RevId: e5cb767b24b33cb450597551dbbf4ece153a81e2
2024-03-07 12:05:26 +00:00
Mikhail Pyltsin
3aee4d1ab9 [uast-inspection] IJ-CR-127603 IDEA-347890 Similar logs inspection. Skip warning if they are in the same codeblock
- add case with one similar message

GitOrigin-RevId: 79c23c016c857949b91ca3cbaaf9b63e5c8243fd
2024-03-04 11:42:56 +00:00
Mikhail Pyltsin
1da47e479f [uast-inspection] IDEA-347890 Similar logs inspection. Skip warning if they are in the same codeblock
GitOrigin-RevId: 7b481eebc5196909c648b46051bfeb46feab6d59
2024-02-29 19:21:24 +00:00
Mikhail Pyltsin
3d588e6190 [java-console] IDEA-346172 Console navigation. Skip sun.awt.X11
GitOrigin-RevId: 5b213dda688f89adc603edf8e36a1ac737b9b2af
2024-02-14 20:25:40 +00:00
Mikhail Pyltsin
b76d998616 [java-console] IJ-CR-125130 IDEA-344708 JVM Log navigation doesn't support nested classes
- reformat tests

GitOrigin-RevId: 2234cfe824796383a04a66a457b34e0eb421b4e0
2024-02-05 17:45:34 +00:00
Mikhail Pyltsin
a6c3ae7d9d [java-console] IJ-CR-125130 IDEA-344708 JVM Log navigation doesn't support nested classes
- fix tests
- more tests

GitOrigin-RevId: 61d37ef812c1dd7558d5ec8324717dd207c76345
2024-02-02 15:48:41 +00:00
Mikhail Pyltsin
888a48604c [java-console] IDEA-344708 JVM Log navigation doesn't support nested classes
- support local classes

GitOrigin-RevId: 93ecd046a980980e4a25d8b2e76f72b684bb0a26
2024-02-01 17:22:37 +00:00
Mikhail Pyltsin
fd0e68a470 [java-console] IDEA-344708 JVM Log navigation doesn't support nested classes
- support double nested classes

GitOrigin-RevId: 169c1c30bc895a838bdedd941d6397fe6de5c0ef
2024-01-31 23:06:53 +00:00
Mikhail Pyltsin
199e367dbd [java-console] IDEA-344708 JVM Log navigation doesn't support nested classes
GitOrigin-RevId: 80c2c932b4630df848b7ff897a1ac50c988b8bcc
2024-01-31 18:39:52 +00:00
Tagir Valeev
0ceb02ac9a [jvm-inspections] Move Java test data for EmptyMethodInspection to JVM module; suppression top-level test
GitOrigin-RevId: 645e9ea69d7d2c81d65bfe73d6e74dc30c4e22e6
2024-01-30 11:13:43 +00:00
Tagir Valeev
0385834f13 [jvm-inspections] Fix EmptyMethod compatibility with Kotlin
1. Fix suppression handling for Kotlin in global inspections
2. Fix RefMethodImpl#hasBody for top-level Kotlin functions
3. Move to JVM module
4. Add Kotlin tests
Fixes IDEA-330737 @file:Suppress("EmptyMethod") does not work

GitOrigin-RevId: 83f383e06754f510b6a99e35751263017734bb26
2024-01-29 19:42:30 +00:00
Mikhail Pyltsin
c6e9c60193 IJ-CR-123098 [java-console] IDEA-331307 Provide navigation for logs for jvm languages
- resolve only on links
- reuse `codePointAt`

GitOrigin-RevId: 207034ef37fe94d4cbb6bbe5e3f68c7ce8c0cbdd
2024-01-29 19:41:43 +00:00
Mikhail Pyltsin
9408f6ef14 [java-inspections] IDEA-343899 Similar logs inspection
- strict rules for exceptions and additional info

GitOrigin-RevId: 6ca5ca3c64660ed14b3dbc8d9a48ca4c588615a0
2024-01-24 12:12:57 +00:00
Mikhail Pyltsin
23f1773740 [uast-inspection] IDEA-343298 LoggingSimilarMessageInspection should skip empty messages
- skip messages without certain beginnings and ends

GitOrigin-RevId: eb9ef8be4c8629712a0915a539fc7e9dac4c1238
2024-01-17 22:12:41 +00:00
Mikhail Pyltsin
dcc38e5eb7 [uast-inspection] IDEA-331308 Create inspection highlighting non-distinguishable logging sites in a single class
- skip error log levels with stacktrace

GitOrigin-RevId: 5662e1f1a5e43fdb371d6597693c0ab875040204
2024-01-17 13:46:03 +00:00
Mikhail Pyltsin
1f6272bff4 [java-inspections] IJ-CR-123360 IDEA-331308 Similar logs inspection
- extract some methods

GitOrigin-RevId: b73b6dc6ec6e3424ec31b7f869e47daa9cba429a
2024-01-12 20:45:59 +00:00
Mikhail Pyltsin
a552cad2f3 [java-console] IJ-CR-123098 IDEA-331307 Provide navigation for logs for jvm languages
- support for shortened logs

GitOrigin-RevId: ac81a1f2297b4706b0d018da47d23a855f4e5bb1
2024-01-10 13:49:54 +00:00
Mikhail Pyltsin
6959a361c2 [java-inspections] IJ-CR-123360 IDEA-331308 Similar logs inspection
- added several tests
- fixes after code review
- IDEA log supports

GitOrigin-RevId: de60fa8083b8883c98ba73b0c9741e51dbcb491a
2024-01-10 13:49:46 +00:00
Mikhail Pyltsin
cb7187787c [uast-inspections] IDEA-134025 Quickfix for "Log condition does not match logging call"
GitOrigin-RevId: 9bf9f012525aab45167daf84dd13ebd0a8c135fa
2024-01-08 20:13:25 +00:00
Mikhail Pyltsin
8efd59f2ec [java-inspections] IDEA-331308 Similar logs inspection
GitOrigin-RevId: 33b43026b651dfee14eaa91e978c0c0c2b793ba2
2024-01-08 11:12:08 +00:00
Bart van Helvert
3a5d36c5f7 [jvm] Add test case for Java API usage inspection
Adds another test case for when a method has a certain since version but its super method has a lower since version.

GitOrigin-RevId: 5962a0f2d4549b6729fe7c303798bc04b575e5c5
2024-01-05 20:01:46 +00:00
Mikhail Pyltsin
384af015b4 [java-console] IDEA-331307 Provide navigation for logs for jvm languages
GitOrigin-RevId: c827937afc1da8cdfe1cc7c1297093df284ecdc8
2024-01-03 12:11:30 +00:00
Bart van Helvert
e43e1dd876 [jvm] Clean up SuppressionAnnotationInspection
Improves inspection message and code structure. #IDEA-337709

GitOrigin-RevId: cc1fd2482724ea235a301b770abbcc02d1fcf6cc
2023-12-14 14:04:06 +00:00
Bart van Helvert
316a5db6c8 [jvm] Remove unnecessary extension point for annotation suppressions
The extension point was used to run logic for various suppression annotations. Instead of running different logic based on the language, we can run the same logic for all languages. #IDEA-337709

GitOrigin-RevId: 7c51e3774d8d0c5232d37b817d1086ba4ebdda57
2023-12-14 14:04:06 +00:00
Bart van Helvert
58298dd53c [jvm] Move JUnit inspections into JUnit plugin
#IDEA-334017 Fixed

GitOrigin-RevId: 919fb236aeb44c192944eae2bae8da621e5a0e74
2023-12-13 03:15:25 +00:00
Georgii Ustinov
0ee266b325 Get rid of resolver in Java Formatter
IDEA-235747

GitOrigin-RevId: b085d98a222ffdf93f46ff9ec75ee7a351b9ee01
2023-12-04 09:06:58 +00:00
Aleksey Dobrynin
ff17b6dabf [java, inspection, fix] IDEA-338231
- Rename an inspection class
- Add a code example in the documentation
- Support RunWith in interfaces
- Visit classes instead of annotations

GitOrigin-RevId: 2cbbe679fc77e81838cae02a6f4f4242a0e028d5
2023-12-01 11:54:54 +00:00
Karol Lewandowski
ad246cb491 IDEA-337709: Reimplement SuppressionAnnotationInspection to UAST
GitOrigin-RevId: 5384975e4786fbc34114065e117f66d930435621
2023-11-27 18:29:28 +00:00
Aleksey Dobrynin
52eece9283 [java, inspection] Detect inherited @RunWith annotation in JUnit 4 (IDEA-338231)
GitOrigin-RevId: a1b03ddd5904957286576b281aa97c6947c261e8
2023-11-23 12:15:32 +00:00
Bart van Helvert
d78141974f [jvm] Support go to related symbol for method source
#IDEA-325969 Fixed

GitOrigin-RevId: 7ae47a6e558b484cf397c7192abf66dc6eebdf22
2023-11-07 20:10:45 +00:00
Georgii Ustinov
26f97f459b [JUnit] Restrict the visibility of test classes and methods after migrating JUnit4 -> JUnit5
Improve 'Migrate to JUnit 5' action ^IDEA-237072 fixed

GitOrigin-RevId: 6bd0f4ccad30aad91b52a02b065c650cd27e4d02
2023-11-01 09:29:33 +00:00
Georgii Ustinov
6233b72cb6 [jvm] Fix false-positive UrlHashCodeInspection
Previously, this inspection highlighted the cases like `url.equals(null)` or `url == null`. This commit fixes this behavior

^IDEA-332645 fixed

GitOrigin-RevId: 7448489db08e5bbf75dfc1582788bc1f78f923f2
2023-10-26 15:23:03 +00:00
Mikhail Pyltsin
de1dca93d3 [uast-inspections] IDEA-335116 - Non-safe string, support qualifier cleaners
GitOrigin-RevId: 5bd6b1c53c32e096a7a20e7cdd23b2e39bc19fea
2023-10-17 15:20:05 +00:00
Mikhail Pyltsin
e7c4d58f83 [uast-inspections] IDEA-334967 Non-safe string: always true/false condition in taint inference in other methods
- support if in other methods

GitOrigin-RevId: 1012172402ed8ea0961b1ef552cdfb2f37a7d49e
2023-10-17 12:25:09 +00:00
Mikhail Pyltsin
0e4c75ac6d [uast-inspections] IDEA-334946 Non-safe string: always true/false condition in taint inference for ternary operators
- support ternary

GitOrigin-RevId: 3d9081be20e5e9ff1546098fc0c84b942c77b53f
2023-10-17 11:54:55 +00:00
Bart van Helvert
ba513a4d88 [jvm] Rename shared.testFramework to internal.TestFramework
To better highlight that this test framework is for internal usage only. #IDEA-334017

GitOrigin-RevId: c491de2411cdffd6eee3e97a6273982560572f4b
2023-10-11 23:39:50 +00:00
Bart van Helvert
4845f7164a [jvm] Migrate JVM inspection tests to JDK 21 language and SDK
GitOrigin-RevId: 477fad876b95025bb48419f2510d597da6dbc9bd
2023-10-06 21:56:09 +00:00
Bart van Helvert
79bce8459f [jvm] Split test framework into testBase and testFramework
Test bases should only be used in test from jvm-analysis module, the test framework can be shared in multiple modules.

GitOrigin-RevId: cbe47d864eb2c1f3f89189022d76333ed3fe3601
2023-10-06 15:10:52 +00:00
Bart van Helvert
212683a78c [jvm] Disable assertions between inconvertible types on throwables
#IDEA-331109

GitOrigin-RevId: b7f9a705ae3cce08880316d7d7a2ff0a92668bf9
2023-10-03 12:14:41 +00:00
Bart van Helvert
2c7dcce36f [jvm] Support AssertJ first in type checker
#IDEA-331109 Fixed

GitOrigin-RevId: b4b81e030b804714b32979954ac8779b29dc52c9
2023-10-03 12:14:40 +00:00
Mikhail Pyltsin
b4c698f763 [uast-inspections] IDEA-333480 support setMessage for slf4j fluent api
GitOrigin-RevId: 404bff9bebe88169f44588e209fb3eeba09eaab5
2023-10-02 10:48:06 +00:00
Mikhail Pyltsin
46d30a46d9 [uast-inspection] IDEA-333003 support fluent api for slf4j
- now `addArgument` is taken into account and complex cases are skipped

GitOrigin-RevId: acbdd50da7199f24938f76d3a84d0d17857b261e
2023-09-29 11:45:33 +00:00
Georgii Ustinov
883f800574 [Code Analysis. Inspection] IDEA-234302 System.getProperty(str) inspection implementation. Review Refactor
GitOrigin-RevId: e793b2306586a3ea6e12691b5d887fe1cf0b2913
2023-09-22 13:59:38 +00:00