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
Simon Ogorodnik
bd769f8fd7
Add multiplatform test with substitution, fix deep supertypes
...
This commit fixes ambiguity problems introduced before
in MPP tests with deep supertypes
#KT-29636 Fixed
2019-02-19 09:54:16 +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
1f5e89cd32
Disable JavaElementFinder in FIR tests to avoid old FE
2019-02-19 09:52:20 +03:00
Simon Ogorodnik
840750ee40
Implement basic use-site scopes and override mapping
...
This commit also introduces separate scope processors:
processFunctionsByName and processPropertiesByName, in addition to
existing processClassifiersByName
Ad-hock call resolver starts to discover ambiguities, which leads
to some ambiguity problems in MPP tests with deep supertype hierarchy
Related to KT-29636
2019-02-19 09:52:20 +03:00
Mikhail Glukhikh
6ea2abfc46
FIR override resolve: lookup also interfaces
2019-02-19 09:52:20 +03:00
Mikhail Glukhikh
b3c8e83c58
FIR: make override resolve in use-site session (and module)
...
Related to KT-24078
2019-02-19 09:52:19 +03:00
Mikhail Glukhikh
84b3a17e2b
Type resolve transformer: reorder tower scope
...
This commit prioritizes inner scopes above outer scopes
(before this commit, inner scopes had lowest priority).
NB: really it's not precise enough too,
because explicit importing scope should have higher priority
than inner scopes.
Also fixes problem with total Kotlin resolve test introduced
in previous commit.
2019-02-19 09:52:19 +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
Mikhail Glukhikh
95678a4d64
Extract FirAbstractTreeTransformer and *WithSuperTypes
2019-02-19 09:52:19 +03:00
Mikhail Glukhikh
0e179f6b44
Extract FirAbstractProviderBasedScope & fix potential KNPE
2019-02-19 09:52:19 +03:00
Mikhail Glukhikh
db2fb86c8e
Raw FIR: implement expression trees & conversions from PSI
...
Testing: total kotlin test controls no stubs in FIR in non-stub-mode
#KT-29002 Fixed
2019-02-06 11:58:59 +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
dcd41bd26f
FIR: Add test for total kotlin resolve #KT-24077 Fixed
2019-01-25 18:05:08 +03:00
Mikhail Glukhikh
619bddfdbc
FIR: handle recursion in super-types correctly
...
Related to KT-24077
2019-01-25 18:05:08 +03:00
Mikhail Glukhikh
f0c9a3daa2
FIR: add default simple importing scope to support kotlin.ByteArray etc
2019-01-11 09:55:40 +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
Mikhail Glukhikh
7aba441234
FIR tree: support const expressions (adds IR dependency) #KT-24023 Fixed
...
Also support generic tree elements in FIR visitor generator
2019-01-10 10:51:08 +03:00
Mikhael Bogdanov
cf47bc0130
Update copyright in generated compiler tests
2019-01-02 12:37:06 +01:00
Simon Ogorodnik
cfb446df9e
Move FIR tests to fir modules
2018-12-27 21:32:22 +03:00
Mikhail Glukhikh
914620fd1f
FIR: introduce status & status transformer (no override resolve)
...
So #KT-24021 Fixed
2018-11-21 18:04:15 +03:00
Mikhail Glukhikh
c06b0efdfa
FIR: add implicit primary constructors, add delegated types to them
...
So #KT-24088 In Progress
2018-11-21 18:04:14 +03:00
Simon Ogorodnik
1c6490a1be
FIR: Fix resolution of type parameter in ext property receiver
...
Also cleanup FirTypeResolveTransformer
2018-11-21 18:04:14 +03:00
Simon Ogorodnik
e010a96055
FIR: Fix super-type nested qualifier resolution
2018-11-21 18:04:13 +03:00
Mikhail Glukhikh
bcb27f212c
FIR: support resolve of implicit Unit types
2018-11-21 18:04:13 +03:00
Mikhail Glukhikh
65f1a6c041
FIR: introduce FictitiousFunctionSymbol making it not FIR-based
2018-11-21 18:04:13 +03:00
Mikhail Glukhikh
5cdf938902
FIR: temporary implementation of kotlin.FunctionX resolve
2018-11-21 18:04:12 +03:00
Mikhail Glukhikh
82ae3f8f10
FIR resolve: add nested companion scope #KT-24095 Fixed
2018-11-21 18:04:12 +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
Mikhail Glukhikh
5c572aa56e
Add java.lang & kotlin.jvm to default star importing scope
2018-11-21 18:04:12 +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
Mikhail Glukhikh
c31513837b
FIR: fix resolve of function type & its parameters in supertype position
2018-11-21 18:04:10 +03:00
Simon Ogorodnik
4fb321fa00
FIR: Support function type resolve #KT-24092 Fixed
2018-11-21 18:04:10 +03:00
Simon Ogorodnik
0ea1a5b30f
FIR: Various random optimization
2018-11-21 18:04:10 +03:00
Mikhail Glukhikh
cce741eef8
FIR: partial function type resolve + some rendering fixes
2018-11-21 18:04:09 +03:00
Simon Ogorodnik
29ee4371d0
FIR: Optimize fqName creation in ImportResolveTransformer
2018-11-21 18:04:09 +03:00
Mikhail Glukhikh
2bc063b230
FIR: implement default star importing scope
2018-11-02 19:44:56 +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
093a236e34
FIR resolve: support star imports, enum entries
2018-11-02 19:44:55 +03:00
Mikhail Glukhikh
929573e0d5
FIR type transformer: minor optimization: do not create empty scopes
2018-11-02 19:44:54 +03:00
Mikhail Glukhikh
d16303342e
FIR: do not allow to resolve to type parameters in supertype position
2018-11-02 19:44:54 +03:00