Abduqodiri Qurbonzoda
a32f742893
Inherit ReadWriteProperty from ReadOnlyProperty #KT-27729
2020-03-05 16:53:02 +03:00
Dmitriy Novozhilov
3742586209
[FIR-TEST] Unmute some blackbox tests
2020-03-05 16:48:48 +03:00
Dmitriy Novozhilov
2bce279a9e
[FIR] Support smartcasts from lhs of boolean operator with jump in rhs
2020-03-05 16:48:48 +03:00
Dmitriy Novozhilov
e3e7b40f85
[FIR] Fix determining coercion to Unit
2020-03-05 16:48:48 +03:00
Dmitriy Novozhilov
770dfb69ba
[FIR] Analyze all statements in block except last one in independent mode
...
Some broken tests will be fixed in next commit
#KT-37176 Fixed
2020-03-05 16:48:47 +03:00
Dmitriy Novozhilov
1c728e8184
[FIR] Fix return expressions calculator
...
There was a problem that if las statement of lambda was a return
expression from that lambda then result of return counted twice
2020-03-05 16:48:47 +03:00
Dmitriy Novozhilov
5f9876479e
[FIR] Add saving of local context in anonymous functions for further resolve
...
#KT-37066 Fixed
2020-03-05 16:48:47 +03:00
Dmitriy Novozhilov
8023d04c61
[FIR] Add separate local scope for init blocks
2020-03-05 16:48:47 +03:00
Dmitriy Novozhilov
50742a4686
[FIR] Move local scopes immutable
2020-03-05 16:48:47 +03:00
Dmitriy Novozhilov
25dc9f948a
Revert "[FIR] Support deserialization of annotations on JVM"
...
This is needed because of that commit tragically decreases performance,
so this changes will be delayed for now
2020-03-05 16:48:47 +03:00
Leonid Startsev
a2c24e696f
Leverage existing psi2ir function declaration generator in plugin
...
This seems to be the only reasonable way to provide function declarations with
_correctly_ substituted type parameters without rewriting logic from scratch;
correctly scoped type parameters in IR are now required in serialization
plugin by all backends.
Also fix some missing upper bounds.
2020-03-05 16:40:55 +03:00
Abduqodiri Qurbonzoda
fc22cfa896
String.format does not support no locale #KT-22932
2020-03-05 16:38:43 +03:00
Alexander Udalov
f4d53c18a1
Fix JarContentTest by adding dependency on jar creating task
...
Otherwise tests could be run before the final jar was created and stored
to `build/libs`.
2020-03-05 14:36:24 +01:00
Alexander Udalov
505ec072bb
Remove dependency of JarContentTest on JDK 8
...
It turns out that `jvmTarget` and `javaHome` settings in
build.gradle.kts were changing the module settings and affected the
compilation of kotlinx-metadata-jvm sources. The correct way to use JDK
8 in tests would be to change JVM target / JDK home of the specific
KotlinCompile task via its `kotlinOptions`, but JarContentTest doesn't
need JDK 8 anyway at this moment, so simplify that instead.
2020-03-05 14:36:23 +01:00
Vladimir Dolzhenko
d1a29df581
Revert "Added AllowNullableArrayArgsInMain (1.4+) language setting"
...
#KT-35965 Fixed
2020-03-05 14:08:27 +01:00
Alexander Udalov
0f7122a88a
Support MutablePropertyReferenceN supertypes in LambdaInfo
...
#KT-37087 Fixed
2020-03-05 14:01:30 +01:00
Alexander Udalov
058c6bc578
Minor, reformat and slightly refactor JvmRuntimeTypes.kt
2020-03-05 14:01:29 +01:00
Alexander Udalov
8588f96ec8
Fix inspections in kotlin.jvm.internal runtime classes
2020-03-05 14:01:29 +01:00
Alexander Udalov
aaff1d1670
Minor, add ReadMe to spec-docs
2020-03-05 14:01:13 +01:00
Mikhail Glukhikh
5af4efd5a7
Remove FIR test data file accidentally left in 8884cbe4
2020-03-05 15:51:41 +03:00
Mikhail Glukhikh
db38dfc21b
Diagnostic test: make messages about FIR_IDENTICAL inconsistency clearer
2020-03-05 09:41:07 +03:00
Mikhail Glukhikh
737c91c5cf
FIR test merging: compare diagnostic files symbol-by-symbol
2020-03-05 09:40:45 +03:00
Mikhail Glukhikh
48d30daa47
Diagnostic tests: don't create '.fir.kt' file if FIR_IDENTICAL
2020-03-05 09:40:24 +03:00
Mikhail Glukhikh
951fb0b7e7
Move loadTestDataWithoutDiagnostics to FirTestUtils
2020-03-05 09:40:02 +03:00
Mikhail Glukhikh
8884cbe415
Introduce FIR_IDENTICAL for FIR vs old frontend tests #KT-36879 Fixed
2020-03-05 09:39:40 +03:00
Georgy Bronnikov
186e0b0cba
Do not call IR backend when there's a script involved
2020-03-05 09:23:13 +03:00
Kirill Shmakov
03c6f13831
Add fallback value in K/N version computation
2020-03-05 08:35:34 +03:00
Alexander Udalov
3a4e540d44
Minor refactoring and style fixes in JarContentTest
...
Inline unnecessary members, remove commented code, refactor according to
the style guide, some other minor improvements
2020-03-05 02:25:00 +01:00
Jinseong Jeon
79790ca227
Avoid uses of plain "kotlin" in metadata deserialization.
...
KT-35587 Fixed
2020-03-05 02:22:36 +01:00
Vyacheslav Gerasimov
744c4c545e
Build: Make DexMethodCount task cacheable, extract print stats to task
2020-03-05 00:47:52 +03:00
Ilmir Usmanov
354fb3c4ba
JVM_IR: Generate fake continuations and their constructors as public
...
#KT-37093 Fixed
2020-03-04 21:32:35 +01:00
Ilmir Usmanov
c94f8d3767
JVM_IR: Do not generate nullability annotation for synthetic result field
...
of continuation class.
#KT-37084 Fixed
2020-03-04 21:32:34 +01:00
Ilmir Usmanov
4b4a6101c1
JVM_IR: Generate inline functions with reified generics as public synthetic
...
Otherwise, proguard will remove them.
#KT-37004 Fixed
2020-03-04 21:32:31 +01:00
Ilmir Usmanov
f8903ca04b
JVM_IR: Generate private suspend functions as synthetic package-private
...
Do not generate accessors for them.
#KT-37086 Fixed
2020-03-04 21:32:29 +01:00
Ilmir Usmanov
5826db97c7
JVM_IR: Do not duplicate inline suspend functions with reified type parameters
...
They are inline-only.
Generate $$forInline versions of inline suspend functions as private.
This way, there is no nullability annotation on there parameters and return
values. Unfortunately, old BE does generate them.
#KT-37088 Fixed
2020-03-04 21:32:27 +01:00
Dmitry Petrov
3bf2c17f9e
KT-37024 Optimized delegated property metadata generation in inline fun
2020-03-04 18:48:03 +03:00
Vladimir Dolzhenko
0be5a82460
Use LightJavaModule.getModule for 193
...
Fixed #KT-37229
2020-03-04 15:30:09 +01:00
Mikhael Bogdanov
1ffde2a3c4
Minor. Fix test compilation
2020-03-04 15:24:08 +01:00
Mikhail Glukhikh
4745cd4fea
FIR2IR: refactor 'getArrayType' using standard class ids
2020-03-04 16:55:34 +03:00
Mikhail Glukhikh
0c9da6d715
FIR2IR: extract 'enumClassModality'
2020-03-04 16:55:34 +03:00
Mikhail Glukhikh
76ccaf13ba
FIR2IR: cache properties & fields more correctly
2020-03-04 16:55:34 +03:00
Mikhail Glukhikh
fe658ce47f
FIR2IR: remove redundant receiver generation from visitor
...
Now static functions have no dispatch receiver: they really shouldn't.
2020-03-04 16:55:34 +03:00
Mikhail Glukhikh
9788a7cfbc
FIR2IR: cache constructors and their parents properly
2020-03-04 16:55:34 +03:00
Mikhail Glukhikh
0fee8a6946
FIR2IR: cache functions and their parents properly
2020-03-04 16:55:33 +03:00
Mikhail Glukhikh
940567b8bd
FIR2IR: set enum class modality properly for complex entries case
2020-03-04 16:55:33 +03:00
Mikhail Glukhikh
3ffe1a1876
FIR2IR: create IrEnumConstructorCall even in complex entries
2020-03-04 16:55:33 +03:00
Mikhail Glukhikh
5af3d92271
FIR2IR: cache enum entry classes properly
2020-03-04 16:55:33 +03:00
Mikhail Glukhikh
03eab2ec6c
FIR2IR: get rid of setParentAndContent + fixes around anonymous objects
2020-03-04 16:55:32 +03:00
Mikhail Glukhikh
20eddef06f
FIR2IR: eliminate hacky replacement for invoke() & next() calls
...
At this moment the generic logic for fake override calls
replacement is in use.
2020-03-04 16:55:32 +03:00
Mikhail Glukhikh
50c4c3f4fb
FIR2IR: extract fake override generator
2020-03-04 16:55:32 +03:00