Mikhail Glukhikh
8bcae80877
[FIR TEST]: add test with Map.Entry-based J/K hierarchy
2019-11-29 18:11:22 +03:00
Mikhail Glukhikh
8a601b5a0e
FIR accessors: add protection against special names
2019-11-29 18:11:21 +03:00
Mikhail Glukhikh
b48a4ace57
FIR accessor symbols: check all possible getter name variants
2019-11-29 18:11:21 +03:00
Mikhail Glukhikh
ed6238db4b
FIR accessor symbols: support 'is' prefix
2019-11-29 18:11:20 +03:00
Mikhail Glukhikh
eb90bd0e89
FIR: correctly process accessor symbols in derived classes
2019-11-29 18:11:19 +03:00
Mikhail Glukhikh
f1eb0dff1f
FIR: disable synthetic scope, make accessor symbols synthetic
...
Before this commit, we had two methods to do generally the same synthetic thing.
It's an attempt to keep only one of them.
Accessor symbols are generated in Java use-site member scopes,
at this place we know better whether we are in Java class or not.
However, we have to do this at every use-site level, which is relatively slow.
Also we could encounter problems when accessor function is overridden in Kotlin,
and accessor symbol can still contain reference to Java accessor.
2019-11-29 18:09:07 +03:00
Simon Ogorodnik
2f9c94bd9e
[FIR] Fix Definitely Not Null type substitution
2019-11-29 18:04:49 +03:00
Simon Ogorodnik
e5f60253f7
[FIR] Improve path usages in generator, provide default output
2019-11-29 18:04:48 +03:00
Simon Ogorodnik
5eb5d8e515
[FIR] Separate generated tree files from non-generated sources
2019-11-29 18:04:47 +03:00
Mikhael Bogdanov
d2e5432b2d
Minor. Update test data
2019-11-29 13:49:13 +01:00
Ilya Chernikov
b3c5362003
[NI] Fix diagnostic reporting for missing type parameter info
...
#KT-31975 fixed
2019-11-29 13:44:42 +01:00
Ilya Chernikov
7dd9ed7e38
[NI] Fix loosing type annotations on extension functions
...
#KT-32138 fixed
2019-11-29 13:44:41 +01:00
Mads Ager
467e6e3d97
JVM_IR: Fix field initialization in secondary enum constructors.
2019-11-29 13:40:18 +01:00
Mads Ager
8cd6dc0cd9
JVM_IR: Use IrInlineReferenceLocator for inline local var lowering.
2019-11-29 13:38:34 +01:00
Mads Ager
e2a1cb1077
JVM_IR: Generate fake inlining local variables for debugging.
2019-11-29 13:38:34 +01:00
pyos
fa8cb7b6e0
PSI2IR: support NewInference + SamConversionPerArgument
...
except for SAM conversions of varargs (which aren't implemented in the
non-IR JVM backend either btw)
2019-11-29 15:25:32 +03:00
Mikhael Bogdanov
cf6f823d29
Use descriptor from resolved call to inline accessors
...
In case of inline it should be same descriptor (except of fake override), In general case getter could be synthetic accessor and in such case it's not inline
2019-11-29 13:15:42 +01:00
Mikhael Bogdanov
320c5f6f00
Cast dispatch receiver to actual declaration owner though inline
...
Otherwise corrupted frame information is generated in bytecode
#KT-29242 Fixed
2019-11-29 13:15:42 +01:00
Dmitry Petrov
a2188610b1
Promote KotlinABI version
2019-11-29 13:53:05 +03:00
Dmitry Petrov
55e9e8afbf
IR ser/deser: IrSimpleFunction.isOperator
2019-11-29 13:53:05 +03:00
Dmitry Petrov
0681c0d956
IR BE Common: IrSimpleFunction.isOperator
2019-11-29 13:53:05 +03:00
Dmitry Petrov
4591dfdf47
JVM_IR: IrSimpleFunction.isOperator
2019-11-29 13:53:05 +03:00
Dmitry Petrov
31b63c0fc8
JS_IR: IrSimpleFunction.isOperator
2019-11-29 13:53:05 +03:00
Dmitry Petrov
cb1b9c2ccf
IR testData: IrSimpleFunction.isOperator
2019-11-29 13:53:05 +03:00
Dmitry Petrov
e4303b0173
FIR2IR: IrSimpleFunction.isOperator
2019-11-29 13:53:04 +03:00
Dmitry Petrov
d6db6becb9
IR: IrSimpleFunction.isOperator
2019-11-29 13:53:04 +03:00
Ilmir Usmanov
51a9df2902
JVM_IR: Support suspend lambdas with receivers and multiple parameters
...
In old BE we generate `create` for this kind of suspend lambdas, which,
like in simple suspend lambdas is responsible for putting arguments
(including extension receiver) to fields.
But, if number of parameters of suspend lambda (including receiver) >= 1,
there is no need to generate `create`, since `create` is called only by
`createCoroutine` and friends from stdlib, and there is no version of
`createCoroutine` for lambdas with multiple parameters.
Thus, in old BE we generate a redundant method, which affects method
count.
In JVM_BE we decided to 'inline' create into `invoke` for suspend lambdas
with multiple parameters.
2019-11-28 21:19:27 +03:00
pyos
98660cdf2d
JVM_IR: serialize anonymous functions' descriptors
2019-11-28 18:17:01 +01:00
victor.petukhov
e246c23a46
Fix prematurely analyzing a lambda while fixing a type variable for another argument
...
^KT-35168 Fixed
2019-11-28 19:03:30 +03:00
Dmitriy Novozhilov
c4a115720e
[FIR-TEST] Update testdata
...
It was forgotten in 61c17d91
2019-11-28 18:01:14 +03:00
pyos
2f4f09e3a2
JVM_IR: remove some redundant calls to deepCopyWithSymbols
2019-11-28 15:42:06 +01:00
Simon Ogorodnik
dbf0742c00
[FIR] Fix self-type for enum
2019-11-28 17:23:05 +03:00
Vyacheslav Gerasimov
26113b1e0f
Create target directories while copying compiler.xml for tests
2019-11-28 16:02:41 +03:00
Mikhail Glukhikh
6401596d58
FIR resolve: support processing extensions before members (forEach case)
2019-11-28 15:36:58 +03:00
Dmitriy Novozhilov
61c17d9110
[FIR-TEST] Add test with missing smartcast
2019-11-28 15:28:21 +03:00
Dmitriy Novozhilov
dcd1c2647e
[FIR-TEST] Add test with problem with default java importing scope
2019-11-28 15:28:21 +03:00
Dmitriy Novozhilov
bb89fee431
[FIR-TEST] Add test with ambiguity in static java scopes
2019-11-28 15:28:20 +03:00
Roman Artemev
4759c16428
[JS IR] Fix IrGetClass for Throwable successors
...
- add test
2019-11-28 14:45:34 +03:00
Yan Zhulanow
606cad1059
Pill: Add fir/lightTree module
2019-11-28 20:02:41 +09:00
Yan Zhulanow
60a77acd7a
Pill: Fix compiler tests (support both JPS build and Pill in JUnit 3 runner)
2019-11-28 20:02:40 +09:00
Mikhail Glukhikh
f58af2e4c3
FIR2IR: fix constructor referencing in return statement
2019-11-28 13:50:10 +03:00
Mikhail Glukhikh
29e882eae7
FIR resolve: add minor comments about substitutions around JvmMappedScope
2019-11-28 13:18:11 +03:00
Mikhail Glukhikh
e43a1ee1c5
FIR JvmMappedScope: substitute type parameters in Java scope with Kotlin ones
...
Without it, override mapping does not work properly.
NB: at this moment Java forEach often supersedes Kotlin forEach,
because call isn't reported as erroneous properly.
2019-11-28 13:18:11 +03:00
Mikhail Glukhikh
2c611d75bc
[FIR TEST]: two more tests on forEach potential ambiguity (both passing)
2019-11-28 13:18:10 +03:00
Mikhail Glukhikh
4f1167b16f
Move buildDefaultUseSiteMemberScope to FirSymbolProvider
2019-11-28 13:18:10 +03:00
Mikhail Glukhikh
71b95bd91d
FIR resolve: make substitution also for mapped Java type parameters
2019-11-28 13:18:10 +03:00
Mikhail Glukhikh
b3056b8bf5
FIR resolve: implement JVM K/J type mapping
...
Declared member scopes are now wrapped in JvmMappedScope
2019-11-28 13:18:10 +03:00
Mikhael Bogdanov
742c3a228a
JVM_IR. Proper lower toArray functions
2019-11-28 08:31:15 +01:00
Georgy Bronnikov
1ed23d7c54
IR: reorganize IrProvider handling
...
Make DeclarationStubGenerator a subclass of IrProvider,
anticipating deserialization of IR structures for JVM_IR backend.
2019-11-27 20:02:27 +03:00
Dmitriy Novozhilov
e38fdae1bc
Regenerate DiagnosticsTestWithJsStdLibGenerated
2019-11-27 18:03:05 +03:00