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
bb1acdbe95
Minor. Extract classes deserialization from BuiltInsPackageFragment
2019-03-27 17:17:59 +03:00
Denis Zharkov
b3e5e059bb
Minor. Extract FirDeserializationContext factories
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
Denis Zharkov
f03c5e0583
FIR: Support loading built-in top-level functions
2019-03-27 17:17:59 +03:00
Denis Zharkov
705f97cbae
FIR: Support type parameters in FirTypeDeserializer
2019-03-27 17:17:59 +03:00
Denis Zharkov
1d16008eab
Do not request FirProvider for built-in synthesized classes
...
Because currently they don't have FIR and it might fail with an exception
2019-03-27 17:17:59 +03:00
Denis Zharkov
466296bca0
Remove FirLibrarySymbolProviderImpl from FirJavaModuleBasedSession
...
It's anyway already being created within dependencies
2019-03-27 17:17:59 +03:00
Denis Zharkov
7a19e269fd
FIR: Support import-references to callables
2019-03-27 17:17:59 +03:00
Mikhail Zarechenskiy
a50cc99b01
[NI] Discriminate integer literal types as they are less specific
...
Plus simplify code in `ResultTypeResolver` a bit
2019-03-26 22:32:14 +03:00
Victor Petukhov
568506e5c1
Exclude warning "Remove final upper bound" for functions with override modifier
...
^KT-25105 Fixed
2019-03-25 22:14:26 +03:00
Dmitriy Novozhilov
ca0e66bafc
[NI] Refactor compiler representation of integer literals types
...
Add `IntegerLiteralTypeConstructor` that holds types, that can take
integer literal with given value. It has two supertypes
(`Number` and `Comparable<IntegerLiteralType>`) and have
special rules for subtyping, `intersect` and `commonSuperType`
functions with primitive number:
Example (assuming that ILT holds Int type):
* ILT <: Int
* Int :> ILT
* ILT intersect Int = Int
* commonSuperType(ILT, Int) = Int
#KT-30293 Fixed
#KT-30446 Fixed
2019-03-25 18:55:36 +03:00
Mikhail Glukhikh
0546548ff3
Raw FIR: add kotlin.Any super class if no super classes are visible
2019-03-25 17:17:14 +03:00
Mikhail Glukhikh
73ed52a511
Get rid of binding context in FirBodyResolveTransformer
2019-03-25 12:04:28 +03:00
Mikhail Glukhikh
aa6ba1cd4a
Introduce typeRef for FirExpression
...
This helps both body resolve & conversion to IR
2019-03-25 10:38:45 +03:00
Simon Ogorodnik
85a096029c
FIR: Do not fail on not calculated type
2019-03-22 16:25:24 +03:00
Simon Ogorodnik
70e324277e
FIR: Stub for super references
2019-03-22 16:25:23 +03:00
Mikhail Glukhikh
9b4fe2f991
FIR: Fix part of problems with smoke tests
2019-03-22 16:25:22 +03:00
Simon Ogorodnik
3e7e9269ab
FIR: Fix 2^n transform complexity in blocks/whens
2019-03-22 16:25:22 +03:00
Simon Ogorodnik
6799eeb084
FIR: Add CallKind
2019-03-22 16:25:21 +03:00
Simon Ogorodnik
a562f3db3c
FIR: Re-implement call resolver with proper architecture
2019-03-22 16:25:21 +03:00
Simon Ogorodnik
33b44870d6
FIR: Add test for constructor
2019-03-22 16:25:20 +03:00
Simon Ogorodnik
5aa783a961
FIR: Fix visitors/transformers and testData
2019-03-22 16:25:19 +03:00
Simon Ogorodnik
2341692296
FIR: Change transform order in calls/variables to more appropriate
2019-03-22 16:25:19 +03:00
Simon Ogorodnik
071f324738
FIR: Prevent failing on implicit typed local declarations
2019-03-22 16:25:18 +03:00
Simon Ogorodnik
46e432df54
FIR: Prevent failing on constructor substitution
2019-03-22 16:25:18 +03:00
Simon Ogorodnik
6c7be3c547
FIR: Improve diagnostic in fir unsafe
2019-03-22 16:25:16 +03:00
Simon Ogorodnik
fedde668b3
FIR: Support captureFromArguments for ConeTypes
2019-03-22 16:25:16 +03:00
Simon Ogorodnik
6efb22cd45
FIR: Support typing of type operators
2019-03-22 16:25:15 +03:00
Simon Ogorodnik
79018abee2
FIR: Optimize name gathering in call resolver
2019-03-22 16:25:15 +03:00
Simon Ogorodnik
24041828a9
FIR: Improve rendering for type operators
2019-03-22 16:25:14 +03:00
Simon Ogorodnik
27687602f8
FIR: Add functions to change nullability/arguments of ConeTypes
2019-03-22 16:25:13 +03:00
Simon Ogorodnik
818701b8df
FIR: Implement cycle avoidance in implicit type resolution
2019-03-22 16:25:11 +03:00
Simon Ogorodnik
334c42e8ab
FIR: Implement deep implicit types resolution
2019-03-22 16:25:11 +03:00
Simon Ogorodnik
70be1c1024
FIR: Update testData, now it resolves due to call resolver
2019-03-22 16:25:10 +03:00
Simon Ogorodnik
498fb94c37
FIR: Make FIR rendering more kotlin-styled
2019-03-22 16:25:10 +03:00
Simon Ogorodnik
9a642ef2e5
FIR: Add test for three receivers
2019-03-22 16:25:08 +03:00
Simon Ogorodnik
43315fd61d
FIR: Preparation for resolve to classifiers
2019-03-22 16:25:08 +03:00
Simon Ogorodnik
307b8a1d4c
FIR: Support top-level constructors
2019-03-22 16:25:07 +03:00
Simon Ogorodnik
d817f719a4
FIR: Cleanup failures in body resolve
2019-03-22 16:25:07 +03:00
Simon Ogorodnik
3867b255f2
FIR: Support this resolve
2019-03-22 16:25:06 +03:00
Simon Ogorodnik
9dc6d93070
FIR: Resolve local callables
2019-03-22 16:25:06 +03:00
Simon Ogorodnik
61eb19fbbf
FIR: Make possible to return variable symbols from scope
2019-03-22 16:25:05 +03:00
Simon Ogorodnik
02079bbeb5
FIR: Update fir hierarchy, decouple member declaration from callable
2019-03-22 16:25:04 +03:00
Simon Ogorodnik
7b6f4d8ba4
FIR: Implement implicit invoke desugaring in call resolver
2019-03-22 16:25:04 +03:00
Simon Ogorodnik
3be1d0f946
FIR: Add tests for invoke
2019-03-22 16:25:03 +03:00
Simon Ogorodnik
c58c1a6c4e
FIR: Add operator test
2019-03-22 16:25:03 +03:00
Simon Ogorodnik
3ac495a45d
FIR: Implement basic function call resolve
2019-03-22 16:25:02 +03:00
Simon Ogorodnik
099f98f817
FIR: Expression typing and simple call resolver
2019-03-22 16:25:02 +03:00