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
Mikhail Glukhikh
8b718c6822
FIR body resolve: support subject type calculation
2019-04-30 18:45:38 +03:00
Mikhail Glukhikh
e05dfb6541
FIR resolve: introduce argument mapper
2019-04-30 18:45:38 +03:00
Simon Ogorodnik
95011b1076
Return "FIR resolve: support variable assignments" with full completion
2019-04-30 18:45:36 +03:00
Simon Ogorodnik
c6aff9380b
FIR: support resolving to objects
2019-04-30 18:45:36 +03:00
Simon Ogorodnik
1dae135840
Expand ConeTypeContext, implement FIR type inference & related checkers
2019-04-30 18:45:35 +03:00
Simon Ogorodnik
f1eb66819b
Revert "FIR body resolve: support variable assignments"
...
Performed to make long branch rebasing easier
This reverts commit af8c3788
2019-04-30 18:45:35 +03:00
Simon Ogorodnik
9352d52e7e
FIR: load default value from meta-data
2019-04-25 09:47:38 +03:00
Simon Ogorodnik
649c2f6bcc
FIR deserializer: load type-parameters correctly
2019-04-23 11:51:05 +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
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
007edcb4a4
Raw FIR: generate convention / infix binary expressions with receiver
2019-04-05 16:18:57 +03:00
Mikhail Glukhikh
141e8d553e
FIR body resolve: support variable assignments
2019-04-04 10:31:15 +03:00
Mikhail Glukhikh
8a6c9a6aec
FIR deserializer: read nullability & add constructors
2019-04-04 10:31:09 +03:00
Mikhail Glukhikh
f77ba2dd3e
Raw FIR: make object/sealed/enum constructor visibility private
2019-04-04 10:30:47 +03:00
Mikhail Glukhikh
33729aaf9b
Raw FIR: add Any/Enum/Annotation to supertypes iff no supertypes exists
2019-04-04 10:30:44 +03:00
Mikhail Glukhikh
61c2e4e590
Raw FIR: handle local visibility for functions & classes
2019-04-04 10:30:41 +03:00
Mikhail Glukhikh
4187ea1f86
Raw FIR: add initializers to primary constructor properties
2019-04-04 10:30:40 +03:00
Denis Zharkov
1426341e9f
FIR: Support loading deserialized declarations from JVM class files
2019-03-27 17:17:59 +03:00
Denis Zharkov
0f9d54c4dc
FIR: Support deserialization of nested classes
2019-03-27 17:17:59 +03:00
Denis Zharkov
aec5ec89e7
FIR: Support deserialization for built-in classes content
2019-03-27 17:17:59 +03:00