Tagir Valeev
dde51de143
[java-dfa] Avoid using getVariableTypeByExpressionType
...
It could be quite expensive but what we actually need is to get upper bound for wildcard types
GitOrigin-RevId: b6bd85a6bd6fa9d36d7251369c81034b4e34834f
2020-12-02 08:31:28 +00:00
Tagir Valeev
f4e5972ac5
[java-psi] PsiTypesUtil.classNameEquals
...
rawType() is not quite free, and we can do a quick-check for simple name
GitOrigin-RevId: 7fcee2c8546a1926a23352378a7299ca7a5e8726
2020-12-02 08:31:27 +00:00
Tagir Valeev
2842a558b2
Avoid set.removeAll(list)
...
GitOrigin-RevId: 6ed9b1ee1df87618c9b8c534e328ea89ead9fdc3
2020-12-02 04:49:26 +00:00
Alexey Kudravtsev
f8c986128d
replace long/erroneous strings in Logger.getLogger() with class reference for brevity, readabilty and maintainability
...
GitOrigin-RevId: f0db256fe8127e0f16b834d395525231d5f7ccdf
2020-12-01 12:52:22 +00:00
Tagir Valeev
209b2a4708
[java-dfa] Ignore Nullable annotations on Guava functional interfaces
...
Fixes IDEA-170548 Dereferencing Guava Function lambda parameters "may produce NPE" in IDEA 2017.1
GitOrigin-RevId: f3093faf2251c2968480f61b6560e8bcb46b137e
2020-11-30 11:02:21 +00:00
Tagir Valeev
301c703f5d
[java-dfa] Check fail result for constructors
...
GitOrigin-RevId: ce02739377b5d4fc8c2800e6450163bacef80152
2020-11-26 02:54:58 +00:00
Tagir Valeev
2665266a81
[java-dfa] Fix diverged state for known methods
...
GitOrigin-RevId: 6fc2b7259f289356e80d181f0e321af2481f0106
2020-11-26 02:54:57 +00:00
Tagir Valeev
f4cd548a9f
[java-dfa] IDEA-255719 Properly support lombok extension methods in DFA
...
GitOrigin-RevId: c4cd59240a391666c5bfae9c1fbe2db950db63ac
2020-11-20 03:05:30 +00:00
Tagir Valeev
5e6932f3b5
[java-dfa] Check new array length to be non-negative in DFA
...
Fixes IDEA-254545 Inspection for allocation of array with negative size
Tests are contributed by Ivo Smid (PR#1468)
Co-authored-by: Ivo Smid <ivo.smid@gmail.com >
GitOrigin-RevId: b58f281faa6caeeb5a7fbb06b110182994369426
2020-11-19 02:39:59 +00:00
Tagir Valeev
4d31494509
[java-dfa] IDEA-255644 First-class support for unbox+convert integer methods like Integer.longValue, Byte.intValue, etc.
...
GitOrigin-RevId: a7f88e99dd116bbbe32780801ab1d0b9b87adbee
2020-11-19 02:39:58 +00:00
Tagir Valeev
b18a9925b5
[java-dfa] InnerClassNPE problem should be generated for qualifier only (not for array dimensions)
...
GitOrigin-RevId: 2f8304deed8ba9c2fee4b22c1896aeb311fe3a46
2020-11-19 02:39:57 +00:00
Tagir Valeev
167a561b95
[java-inspections] Avoid reporting parameter nullability mismatch on non-physical element
...
Should fix EA-241746 - T: ProblemDescriptorBase.<init>
GitOrigin-RevId: 67ebe55db0ea5e3d2db37060ec8746428a8f51f9
2020-11-18 06:05:11 +00:00
Bas Leijdekkers
6c7b31d5c9
[java] avoid StackOverflowError
...
GitOrigin-RevId: f5dc16b32aef727c852623065acde31990577b87
2020-11-17 17:58:29 +00:00
Tagir Valeev
12e53f141f
[java-dfa] IDEA-255527 Recognize Arrays.copyOf method in dataflow analysis
...
GitOrigin-RevId: 756cf62aa5d63f8284596047f8b270cac66dde15
2020-11-17 07:32:49 +00:00
Alexey Kudravtsev
4f8b62e0b9
use more high-level methods to copy arrays instead of low-level cryptic System.arraycopy()
...
GitOrigin-RevId: 16b9869eae4200f4ff24c4535d7f33d8e6847b4c
2020-11-16 11:04:42 +00:00
Tagir Valeev
4bb7be8c8e
[java-analysis-impl] Reuse getJVMClassName
...
Fixes EA-238751 - T: BytecodeAnalysisConverter.descriptor
GitOrigin-RevId: dbed07f52b4455d6763ec73b963e3b335947a3c6
2020-11-16 06:24:23 +00:00
Tagir Valeev
4931fb2883
[java-dfa] Avoid adding null value to the not-values list
...
Fixes EA-240274 - NPE: THashSet.add
GitOrigin-RevId: 50fa15c9ab3da78a0741c66b4fbaa9460da3cfdf
2020-11-13 06:02:00 +00:00
Anna Kozlova
c9c3a31e74
redundant suppression: search for text with suppressId in narrow element if applicable (IDEA-221643)
...
GitOrigin-RevId: 1b13bcda0f78e882ddd51a0d6eccb4a662a441c4
2020-11-09 17:12:46 +00:00
Anna Kozlova
6eef903178
i18n fixes (IDEA-254556)
...
GitOrigin-RevId: 74916c7167e43733f04cea09fca8e536741ee18b
2020-11-05 20:53:06 +00:00
Vladimir Krivosheev
641fa0aa02
IDEA-250250 don't use deprecated AbstractExtensionPointBean
...
GitOrigin-RevId: 0a0359b77b36792ef4e744e3e4b53518d6d61450
2020-11-01 13:46:11 +00:00
Anna Kozlova
af05d31c48
java lvti: check for multiple declarations first to avoid registering error on a foreign element (IDEA-252806)
...
GitOrigin-RevId: a4640e8049680512a54909f6d82180f1421428ee
2020-10-28 13:47:10 +00:00
Tagir Valeev
352b3f6c77
[java-dfa] Allow inference for private and local classes that have no inheritors
...
Fixes IDEA-253845 False positive NPE inspection warning for PriorityQueue
GitOrigin-RevId: 7564b07e7841d06dccdc9394d89db0f523ff131e
2020-10-27 06:32:36 +00:00
Roman Shevchenko
10ed8d90e8
Cleanup (warnings; formatting)
...
GitOrigin-RevId: fbf002ec05a43be2762f4e454e664423fe320d9b
2020-10-23 09:53:56 +00:00
Tagir Valeev
504f88aad3
[java-analysis] ReplaceWithLambdaAlternativeFix: preview-friendly
...
GitOrigin-RevId: f7d8a03c08eab57f31a1e58035dcf3d7edace9e2
2020-10-22 07:46:21 +00:00
Tagir Valeev
5495f1f9ea
[java-analysis] Do not mark parameter as UNMODIFIABLE_VIEW if the method mutability is inferred
...
Fixes false-positive in RedundantUnmodifiableInspection
GitOrigin-RevId: 82cd0651ea87f62066a8a299ba3d5b572d617ab0
2020-10-22 07:46:18 +00:00
Dmitry Batkovich
3065547b80
use extended use scopes (by UseScopeEnlarger)
...
GitOrigin-RevId: 27b10a3019716a66beaee7101c1ff706caebf757
2020-10-21 11:22:40 +00:00
Anna Kozlova
54c98774fa
java highlights: ensure tooltips are escaped properly
...
GitOrigin-RevId: 18309214ece5901075e92a5f989782703c8b254a
2020-10-20 19:56:48 +00:00
Alexey Kudravtsev
a90043e655
cleanup: expression is always true
...
GitOrigin-RevId: 1be3e739a4c44617c9178e573ae2d7a9031643fe
2020-10-20 12:06:07 +00:00
Tagir Valeev
4ae81fd62a
[java-highlighting] IDEA-253230 Editor should produce a red code in records with @SafeVarargs in Java 16
...
GitOrigin-RevId: 5da7b9733e75140ad066b7e9b8af6adb95fea297
2020-10-20 02:30:03 +00:00
Andrey.Cherkasov
8ad6197c2b
Fix warning found by the updated zero tolerance SimplifyStreamApiCallChainsInspection
...
GitOrigin-RevId: 8ddba0d01bcd6197cc78eaca7e137abb910fe2d4
2020-10-19 16:54:05 +00:00
Tagir Valeev
538893bcd1
[java-dfa] Do not rely on class qualified name when checking for assignability/convertibility
...
Qualified name is absent for local classes, so it doesn't work correctly if local classes are inherited.
Also, as we already have PsiClass objects themselves, we can skip unnecessary resolve by qualified name.
Finally, we can go further in isConvertibleFrom and inline isInheritorOrSelf. This allows to deduplicate areElementsEquivalent, which is supposed to be symmetrical, so extra work is avoided.
Fixes IDEA-253169 Inheritors of local class cause false-positive 'ArrayStoreException' warning
GitOrigin-RevId: cbadd6e6e853ae2310427dd977187b61cf1b5d5e
2020-10-19 05:03:29 +00:00
Alexey Kudravtsev
016f2aef5b
cleanup: fix some embarrassing "expression is always true" warnings
...
GitOrigin-RevId: 7924e9541bb3e0fe2d328a7624401effba8d4b0a
2020-10-18 12:50:24 +00:00
Vladimir Krivosheev
924abe229c
cleanup (get rid of ServiceManager.get)
...
GitOrigin-RevId: 7f6a905353889c9795e5d40a8aa60f6251000f05
2020-10-16 11:34:52 +00:00
Tagir Valeev
052501c205
[java-inspections] Fix IDEA-233191 false positive "Overridden methods are not annotated"
...
Some leftovers after supporting of type annotations on source stubs
GitOrigin-RevId: f9db15a0e78970f74838c67fc88f00cc2664d3d1
2020-10-16 10:20:15 +00:00
Artemiy Sartakov
28dc18daba
Java text blocks: skip unnecessary iteration (IJ-CR-3278)
...
GitOrigin-RevId: 8deaf19344bb3476697f26e99cb9e251310875ae
2020-10-15 09:50:01 +00:00
Artemiy Sartakov
f7766e2003
Java text blocks: logging, while -> do (IJ-CR-3278)
...
GitOrigin-RevId: 77dab181df9cc6ad066845a5c9969dca5b40024a
2020-10-15 09:18:04 +00:00
Artemiy Sartakov
2788a6f47c
Revert "Java text blocks: logging, while -> do (IJ-CR-3278)"
...
This reverts commit 120978da
GitOrigin-RevId: bf6eee3d37d27b1d784fb0ace82d65fa1ab04a1d
2020-10-15 05:05:14 +00:00
Artemiy Sartakov
4f83dfdb97
Java text blocks: logging, while -> do (IJ-CR-3278)
...
GitOrigin-RevId: 120978da5ee227b0e648e8a43ef6520a5e4ad528
2020-10-15 04:21:57 +00:00
Tagir Valeev
038456e4fd
[java-analysis] More diagnostics for EA-238751
...
GitOrigin-RevId: c3bf85ec0675620c4bcf2e7ceabbf34c469c82c0
2020-10-14 03:27:31 +00:00
Tagir Valeev
d091f178f4
[java-dfa] More string not-null checks for myNotValues (EA-240274)
...
GitOrigin-RevId: deefd51971378229216df6518e6d170e541f7f7a
2020-10-13 03:59:46 +00:00
Tagir Valeev
cde4e9cab2
[java-dfa] Properly cast primitive type in getAdvancedExpressionDfaValue
...
Fixes IDEA-252586 Wrong 'condition is always true' when element of double array is implicitly converted from int
GitOrigin-RevId: 36cf865d5d9d88c14d2f3236a3d068555f7ca216
2020-10-12 10:29:28 +00:00
Tagir Valeev
0cdcc02745
[java-dfa] Introduce EvalInstruction
...
Move particular evaluation logic to the instructions themselves
GitOrigin-RevId: 58f27fe9da55164c4aa88f185c7aa086d4551603
2020-10-12 04:55:23 +00:00
Tagir Valeev
f0bf571611
[java-dfa] LongRangeBinOp: separate from IElementType
...
GitOrigin-RevId: 1d897118bf0bee297c43ba72c4eef9e3c2b7b4f9
2020-10-12 04:05:07 +00:00
Tagir Valeev
849ca4541b
[java-analysis] Fix forgotten ! (IDEA-CR-67504)
...
GitOrigin-RevId: 01ae72cc4597c377dc14344ad76c710fa1512193
2020-10-09 06:14:24 +00:00
Tagir Valeev
f89419266d
[java-inspections] ChangeNullableDefaultsFix: add annotation to be default if not added yet
...
This may happen if the annotation was removed from the settings between the fix creation and fix invocation. The highlighting is not recalculated when we just update nullability annotation settings, so the previous fix could be available for a long time.
Fixes EA-221814 - assert: NullableNotNullManagerImpl.setDefaultNullable
GitOrigin-RevId: 3f23b28da0ece3149f6bb5554e52c6829ffbdaac
2020-10-08 11:56:46 +00:00
Tagir Valeev
36d176b129
[java-inspections] Unused method removed
...
GitOrigin-RevId: 1b85d66529c58a98e76c306f66e30374742c2f51
2020-10-08 11:56:45 +00:00
Tagir Valeev
f65c12ccbd
[java-dfa] Do not allow null in ephemeral value
...
GitOrigin-RevId: cca32e434c96998346fc6759f3d699bc6ada799a
2020-10-08 03:09:44 +00:00
Tagir Valeev
ce60e46ccd
[java-dfa] DfEphemeralReferenceType: equals & hashCode
...
GitOrigin-RevId: a9631db468f6398a4470eb2a909f7986a3e9eea6
2020-10-08 03:09:42 +00:00
Alexey Kudravtsev
d2437cbdc2
avoid concrete class IntArrayList, use interface instead
...
GitOrigin-RevId: 0e8e08b55f58dfd3597e9999012e2746312a9e60
2020-10-07 13:51:52 +00:00
Alexey Kudravtsev
d4fbdcc1f2
avoid concrete class IntOpenHashSet, use interface instead
...
GitOrigin-RevId: 592050b9a3bdc5a1d490f45efaae4ba0367de490
2020-10-07 13:51:51 +00:00