Mikhail Glukhikh
bf0190d96c
FIR structure: reuse StandardClassIds in implicit built-in typeRef
2019-04-04 10:31:07 +03:00
Mikhail Glukhikh
4213a4c7e2
FIR Java: reuse StandardClassIds
2019-04-04 10:31:02 +03:00
Simon Ogorodnik
fedde668b3
FIR: Support captureFromArguments for ConeTypes
2019-03-22 16:25:16 +03:00
Simon Ogorodnik
818701b8df
FIR: Implement cycle avoidance in implicit type resolution
2019-03-22 16:25:11 +03:00
Simon Ogorodnik
43315fd61d
FIR: Preparation for resolve to classifiers
2019-03-22 16:25:08 +03:00
Simon Ogorodnik
9dc6d93070
FIR: Resolve local callables
2019-03-22 16:25:06 +03:00
Simon Ogorodnik
02079bbeb5
FIR: Update fir hierarchy, decouple member declaration from callable
2019-03-22 16:25:04 +03:00
Simon Ogorodnik
099f98f817
FIR: Expression typing and simple call resolver
2019-03-22 16:25:02 +03:00
Mikhail Glukhikh
f31faafd72
Introduce initial version of FIR Java type enhancement
...
Java type enhancement is performed by a special scope kind
Java FIR dump was added for multiplatform tests to look at enhancements
Overrides, J2K mapping, special cases does not work yet
Related to KT-29937
2019-03-14 17:51:00 +03:00
Denis Zharkov
6740cdabac
Get rid of ConeAbbreviatedType::directExpansion
...
It becomes necessary after extracting supertypes resolution into a
separate phase.
But also it looks reasonable because direct expansion actually depends
on the module we are looking from.
2019-03-14 17:06:45 +03:00
Simon Ogorodnik
3950dec4db
Implement TypeSystemContext for FIR #KT-29968 Fixed
...
Use this context in FirClassUseSiteScope for type comparison
2019-03-06 13:36:00 +03:00
Denis Zharkov
2dbe96c853
Extract ConeClassifierLookupTag (aka SearchSymbol)
...
So, for classifiers there are both Symbols and LookupTags
The difference between them is that the former are assumed to have
a reference to the actual FirDeclaration while LookupTags
effectively contain only classId and
something informative may only be obtained by FirSession
#KT-24075 Fixed
2019-03-05 18:23:17 +03:00
Mikhail Glukhikh
f8e165dbe4
Integrate nullability into cone types, add & use FIR flexible type
...
FIR fake overrides are rendered now more precisely to test this process
2019-02-19 09:54:32 +03:00
Simon Ogorodnik
9ebefa3ba6
FIR: make FunctionType class-like, refactor built-ins resolution
...
This breaks total kotlin resolve test because of incorrect rendering
of ConeClassErrorType (we are trying to read its symbol)
2019-02-19 09:54:28 +03:00
Simon Ogorodnik
3a237416c9
Implement FIR loading for Java (classes, supertypes, parameters, funs)
...
Properties aren't implemented yet
FIR symbol provider functions return more specialized types now
Related to KT-28918, KT-29636, KT-29218
#KT-28788 Fixed
2019-02-19 09:54:20 +03:00
Mikhail Glukhikh
4ea3df53cc
Implement FIR loading for libraries (classes, supertypes, parameters)
...
Members aren't implemented yet
Related to KT-28788, KT-28918
2019-02-19 09:54:18 +03:00
Simon Ogorodnik
0e3fecf614
Implement fake override mapping for functions
...
Related to KT-29636
2019-02-19 09:53:33 +03:00
Mikhail Glukhikh
bec62acf5b
FIR: introduce callable member symbols & initial member scopes
...
Initial member scopes cover top-level, class-level, and supers
Ad-hock version of call resolve was introduced to test them
NB: after this commit, total Kotlin resolve test cannot finish
because of scope problems in type resolve transformer
Related to KT-24078
#KT-24083 Fixed
2019-02-19 09:52:19 +03:00
Mikhael Bogdanov
a122cba862
Switch Kotlin project to jvm-target 1.8
...
#KT-29405
2019-01-31 07:43:05 +01:00
Sergey Rostov
0f2fb4ff82
Build: remove intellijCore/annotations.jar usages
2019-01-28 13:43:08 +03:00
Simon Ogorodnik
6c3fe5dc98
FIR: refactor cone types (arguments, projections)
2018-11-21 18:04:11 +03:00
Simon Ogorodnik
02bedeca05
FIR: introduce Java type resolve and JavaSymbolProvider #KT-24098 Fixed
2018-11-21 18:04:11 +03:00
Simon Ogorodnik
4fb321fa00
FIR: Support function type resolve #KT-24092 Fixed
2018-11-21 18:04:10 +03:00
Mikhail Glukhikh
284b21b2a6
Get rid of descriptors, resolved classifiers, + some cleanup
2018-11-02 19:44:55 +03:00
Mikhail Glukhikh
8035be07e2
FIR: built-in resolve, preliminary version #KT-24091 Fixed
2018-11-02 19:44:55 +03:00
Mikhail Glukhikh
ce113fbe2e
FIR: introduce class & type alias symbols
2018-11-02 19:44:55 +03:00
Mikhail Glukhikh
dfa8c32c5d
FIR: minor cone types refactoring
2018-11-02 19:44:54 +03:00
Mikhail Glukhikh
d15fb1963b
FIR: introduce symbols + type parameter resolve #KT-24064 Fixed
2018-11-02 19:44:53 +03:00
Mikhail Glukhikh
f82ad6ac20
FIR: support type alias resolve
2018-11-02 19:44:52 +03:00
Mikhail Glukhikh
be35b904f2
FIR: replace UnambiguousFqName with ClassId
2018-11-02 19:44:52 +03:00
Simon Ogorodnik
3e7b9c4e27
FIR: introduce type resolvers #KT-24019 Fixed
2018-11-02 19:44:51 +03:00
Simon Ogorodnik
7e95eee9f1
FIR: Introduce new classifier descriptors aka 'cones'
2018-11-02 19:44:50 +03:00
Simon Ogorodnik
ce7456c93d
FIR: Introduce new kotlin types aka 'cones' #KT-24063 Fixed
2018-11-02 19:44:50 +03:00
Simon Ogorodnik
12acbaaa21
FIR: Add module for new types aka 'cones' (of fir tree)
...
Start of KT-24063
2018-11-02 19:44:50 +03:00