Mikhail Glukhikh
d2bdbd8978
FIR resolve: record & check implicit extension receiver type properly
2019-05-28 10:20:35 +03:00
Mikhail Glukhikh
d9d582b226
FIR tower resolve: add level with implicit extension receiver
2019-05-28 10:20:33 +03:00
Mikhail Glukhikh
45b0f5a0ca
Add FIR resolve test (call extension from extension)
2019-05-28 10:20:32 +03:00
Mikhail Glukhikh
bc336650ff
More top-level FIR resolve tests (map, with)
2019-05-28 10:20:31 +03:00
Mikhail Glukhikh
4d145db9f7
FIR resolve (by semoro): support correct type inference for generic args
...
This commit includes additional test and fixes e.g.
resolve of listOf() + listOf()
2019-05-28 10:19:12 +03:00
Simon Ogorodnik
d3f00280e9
Disable data class copy function body in raw FIR
...
After this commit we require 'copy' body generation in FIR2IR converter
2019-05-28 10:18:00 +03:00
Mikhail Glukhikh
05e4539019
Set resolved type for lambdas properly during FIR resolve
...
Partially done by semoro
2019-05-28 10:17:31 +03:00
Mikhail Glukhikh
0aaf8c7689
Fix FIR Java enhancement of java.util.Map & similar supertypes
2019-05-28 10:17:21 +03:00
Simon Ogorodnik
cef108a5ae
FIR: implement qualifier resolver
2019-05-28 10:17:05 +03:00
Mikhail Glukhikh
68da1a97d1
Add fib test to FIR resolve tests
2019-05-23 14:02:11 +03:00
Mikhail Glukhikh
2bf80ff64e
FIR: support copy functions in data classes
2019-05-23 14:02:10 +03:00
Simon Ogorodnik
6c313895df
[FIR] Do not enhance java fields to firProperty
2019-05-23 14:02:09 +03:00
Simon Ogorodnik
aa96837758
[FIR] Introduce unchecked not-null cast as internal operation for !!, ?:
2019-05-23 14:02:08 +03:00
Mikhail Glukhikh
90009f002c
Add FIR test for 'Exception' constructor resolve ambiguity (type alias)
2019-05-23 14:02:07 +03:00
Simon Ogorodnik
3e51cbc9dc
FIR: move test to stdlib group thus fixing it
2019-04-30 18:45:56 +03:00
victor.petukhov
3636046e2d
[FIR] Add test with potential recursive call in compiler FE on when with sealed class inside it (KT-18583)
2019-04-30 18:45:55 +03:00
Mikhail Glukhikh
d1d6b8b77a
FIR Java: handle primitive arrays in annotations correctly
2019-04-30 18:45:54 +03:00
Simon Ogorodnik
77817cb750
Raw FIR: copy class type-parameters into constructors properly
2019-04-30 18:45:54 +03:00
Simon Ogorodnik
99994e6c41
FIR: provide super-type as the self-type for anonymous objects
...
This commit is a temporary approximation useful before we have
symbols for local classes & objects
2019-04-30 18:45:54 +03:00
Simon Ogorodnik
d19a250cbe
FIR: support proper overriding of generic functions
2019-04-30 18:45:53 +03:00
Simon Ogorodnik
7b9f5293da
FIR: resolve primary constructor parameters in initializers context
2019-04-30 18:45:53 +03:00
Simon Ogorodnik
e521e66c74
FIR deserializer: provide proper type for enum entries
2019-04-30 18:45:52 +03:00
Simon Ogorodnik
ca350e64c2
FIR deserializer: add proper container class id to nested class members
2019-04-30 18:45:52 +03:00
Simon Ogorodnik
daf9f927d4
FIR: add property case to companion test
2019-04-30 18:45:52 +03:00
Simon Ogorodnik
3e69838f48
FIR Java: map classes to make java type-parameters have correct bounds
...
Really, this commit implements early J2K mapping for all Java types.
It's questionable and probably wrong at least for super-types,
because, for example, we cannot resolve spliterator() in classes
derived from java.lang.Iterable
2019-04-30 18:45:51 +03:00
Simon Ogorodnik
6a0e3371ae
FIR: resolve conflicts on multiple inheritance of fun with same signature
2019-04-30 18:45:50 +03:00
Simon Ogorodnik
cec10dac85
FIR deserializer: remove cycle in annotations loading
2019-04-30 18:45:48 +03:00
Mikhail Glukhikh
e3e7eea3fe
FIR: support (partially) type annotations in JVM deserialized
2019-04-30 18:45:48 +03:00
Mikhail Glukhikh
48cd9e3251
FIR: support class annotations in JVM deserialized
2019-04-30 18:45:48 +03:00
Mikhail Glukhikh
a9db64989b
FIR deserializer: support enum entries and their annotation usages
2019-04-30 18:45:48 +03:00
Mikhail Glukhikh
b839e50ee2
FIR: deserialize annotations (built-ins only, no enums & arrays yet)
...
Problems: enums aren't deserialized correctly; array aren't done at all;
Target annotation has no arguments in built-in for some reason.
2019-04-30 18:45:47 +03:00
Simon Ogorodnik
c487c1443f
FIR deserializer: provide type parameters for type-aliases
2019-04-30 18:45:47 +03:00
Simon Ogorodnik
9d7d358836
FIR deserializer: support properties
2019-04-30 18:45:47 +03:00
Simon Ogorodnik
b02b090bdf
FIR inference: implement simple constraint system properly
2019-04-30 18:45:46 +03:00
Mikhail Glukhikh
f9feeac5e1
Raw FIR: generate data-class component1, component2, ... functions
2019-04-30 18:45:46 +03:00
Simon Ogorodnik
8324ee7272
FIR deserializer: support type-aliases
2019-04-30 18:45:45 +03:00
Simon Ogorodnik
e6ab38a583
FIR: resolve constructors via type-aliases
2019-04-30 18:45:45 +03:00
Simon Ogorodnik
aa077b42e9
FIR deserializer: provide type-parameters for constructors
2019-04-30 18:45:45 +03:00
Simon Ogorodnik
e6b9c41f3a
FIR resolve: use proper argument mapping in FlatSignature for constructor
2019-04-30 18:45:45 +03:00
Simon Ogorodnik
9dcf8f836a
FIR: support varargs in resolve
2019-04-30 18:45:44 +03:00
Mikhail Glukhikh
7d793f6750
FIR resolve: add handling of companions as objects
2019-04-30 18:45:43 +03:00
Mikhail Glukhikh
ab258767f8
FIR resolve: add extra test & comments to multiple receiver resolve
2019-04-30 18:45:43 +03:00
Simon Ogorodnik
d1b8ca31c0
FIR resolve: add test for firstOrNull
2019-04-30 18:45:43 +03:00
Simon Ogorodnik
572c9e7115
FIR resolve: add test for map and apply
2019-04-30 18:45:42 +03:00
Mikhail Glukhikh
93496f1dee
FIR resolve: add correct receiver tower scopes + check receivers
2019-04-30 18:45:41 +03:00
Simon Ogorodnik
4b5172cda3
FIR (WIP): Initial support for proper lambda analysis
2019-04-30 18:45:41 +03:00
Simon Ogorodnik
aaf4645cef
FIR: add return type to functional type's arguments
2019-04-30 18:45:41 +03:00
Simon Ogorodnik
3a50d2e666
FIR: provide constructors from importing scopes
2019-04-30 18:45:40 +03:00
Mikhail Glukhikh
5bf41594ec
FIR resolve: add receiver consistency checking
...
NB: looks like checker itself may be not needed, but it's important
to check extension receiver presence during candidate collection
2019-04-30 18:45:38 +03:00
Mikhail Glukhikh
2e7d655b20
FIR resolve: support nested class constructors
2019-04-30 18:45:38 +03:00