Mikhail Glukhikh
e0348b56a1
FIR type enhancement: extract indexed Java type qualifiers
2019-03-14 18:08:16 +03:00
Mikhail Glukhikh
be412baf9f
FIR type enhancement: fold flexible types when it's possible
...
Related to KT-29937
2019-03-14 18:08:01 +03:00
Mikhail Glukhikh
3d29b31177
FIR type enhancements: handle class qualifiers, add new JSR 305 tests
...
Related to KT-29937
2019-03-14 18:07:46 +03:00
Mikhail Glukhikh
33fb3d154b
FIR Java model: support static members & enum entries
...
Related to KT-29218
2019-03-14 18:07:17 +03:00
Mikhail Glukhikh
14fb495ab6
Support Java constructors in FIR (related to KT-29218)
2019-03-14 17:57:13 +03:00
Mikhail Glukhikh
fb788dc4c0
Fix null Java type argument problem & add relevant test
2019-03-14 17:56:23 +03:00
Mikhail Glukhikh
7563a98999
FIR type enhancement: make J2K mapping and changed handling more exact
...
Related to KT-29937
2019-03-14 17:56:05 +03:00
Mikhail Glukhikh
9bb2278fd4
Simplify JavaClassEnhancementScope: callback -> TypeInSignature
2019-03-14 17:55:47 +03:00
Mikhail Glukhikh
226cf8e42c
FIR Java types: handle wildcard types correctly
...
Related to KT-29937, KT-29218
2019-03-14 17:55:25 +03:00
Mikhail Glukhikh
6c79b184c0
FIR Java types: add Kotlin/Java mapping & mutability enhancements
...
Related to KT-29937
2019-03-14 17:55:10 +03:00
Mikhail Glukhikh
e7ac88d326
FIR: implement Java fields (in provider, type enhancement, scopes)
...
Related to KT-29218
2019-03-14 17:54:53 +03:00
Mikhail Glukhikh
4255c9f774
Add FIR enhancement tests, fix some exceptions / problems around them
...
Test data and tests themselves are based on
compiler/testData/loadJava/compiledJava
2019-03-14 17:52:33 +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
Mikhail Glukhikh
060bd1b464
Add separate FirJava elements (class, method, parameter, type reference)
...
Related to KT-29218
2019-03-14 17:40:04 +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
Simon Ogorodnik
5cef869d36
FIR: add symbol provider for IDE #KT-24097 Fixed
...
Functions & properties aren't yet supported
2019-02-19 14:11:11 +03:00
Mikhail Glukhikh
74d89b1be2
JavaSymbolProvider: support different kinds of literals in annotations
...
Constants, enum entries, class references, arrays are covered here
Related to KT-29218
2019-02-19 09:54:34 +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
3edd82b602
FIR: make JavaSymbolProvider return error-type on not found symbols
2019-02-19 09:54:26 +03:00
Simon Ogorodnik
5afb0a6f4a
FIR rename: FirType -> FirTypeRef and related
2019-02-19 09:54:24 +03:00
Mikhail Glukhikh
1c76a612f9
FIR rename: isNullable -> isMarkedNullable
2019-02-19 09:54:21 +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
Mikhail Glukhikh
0bef9f2afe
Rename in FIR provider: getSymbolByFqName -> getClassLikeSymbolByFqName
2019-02-19 09:54:17 +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
Mikhail Glukhikh
6e369e156d
FIR: implements multi-module resolve, add tests #KT-24093 Fixed
...
This commit introduces FIR session provider, dependency provider,
library session + other infrastructure necessary for multi-module resolve
2019-01-11 09:55:40 +03:00
Mikhail Glukhikh
bc82f2f940
Use FirModuleBasedSession with module info, use platform default imports
...
In this commit, FIR sessions made bound to a particular module
2019-01-11 09:55:40 +03:00
Denis Zharkov
f153d97f40
Avoid multiple subsequent reading of the same class-file in front-end
...
^KT-23466 Fixed
2018-12-13 20:38:24 +03:00
Mikhail Glukhikh
98abe08056
Add Java symbol resolve in default star importing scope
...
Related to KT-24098
2018-11-21 18:04:12 +03:00
Simon Ogorodnik
02bedeca05
FIR: introduce Java type resolve and JavaSymbolProvider #KT-24098 Fixed
2018-11-21 18:04:11 +03:00