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
Pavel Kirpichenkov
24d8aee2bb
Prioritize resolution anchors during resolution
...
When required dependency is present both in source dependencies and in
library dependencies, the former one should be selected.
#KT-24309
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
f8ee976720
Use union of all available descriptors in composite importing scope
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
5892bdf3f4
Extend import resolution for library-to-source analysis
...
Use composite importing scope for references when resolution anchors are enabled.
Composite scope provides additional descriptors from scope of resolution anchor module.
Overriding old importing scope with a new one is not possible as it breaks library
dependencies on other libraries, which are inaccessible in anchor scope (scope for sources).
KT-24309 In Progress
2020-09-07 18:52:10 +03:00
Roman Golyshev
909d418dd1
Improve diagnostics in KtElementImplStub::getContainingKtFile
...
- If containing file is not a `PsiFileImpl`, `getNode()` will
throw a CCE (which will prevent collecting the diagnostics)
- Relates to #EA-209630
2020-09-07 14:36:09 +00:00
Dmitry Petrov
5b53663eb8
PSI2IR KT-41181 don't generate deep trees in hashCode
2020-09-07 16:09:42 +03:00
Dmitry Petrov
ade1a346e1
JVM: add test for KT-40123
2020-09-07 16:09:42 +03:00
Vladimir Ilmov
60dfa8cc84
Ignore ProcessCancelledException in VirtualFileKotlinClass
2020-09-07 12:17:06 +02:00
Vladimir Dolzhenko
127257aa27
Provide setter-method for LC for private property setter
...
^KT-41694 Fixed
2020-09-07 09:36:28 +00:00
Dmitry Petrov
b00ce872ea
JVM: record JVM signature for equals/hashCode/toString in inline classes
2020-09-07 12:25:50 +03:00
Dmitriy Novozhilov
a8c68d9e6f
Remove dependency on :compiler:frontend.java from :compiler:fir:jvm
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
6906e0d82d
Move common jvm classes from :core:descriptors.jvm to :core:compiler.common.jvm
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
b81c0e91d5
Replace DescriptorVisibility with Visibility in Java model classes
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
696f089b3e
Make DescriptorVisibility delegate to Visibility
2020-09-04 11:42:50 +03:00
Dmitriy Novozhilov
a05d6da43b
Move descriptor-independent Visibilities to common modules
2020-09-04 11:42:50 +03:00
Dmitriy Novozhilov
d1fd1da56f
Rename Visibility to DescriptorVisibility
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
64ec3fc42b
Move BuiltinSpecialProperties and JvmAbi to :core:compiler.common.jvm
2020-09-04 11:07:41 +03:00
Dmitriy Novozhilov
10fd164b77
Extract FE 1.0 dependent part from JavaToKotlinClassMap
...
Also move JavaToKotlinClassMap to :core:compiler.common.jvm
2020-09-04 11:07:41 +03:00
Dmitriy Novozhilov
4d5f28d5c0
Move FunctionInvokeDescriptor.BIG_ARITY to :core:compiler.common
2020-09-04 11:07:41 +03:00
Dmitriy Novozhilov
bf4bf30b4a
Move CompanionObjectMapping to :core:compiler.common
2020-09-04 11:07:40 +03:00
Dmitriy Novozhilov
0e04af463d
Move JvmTypeSpecificityComparator to :compiler:resolution.common.jvm
2020-09-04 11:07:40 +03:00
Dmitriy Novozhilov
564d382b9d
Introduce new modules for common jvm related parts of compiler
2020-09-04 11:07:40 +03:00
Dmitry Petrov
dd016b759e
JVM_IR: write raw types as raw in JVM generic signatures
2020-09-04 10:21:49 +03:00
Dmitry Petrov
475522f938
Represent raw types in IR using a special type annotation
2020-09-04 10:21:48 +03:00
Dmitry Petrov
714ab7c37f
Handle java raw types in IR
...
Raw type Q is represented as a flexible type
Q<B1, ... Bn> .. Q<*, ... *>
where Bi is a representative upper bound of the corresponding ith type
parameter of Q.
When mapping generic signature, JVM takes type arguments of lower bound
(which is 'Q<B1, ..., Bn>').
There is still some difference in how JVM and JVM_IR handle raw type in
signature. It requires additional investigation.
2020-09-04 10:21:48 +03:00
Mark Punzalan
16ab11289c
[JS_IR] Enable RangeContainsLowering optimizations.
2020-09-03 18:42:35 +03:00
Victor Petukhov
85d99612a2
Don't create inconsistent types (with contradictive use site and declaration site variances) for star projections with corresponding contravariant type parameters during substitution
...
^KT-41388 Fixed
2020-09-03 16:24:28 +03:00
vldf
f9a2d01d57
[FIR] Add UselessCallOnNotNullChecker
2020-09-03 14:28:57 +03:00
Mikhail Glukhikh
548adc29d0
[FIR] Enter loops in resolve using independent context
2020-09-03 14:24:31 +03:00
Mikhail Glukhikh
a7da0d5080
[FIR] Approximate exotic return types for public declarations
2020-09-03 14:24:31 +03:00
Jinseong Jeon
bf918e6184
FIR: hide local types if needed
2020-09-03 14:24:31 +03:00
Mikhail Glukhikh
9e38e6d051
[FIR2IR] Intercept exceptions in convertToIrCall to provide more info
2020-09-03 14:24:31 +03:00
Mikhail Glukhikh
23e83e8933
FirClassSubstitutionScope: don't recreate type parameters for unbound f/o
2020-09-03 14:24:30 +03:00
Jinseong Jeon
e8157a5488
FIR: introduce & use various comparators to sort members while de/serialization
...
#KT-41018 fixed
2020-09-03 13:55:52 +03:00
Roman Artemev
685b74769d
[JVM IR] Fix lineNumber passing into CoroutineTransformer.
...
- Get it from `IrFile` & `IrElement.startOffset` instead of descriptor
- Unmute stepping tests
2020-09-03 11:37:24 +03:00
Alexander Udalov
5aca8ebda8
Minor, add test case on metadata of lambdas in constructors
...
KT-41465
2020-09-02 20:04:05 +02:00
pyos
6b65a2ea7d
JVM_IR: move classes out of lambdas inlined into initializers
...
Fixes KT-41465
2020-09-02 20:03:38 +02:00
Florian Kistner
9775a2148a
203: Fix compilation
2020-09-02 18:48:57 +02:00
Pavel Kirpichenkov
2c816d8911
[FIR-IDE] Introduce resolver for a single candidate
...
The purpose of this resolver is to reuse parts of tower resolver in IDE tasks.
For now it can run resolution stages to check suitability of extension receiver.
2020-09-02 19:15:06 +03:00
Alexander Udalov
b8d16f3d46
Add EnclosingMethod information to bytecode listing tests
2020-09-02 16:46:05 +02:00
Alexander Udalov
d4ecde5cb0
Minor, don't use token COROUTINES_PACKAGE in bytecode listing tests
...
Most of the tests that are run both for 1.2 and 1.3 coroutines have
different expectation .txt files anyway.
2020-09-02 16:46:05 +02:00
Alexander Udalov
24aee1cce3
JVM IR: unmute tests on anonymous objects in inline lambdas
...
All tests on anonymous objects should use the NO_CHECK_LAMBDA_INLINING
directive, since the test framework can't tell an anonymous object from
a lambda and checking that anonymous objects are "inlined" makes no
sense.
2020-09-02 16:46:04 +02:00
Alexander Udalov
e7937db8fa
Add link to the online docs to kotlinc's help
...
#KT-35111 Fixed
2020-09-02 16:45:56 +02:00
Alexander Udalov
6b05e1d179
Add warning to 'kotlinc.bat help' that delimiters need to be escaped
...
Related to KT-41303, KT-41309.
2020-09-02 16:45:40 +02:00
Ilya Kirillov
c0e9f05921
FIR: make FirTypeParameterScope to be name aware
2020-09-02 11:16:18 +03:00
Ilya Kirillov
31f2c4a857
FIR: add fake source element to implicit function return statement
2020-09-02 11:16:16 +03:00
Mikhail Glukhikh
7c0467944d
FullPipelineModularizedTest: fix compilation
2020-09-01 21:58:26 +03:00
Mikhail Glukhikh
0324c0d02f
FullPipelineModularizedTest: code cleanup
2020-09-01 21:51:49 +03:00
Roman Artemev
fdbc657656
[IR] Fix isFileClass checker
2020-09-01 18:53:17 +03:00
Denis Zharkov
02b72e16ef
FIR: Temporary weaken required phase in ensureResolvedForCalls
...
Currently, lazy resolution in IDE immediately starts common body resolution
after STATUS (that lead to loops during recursive resolve)
2020-09-01 17:43:30 +03:00