Dmitriy Novozhilov
c53ffca34f
[FIR] Extract BodyResolveContext from FirAbstractBodyResolveTransformer
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
edb1273355
[FIR] Report ResolutionDiagnostics instead of applicability in resolve
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
a148db9d81
[FIR] Get rid of CandidateApplicability.SYNTHETIC_RESOLVED
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
19707667fd
[FIR] Cleanup detection that applicability is successful
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
68f3d84e22
[FIR] Use CandidateApplicability from FE 1.0
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
cd557ad178
Change order of enum entries in CandidateApplicability
2020-09-09 12:38:34 +03:00
Dmitriy Novozhilov
d1568c1ce6
Rename ResolutionCandidateApplicability to CandidateApplicability
2020-09-09 12:38:33 +03:00
Mikhail Glukhikh
db2e3f219f
[FIR] Keep bare type for type alias case
2020-09-09 12:16:09 +03:00
Alexander Udalov
3a5d0ab427
JVM IR: fix HashCode intrinsic for generics substituted with primitives
...
The problem here was that although the IR type of the expression was
primitive, the type of the actual expression in the bytecode generated
after type erasure was `Ljava/lang/Object;`, and we were trying to call
a non-existing method `Object.hashCode(Object)`.
#KT-41669 Fixed
2020-09-08 23:37:00 +02:00
Alexander Udalov
c46c80822c
JVM IR: fix enclosing constructor for lambdas in inner classes
...
Before this change, we stored the enclosing constructor in a map in
JvmBackendContext before moving lambdas and local classes out of
initializer blocks. However, in case the lambda was declared in an inner
class, we stored a reference to the unlowered constructor of the inner
class, whose JVM signature is "()V" instead of the correct "(LOuter;)V".
Java reflection then threw exception if we tried to call
`getEnclosingConstructor()` on such class at runtime. Proguard finished
with errors for the same reason.
It turns out that we can just store the fact that the class has been
moved, and load the matching constructor in codegen, where everything is
already lowered and guaranteed to match with the signatures of the
actual generated declarations.
#KT-41668 Fixed
2020-09-08 23:37:00 +02:00
Alexander Udalov
228e329d1f
JVM IR: generate enclosing constructor only for lambdas in initializers
...
There was a typo in JvmLocalClassPopupLowering which allowed the
EnclosingMethod for lambdas and anonymous classes in initializers to
become any function in a class, in case when there was no primary
constructor in that class. E.g. in the added test, `getIrrelevantField`
was the EnclosingMethod of the lambda class before this change.
2020-09-08 23:37:00 +02:00
Ilya Kirillov
2ab68b3245
Wizard: move boolean setting description to the bottom
2020-09-09 00:20:58 +03:00
Ilya Kirillov
ce00366c7f
Wizard: fix when first selected template cannot be applied
2020-09-09 00:20:58 +03:00
Ilya Kirillov
3a6011fae9
Wizard: always generate android MPP tests
...
#KT-40940 fixed
2020-09-09 00:20:57 +03:00
Ilya Kirillov
553c525701
Wizard: fix Gradle buildscript formatting
...
#KT-37965 fixed
2020-09-09 00:20:57 +03:00
Ilya Kirillov
0f799d593d
Wizard: specify test platform to use on JVM
...
#KT-37965 fixed
2020-09-09 00:20:57 +03:00
Ilya Kirillov
7002e86d6b
Wizard: fix path & artifactId updating on name update
...
#KT-41695 fixed
2020-09-09 00:20:56 +03:00
Alexander Udalov
929b5f727d
Build: add :compiler:fir:entrypoint to compilerModules
...
This fixes FIR usage from the CLI compiler.
2020-09-08 20:26:28 +02:00
Alexander Udalov
7fb7dc0210
Fix deprecation warnings related to Project extensions
2020-09-08 20:26:20 +02:00
Alexander Udalov
196893bc4d
Build: fix more warnings about deprecated/Alpha MPP plugins
...
Using the new flags added in KT-41340 and
413d02621b .
2020-09-08 20:26:20 +02:00
Mads Ager
06680452dc
[JVM_IR] Always look for default lambdas in the inliner.
...
This allows compiler plugins such as Compose to do custom
default argument handling in methods that do not have origin
`FUNCTION_FOR_DEFAULT_PARAMETER`.
The code still bails out early is there is not defaults
mask, so there should be no compile-time penalty.
2020-09-08 19:07:31 +02:00
anastasiia.spaseeva
a12e22bba4
[Spec tests] Fix dependencies for spec tests generator
2020-09-08 16:14:47 +03:00
Ilya Goncharov
9d3426486b
[Gradle, JS] Support explicitApi in js plugin
...
^KT-41328 fixed
2020-09-08 12:54:11 +03:00
Dmitriy Novozhilov
28a83b04cd
[FIR] Minor. Fix code style
2020-09-08 12:51:13 +03:00
Dmitriy Novozhilov
67604dcb66
[FIR] Add generator for checkers aliases and sets of checkers
2020-09-08 12:51:12 +03:00
Dmitriy Novozhilov
4de57fcac2
[FIR] Initialize module for checkers generator
2020-09-08 12:51:12 +03:00
Dmitriy Novozhilov
6656669551
[FIR] Fix typo
2020-09-08 12:51:12 +03:00
Dmitriy Novozhilov
3b9e86ccbf
[FIR] Remove empty file
2020-09-08 12:51:12 +03:00
Dmitriy Novozhilov
a8a5ed3cd3
[FIR] Get rid of runCheck in checkers components
2020-09-08 12:51:11 +03:00
Dmitriy Novozhilov
71a855112e
[FIR] Get rid of ParallelDiagnosticsCollector
2020-09-08 12:51:11 +03:00
Ilya Goncharov
20a1ea0413
[Wizard, JS] Change js compiler default
...
^KT-41656 fixed
2020-09-08 12:48:52 +03:00
Dmitry Petrov
6746bd81d5
PSI2IR tests for KT-41735
2020-09-08 12:34:19 +03:00
Vladimir Ilmov
aa04c0b5df
Parent call already on KotlinBuiltInDecompiler.kt:79
2020-09-08 10:59:17 +02:00
Steven Schäfer
44ffb1fb3e
Psi2Ir: Fix SAM conversion with new inference
2020-09-08 11:14:14 +03:00
pyos
75891e860b
FIR2IR: split getIrPropertyOrFieldSymbol, handle locals there
2020-09-08 08:40:13 +03:00
pyos
f198a19ab0
FIR2IR: add local delegated property generation
2020-09-08 08:40:07 +03:00
Steven Schäfer
4792be2522
JVM IR: Optimize static property references (KT-36975)
2020-09-07 21:01:29 +02:00
Alexander Udalov
669fda6b77
Do not add duplicate $completion when compiling JVM against JVM_IR
...
This change fixes JvmOldAgainstIrBoxInlineTestGenerated.Suspend and
JvmIrAgainstOldBoxInlineTestGenerated.Suspend tests.
2020-09-07 19:41:38 +02:00
Alexander Udalov
ae448ececb
Minor, add compileKotlinAgainstKotlin test case for KT-41374
2020-09-07 19:41:37 +02:00
Alexander Udalov
9e357354fb
Add JVM/JVM_IR mixed compilation tests for compileKotlinAgainstKotlin/boxInline
2020-09-07 19:41:37 +02:00
Alexander Udalov
e324733b01
Tests: accept TargetBackend in KotlinBaseTest.createConfiguration
2020-09-07 19:41:37 +02:00
Alexander Udalov
0dea6b94c6
JVM IR: unmute boxInline tests on enclosing method/class
...
In box tests, only check that Java reflection does not crash on the
EnclosingMethod attribute generated in these classes. If it doesn't
crash, most likely it returns the value that can be read from the class
file by ASM, which is what the newly added bytecode listing tests are
checking now.
2020-09-07 19:41:37 +02:00
Ilya Goncharov
985088a3f1
[Gradle, JS] Add test on dukat with both mode
2020-09-07 19:29:17 +03:00
Ilya Goncharov
b694e3b009
[Gradle, JS] Dukat with both create externals only once
2020-09-07 19:29:17 +03:00
Ilya Goncharov
210cd982f0
[Gradle, JS] Use webpack config's required dependencies in karma
...
^KT-41663 fixed
^KT-41662 fixed
2020-09-07 18:56:47 +03:00
Pavel Kirpichenkov
b5aca450b1
Make cancellation checks when building resolution anchor caches
...
^KT-39734
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
54811613f4
Minor: drop unnecessary wrapper for utility function
...
^KT-39734
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
1ff064d98d
Make Kotlin OOCBM updater for modules internal again
...
Replace direct API access with dedicated service.
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
9d6bdc6fc4
Support modification tracking for source-dependent LibraryInfo
...
#KT-39734
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
6abd708d42
Preserve order entry to module info mapping in IdeaModelInfosCache
2020-09-07 18:52:10 +03:00