Simon Ogorodnik
649c2f6bcc
FIR deserializer: load type-parameters correctly
2019-04-23 11:51:05 +03:00
Simon Ogorodnik
853167a24d
FIR deserializer: handle class type parameters properly
2019-04-23 11:41:07 +03:00
Mikhail Glukhikh
2476c0299f
FIR Java: fix constructor enhancements
...
Before this commit,
we generated regular member functions as constructor enhancement.
Now, we generate constructors as constructor enhancement.
2019-04-23 11:41:05 +03:00
Simon Ogorodnik
2e966a7ded
FIR deserializer: load type-parameters for kotlin function properly
2019-04-23 11:41:03 +03:00
Simon Ogorodnik
9bbf5bebd2
Raw FIR: support typing for delegated constructor call
2019-04-23 11:41:01 +03:00
Simon Ogorodnik
73b1676a03
Raw FIR: fix unary operators (now convention calls use receivers)
2019-04-23 11:40:32 +03:00
Mikhail Glukhikh
77e83dd8cf
Raw FIR: introduce string concatenation call
...
This removes some 'plus' calls to be resolved
2019-04-23 11:35:41 +03:00
Simon Ogorodnik
8d2acd790d
FIR Java: use safer cases in use-site scope to allow constructors
2019-04-23 11:21:46 +03:00
Mikhail Glukhikh
618295f505
FIR: implement trivial typing for break & continue
2019-04-23 11:18:24 +03:00
Mikhail Glukhikh
b9f09afc6f
Raw FIR: introduce lambda argument expressions
...
Without it we cannot distinguish lambda argument from just last argument
2019-04-23 11:15:26 +03:00
Mikhail Glukhikh
cf72b13d84
Add accessor symbols & test for property overriding in Java
2019-04-23 11:15:24 +03:00
Simon Ogorodnik
9abf4062b1
FIR tree: implement trivial expressions typing
2019-04-23 11:14:55 +03:00
Simon Ogorodnik
c3632487d0
FIR Java: improve symbol provider laziness
2019-04-23 09:49:29 +03:00
Simon Ogorodnik
98f4fa1f6c
FIR Java: fix too strict cast in use-site scope
2019-04-23 09:49:29 +03:00
Simon Ogorodnik
539fcf82ef
Fix deprecation in FIR super type resolver
2019-04-23 09:49:29 +03:00
Dmitriy Novozhilov
642f8ecaf8
[NI] remove redundant replacing receiver in lambda function descriptor
...
#KT-30927 Fixed
#KT-31057 Fixed
2019-04-19 10:53:19 +03:00
Mikhael Bogdanov
dde28ddc52
Parallelize compiler tests
2019-04-18 13:24:58 +02:00
Mikhail Zarechenskiy
705a8a2234
[NI] Disable SAM-conversions for Kotlin functions by default
...
#KT-30661 Fixed
2019-04-17 01:40:54 +03:00
Mikhail Zarechenskiy
1bc078769b
Regenerate tests
2019-04-12 18:17:48 +03:00
Dmitriy Novozhilov
18f9272f56
[NI] Fix reporting smartcast diagnostics for intersection types
...
#KT-30826 Fixed
2019-04-12 17:36:59 +03:00
Mikhail Zarechenskiy
bdab7a88f6
[NI] Add test for obsolete issue
...
#KT-28658 Obsolete
2019-04-12 15:22:39 +03:00
Dmitriy Novozhilov
a92cf19641
Revert "[NI] Fix reporting smartcast diagnostics for intersection types"
...
This reverts commit 033d7262
That commit breaks bootstraping
2019-04-11 18:49:02 +03:00
Dmitriy Novozhilov
033d7262a2
[NI] Fix reporting smartcast diagnostics for intersection types
...
#KT-30826 Fixed
2019-04-11 18:10:59 +03:00
Alexander Udalov
d257285c86
Load Java enums as final classes
...
In case Java enum has an abstract member, it has the ACC_ABSTRACT flag
set in the bytecode. However, we should still load it with final
modality to be consistent with Kotlin enums which are always considered
final
#KT-23426 Fixed
2019-04-10 14:39:16 +03:00
Mikhail Glukhikh
568e831651
FIR: make rendering of type parameters similar to original Kotlin
2019-04-10 13:31:02 +03:00
Mikhail Glukhikh
0c334163ab
FIR: add class type parameters to constructors & change their rendering
2019-04-10 13:31:01 +03:00
Mikhail Glukhikh
40441a18cc
FIR2IR tests: do not try to dump & check external dependencies
...
(because both wrapped descriptors and FIR-based package descriptors
have no member scopes and aren't able to find class across module deps)
2019-04-09 15:36:18 +03:00
Mikhail Glukhikh
e1915ec99e
FIR2IR: add bunch file for 181 to avoid compilation problems
2019-04-05 16:18:59 +03:00
Mikhail Glukhikh
ee28467a47
Raw FIR: add work-around for deeply nested String interpolations
...
Controversial (but prevents total kotlin test failing)
Related to KT-29222
2019-04-05 16:18:58 +03:00
Mikhail Glukhikh
881073b1c9
Add basic FIR -> IR converter with a set of text tests
...
Tests duplicate IrTextTestCaseGenerated
#KT-24065 Fixed
2019-04-05 16:18:58 +03:00
Mikhail Glukhikh
d736a7da6b
Raw FIR: get rid of array gets, use array sets only for modifications
...
(a[b] += c etc. cannot be replaced with get/set calls easily)
2019-04-05 16:18:58 +03:00
Mikhail Glukhikh
a0c4e2f05f
Raw FIR: convert in to contains and !in to contains.not
2019-04-05 16:18:58 +03:00
Mikhail Glukhikh
4482a8f794
Remove FirOperation.RANGE which was effectively unused
...
Associated KtTokens.RANGE is included into convention call table
2019-04-05 16:18:58 +03:00
Mikhail Glukhikh
007edcb4a4
Raw FIR: generate convention / infix binary expressions with receiver
2019-04-05 16:18:57 +03:00
Mikhail Zarechenskiy
ff2ce316e1
[NI] Resolve callable reference eagerly at the end of resolution parts
...
This way we'll resolve less callable references later as we'll have
more constraints to clip wrong candidates for callable references
2019-04-05 13:16:58 +03:00
Mikhail Zarechenskiy
c3bc6ef2fa
[NI] Make callable references more robust to overloads of outer call
...
#KT-30676 Fixed
2019-04-05 13:16:54 +03:00
Mikhail Zarechenskiy
20a7f387bf
[NI] Resolve callable reference eagerly if there is only one candidate
...
#KT-30737 Fixed
2019-04-05 13:15:57 +03:00
Dmitriy Novozhilov
aa96a05469
[NI] Fix initial data flow info for analyzing lambdas
...
#KT-30734 Fixed
2019-04-05 12:52:29 +03:00
Mikhail Glukhikh
141e8d553e
FIR body resolve: support variable assignments
2019-04-04 10:31:15 +03:00
Mikhail Glukhikh
c56b471b71
FIR body resolve: handle constant types more precisely
2019-04-04 10:31:13 +03:00
Mikhail Glukhikh
cc2a5cfc06
FIR body resolve: calculate type even for resolved references
2019-04-04 10:31:12 +03:00
Mikhail Glukhikh
d7f0392f90
FIR body resolve: fix value parameter expected type
2019-04-04 10:31:11 +03:00
Mikhail Glukhikh
8a6c9a6aec
FIR deserializer: read nullability & add constructors
2019-04-04 10:31:09 +03:00
Mikhail Glukhikh
6e9d78d431
FIR structure: make implicit built-in types resolved
2019-04-04 10:31:08 +03:00
Mikhail Glukhikh
bf0190d96c
FIR structure: reuse StandardClassIds in implicit built-in typeRef
2019-04-04 10:31:07 +03:00
Mikhail Glukhikh
b3cf3c6579
FIR structure: include calleeReference into FirDelegatedConstructorCall
2019-04-04 10:31:05 +03:00
Mikhail Glukhikh
63d3100122
FIR structure: FirClassLikeDeclaration is now FirStatement
...
Done to support (in theory) local type aliases
2019-04-04 10:31:04 +03:00
Mikhail Glukhikh
4213a4c7e2
FIR Java: reuse StandardClassIds
2019-04-04 10:31:02 +03:00
Mikhail Glukhikh
a0fa9e6b48
Raw FIR: make component call a function call, its argument -> receiver
2019-04-04 10:31:01 +03:00
Mikhail Glukhikh
30697787a0
Raw FIR: set "implicit boolean" result type for some operator calls
2019-04-04 10:31:00 +03:00