Steven Schäfer
f20a695c0e
Minor: Rebase testGenericConstructorCallWithTypeArguments
2020-10-12 17:34:34 +02:00
Victor Petukhov
f39e2d4a2d
JSpecify: convert java use sites for existing tests to kotlin ones
2020-10-12 17:24:35 +03:00
Victor Petukhov
520e35baaf
JSpecify: rework tests – replace kotlin use sites to java ones with future j2k conversion
2020-10-12 17:24:29 +03:00
Alexander Udalov
ac39e4d89c
Minor, add regression test
...
#KT-42554
2020-10-09 22:11:37 +02:00
pyos
e6c0575d3a
JVM_IR: do not deep-copy suspend lambdas in initializers
...
This loses reflection metadata (and also sometimes fails). Which was
missing anyway - this is also fixed now.
#KT-42554 Fixed
2020-10-09 22:11:00 +02:00
Mark Punzalan
8bc7370b92
ForLoopsLowering: Add PLUSEQ origin to increment to use IINC
...
instructions if possible.
2020-10-09 21:34:56 +02:00
Mark Punzalan
ccbf7cc2ee
ForLoopsLowering: Use last-exclusive for-loops for optimized until
...
progressions instead of decrementing "last".
#KT-41352 Fixed
2020-10-09 21:34:56 +02:00
Mark Punzalan
a093efde11
Add blackbox test for KT-42533.
2020-10-09 21:34:56 +02:00
Ilmir Usmanov
375d92cf67
Merge two consequent records in LVT
...
Otherwise, atomicfu will be unable to transform atomic variable usages.
2020-10-09 18:36:37 +02:00
Dmitry Petrov
91b8e32d43
Add ABI tests for classes extending Number and CharSequence
2020-10-09 16:36:35 +03:00
Dmitry Petrov
a412596d8e
JVM_IR emulate old back-end behavior in special bridges + inline classes
...
KT-42491 KT-42539
2020-10-09 16:06:08 +03:00
Mads Ager
afd710292a
[JVM_IR] Fix mangling of default argument stubs for internal methods.
...
The MethodSignatureMapper expected to be able to look at the body
of the default argument stub. That is of course not possible when
it is from an external dependency.
Instead, we go through the attribute owner to get to the method
the stub is a default argument adapter for.
2020-10-08 17:43:24 +02:00
Jinseong Jeon
8c88670185
FIR: copy constructor for typealias'ed inner/nested class
2020-10-08 16:33:13 +03:00
Victor Petukhov
9f716ba37c
Jspecify: Rename DefaultNotNull to DefaultNonNull
2020-10-08 14:00:10 +03:00
Victor Petukhov
c3bada44cf
Jspecify: Rename NullnessUnknown to NullnessUnspecified
2020-10-08 14:00:10 +03:00
Victor Petukhov
2685c7efce
Jspecify: Rename codeanalysis annotations to jspecify ones
2020-10-08 14:00:10 +03:00
Denis Zharkov
59bd7364ab
Enhance bounds for type parameters after loops disconnection
...
Otherwise behavior might change because enhancement may force computation
for other type parameters in cases like:
class A<X extends Y, Y extends X> {}
See the test:
org.jetbrains.kotlin.checkers.DiagnosticsTestGenerated.Tests.J_k#testRecursiveRawUpperBound3
2020-10-08 14:00:10 +03:00
Denis Zharkov
6661814e40
Do not enhance star projections for bounds of raw types
...
We have an invariant that their lower bound is always
SomeType<Any?> and their upper bound is SomeType<*>.
Ehancing the latter to SomeType<out Any> making
lower bound not being a subtype of upper bound that breaks contract
for flexible types (fails with exception)
2020-10-08 14:00:10 +03:00
Denis Zharkov
2964d52640
Add test case for codeanalysis annotation
2020-10-08 14:00:09 +03:00
Denis Zharkov
dfb1cb8642
Minor. Rename UnknownNullness -> NullnessUnknown
2020-10-08 14:00:09 +03:00
Denis Zharkov
0b958c8ac5
Fix annotation name in test data to DefaultNullnessUnknown
2020-10-08 14:00:09 +03:00
Denis Zharkov
f3a490ee16
Support compiler flag -Xcodeanalysis-annotations
2020-10-08 14:00:09 +03:00
Denis Zharkov
6c37574fce
Rename Jsr305State -> JavaTypeEnhancementState
...
Also, rename some of the properties
It's needed to store status for codeanalysis annotation in that class
2020-10-08 14:00:08 +03:00
Denis Zharkov
2f04a1505d
Support enhancement for unbounded wildcards from codeanalysis annotations
2020-10-08 14:00:07 +03:00
Denis Zharkov
392ef9aa2b
Support type arguments enhancement from type parameters bounds
...
Currently, only works for codeanalysis annotations because
type parameters bounds are enhanced only for them
2020-10-08 14:00:07 +03:00
Denis Zharkov
e9e05c53e1
Support enhancement for type parameter based types
...
Load them as non-flexible when a relevant type parameter has non-flexible upper bound
(Currently, it only works for case of codeanalysis annotations)
2020-10-08 14:00:07 +03:00
Denis Zharkov
e27501497b
Support codeanalysis annotations on type parameters bounds
2020-10-08 14:00:06 +03:00
Denis Zharkov
82d39dd86a
Add basic support for default codeanalysis annotations
2020-10-08 14:00:06 +03:00
Denis Zharkov
517cc84f4d
Add initial support for codeanalysis annotations
2020-10-08 14:00:06 +03:00
Mikhail Glukhikh
beac3757bc
[IR text test] Minor: add forgotten .fir.txt file
2020-10-08 10:33:58 +03:00
Alexander Udalov
2f003bdcb5
Minor, add regression test
...
#KT-42527
2020-10-07 21:31:43 +02:00
pyos
dd1682510f
JVM_IR: generate accessors for inherited abstract members too
...
#KT-41468 Fixed
2020-10-07 21:23:18 +02:00
pyos
98088f739d
PSI2IR: do not generate when subjects multiple times
...
`in x` is represented as `<subject expression> in x` in psi, so
generating the entire call and then replacing the argument with a read
of a temporary results in redundant regenerations of the subject.
#KT-42054 Fixed
#KT-42455 Fixed
2020-10-07 17:22:25 +03:00
Alexander Udalov
e280416fe2
Minor, add regression test
2020-10-07 14:31:01 +02:00
pyos
a6c62d3339
JVM_IR: do not inherit delegated property trackers
...
This is no longer needed now that lambdas are generated before
`$$delegatedProperties`.
2020-10-07 14:30:36 +02:00
pyos
1190457759
JVM_IR: fix copying of receivers when unboxing inline class parameters
...
If an extension receiver is copied into a normal parameter, this may
later cause default argument masks to be shifted.
2020-10-07 13:21:50 +02:00
pyos
adcbfc7b4c
IR: add an emptiness check to all unsigned until loops
...
Unlike signed integers, a larger unsigned type does not mean a lower
minimum value, so `x - 1` can overflow even if `x` is casted to a larger
type.
#KT-42186 Fixed
2020-10-07 12:53:00 +02:00
pyos
4a03006162
Generate min/max constants as non-const in ranges tests
...
in order to make them appear as unknown values to codegen.
2020-10-07 12:53:00 +02:00
Pavel Punegov
260f66183c
Don't ignore the test on JS backend as it doesn't fail any more.
2020-10-07 12:22:49 +03:00
Pavel Punegov
a439860e12
Replace IGNORE_BACKENDs to TARGET_BACKEND for the Java test
2020-10-07 12:18:09 +03:00
Pavel Punegov
4d8ca074bc
Ignore test for the full reflection in Native
2020-10-07 12:18:09 +03:00
Pavel Punegov
33d28b44fa
Unmute typeOf tests in Native backend
2020-10-07 12:18:09 +03:00
Mikhail Glukhikh
aa4a042612
[FIR2IR] Use deepest matching symbol also for synthetic properties
...
#KT-42359 Fixed
2020-10-07 10:43:43 +03:00
Mikhail Glukhikh
fb4f27e136
[FIR2IR] Add test for problematic KT-42359
2020-10-07 10:43:38 +03:00
Jinseong Jeon
49307e243c
FIR deserializer: load annotations on default accessors
2020-10-07 09:46:40 +03:00
Mads Ager
a37f16d7a2
[IR] Do not generate line numbers for synthesized data class members.
...
Fixes KT-41903.
2020-10-06 19:53:47 +02:00
Mikhael Bogdanov
5048471835
Properly check default kind on inheriting from old DefaultImpls scheme
2020-10-06 18:10:44 +02:00
pyos
a6d5c02d9b
JVM_IR: add a transformChildren call to PropertyReferenceLowering
...
#KT-42354 Fixed
2020-10-06 17:06:34 +02:00
Dmitry Petrov
b1bd138afb
JVM_IR fix inline class <-> collection stubs issues
...
Move collectionStubMethodLowering before jvmInlineClassPhase, and make
them interact properly.
Note that some issues still remain in inline class <-> special bridges
interaction.
KT-40187 KT-42469
2020-10-06 17:08:24 +03:00
Mikhael Bogdanov
ed5c2b0565
Add tests for data class runtime string concatenation
...
#KT-35176
2020-10-06 13:20:41 +02:00