Mikhail Glukhikh
4cd8b78779
FIR: eliminate most usages of FirSession.service() and getService()
2019-10-08 16:19:54 +03:00
Mikhail Glukhikh
9801e06eac
Use .firSymbolProvider instead of service, deprecate FirSession.service
2019-10-08 16:19:54 +03:00
Mikhail Glukhikh
7ba40ac963
Memoize absent function/property names in FirSuperTypeScope
2019-10-04 18:59:12 +03:00
Mikhail Glukhikh
26e8202771
FIR: add 'isInner' parameter to constructors
...
This is helpful because inner class constructors are resolved in a bit
different way (like non-static vs static)
2019-10-04 18:59:10 +03:00
Mikhail Glukhikh
0493432723
Remove some usages of FirBasedSymbol
2019-09-17 10:10:06 +03:00
Mikhail Glukhikh
20c45a8382
FIR general refactoring: get rid of ConeSymbols
2019-09-16 16:55:42 +03:00
Denis Zharkov
3569eaabcf
Rename FirJavaElementFinder.kt.as34 to FirJavaElementFinder.kt.183
2019-09-09 10:14:19 +03:00
Denis Zharkov
8c52ff31b3
Add bunch for AS34: FirJavaElementFinder
2019-09-06 13:45:28 +03:00
Denis Zharkov
3f0887dc0c
FIR: Do not try building light classes for invalid names
2019-09-06 13:45:28 +03:00
Denis Zharkov
106b6c901d
FIR: Get rid of FirRegularClass::setCallbackOnSupertypesComputed
2019-09-06 13:45:28 +03:00
Denis Zharkov
122c229a8b
FIR: Add possibility to run SupertypeResolverTransformer ad-hoc
2019-09-06 13:45:28 +03:00
Denis Zharkov
d9d6c38c2b
FIR: Introduce FirClassLikeDeclaration::supertypesComputationStatus
2019-09-06 13:44:32 +03:00
Denis Zharkov
6058f9d286
FIR: Avoid recursions while building Java enhancement scopes
2019-09-06 13:44:32 +03:00
Denis Zharkov
bf610323cf
Support basic light-classes basic with FIR for CLI
2019-09-06 13:44:32 +03:00
Dmitriy Novozhilov
9f0781c9de
[FIR] Add references to control flow graph to FirFunction and FirProperty
...
Also add updating CFG references anfter data flow analyzer builds graph
That graph is needed for further control flow analysis
2019-09-02 10:43:06 +03:00
Dmitriy Novozhilov
ef4ef08b1d
[FIR] Add default upper bound for java type parameters
2019-08-30 11:10:31 +03:00
Dmitriy Novozhilov
5846db4eab
[FIR] Add symbol to FirFunction and all it's inheritors
2019-08-22 14:14:55 +03:00
Dmitriy Novozhilov
e3e1f3c2aa
[FIR] Fix transforming value parameters of anonymous functions
2019-08-22 14:14:55 +03:00
Mikhail Glukhikh
10e42a55c9
FIR: set PSI elements in JavaSymbolProvider / enhancement scope
...
Related to KT-24351
2019-07-31 13:24:20 +03:00
Mikhail Glukhikh
760fb668bb
Introduce FIR resolution API with lazy resolve to use in IDE
...
Now lazy resolve atomic element is a file (declaration-level resolve)
or a callable declaration (expression-level resolve)
#KT-24351 In Progress
2019-07-30 16:28:17 +03:00
Mikhail Glukhikh
c3a31dcdf5
Optimize FirSession component storage
2019-07-30 16:28:17 +03:00
Mikhail Glukhikh
7529d557fe
FIR resolution: introduce FirResolvePhase & FirAbstractPhaseTransformer
...
The phase determines which transformers were already applied to declaration.
The transformer controls current resolve phase in phasedFir and
performs additional resolve if necessary.
2019-07-30 16:28:17 +03:00
Mikhail Glukhikh
a38b4756b5
FIR tree refactoring: move FirElement.session to FirDeclaration
...
#KT-30275 Fixed
2019-07-30 16:28:16 +03:00
Mikhail Glukhikh
213f951da3
FIR: partial implementation of delegate resolve #KT-32217 Fixed
2019-07-25 09:46:34 +03:00
Simon Ogorodnik
3da11cc85b
Use no-op substitutor instead of substitutor with empty map
2019-07-17 10:45:05 +03:00
Mikhail Glukhikh
c6a09dba4e
FIR: consider Java default constructors as primary ones
2019-07-11 12:40:29 +03:00
Mikhail Glukhikh
2ceffa241b
FIR: make Java default constructor visibility same with class visibility
2019-07-11 12:38:53 +03:00
Mikhail Glukhikh
c35d7eab70
Refactor FIR symbols to make them and their FIR element types more clear
...
This commit also fixes work with Java synthetic properties
2019-07-11 12:37:32 +03:00
Denis Zharkov
bf0781d790
FIR: Implement fast path for classes subtyping
2019-06-20 15:42:42 +03:00
Simon Ogorodnik
2995e9fcac
FIR deserializer optimization: avoid calling findKotlinClass twice
...
This commit influences enum entries deserialization.
In particular, now we don't deserialize enum entry members,
but deserialize its supertype correctly (see test data changes).
2019-06-19 23:04:41 +03:00
Simon Ogorodnik
2c5bd46a97
[FIR] Handle non-kotlin class results from findKotlinClassOrContent
2019-06-18 11:36:42 +03:00
Simon Ogorodnik
2f53bd24dd
[FIR] Reorder providers to make builtins load first
2019-06-18 11:34:18 +03:00
Simon Ogorodnik
03c3469a14
[FIR] Enhance caches in providers
2019-06-18 11:33:11 +03:00
Simon Ogorodnik
95409b35ca
[FIR] Use abstract classes for FIR scopes
2019-06-18 11:14:56 +03:00
Simon Ogorodnik
810fa9c171
[FIR] Make session & symbolProvider abstract classes
2019-06-18 11:14:55 +03:00
Simon Ogorodnik
df9479b607
Cache declared member scope
2019-06-10 11:03:09 +03:00
Simon Ogorodnik
146a53f18c
Change lookup tags from interfaces to abstract classes
2019-06-10 11:03:09 +03:00
Denis Zharkov
91d8f1fc88
FIR: Optimize access to FirSymbolProvider via session
2019-06-10 11:03:08 +03:00
Mikhail Glukhikh
2db8409d85
FIR: introduce & resolve spread named arguments #KT-31575 Fixed
2019-05-28 10:20:42 +03:00
Mikhail Glukhikh
806d2d628c
FIR Java: correctly handle overridden Kotlin properties in use-site scope
2019-05-28 10:20:41 +03:00
Mikhail Glukhikh
56435fa283
FIR Java: add default constructors
2019-05-28 10:20:40 +03:00
Mikhail Glukhikh
d0404b2c2a
FIR resolve: check number of parameters when handling Java accessors
2019-05-28 10:20:38 +03:00
Mikhail Glukhikh
0aaf8c7689
Fix FIR Java enhancement of java.util.Map & similar supertypes
2019-05-28 10:17:21 +03:00
Simon Ogorodnik
cef108a5ae
FIR: implement qualifier resolver
2019-05-28 10:17:05 +03:00
Mikhail Glukhikh
f3960c9482
Preliminary implementation of parts & facade in FIR-based compiler
2019-05-23 14:02:11 +03:00
Simon Ogorodnik
6c313895df
[FIR] Do not enhance java fields to firProperty
2019-05-23 14:02:09 +03:00
Simon Ogorodnik
4bcba000fd
FIR: pass name resolver to annotation deserializer separately
2019-04-30 18:45:56 +03:00
Mikhail Glukhikh
f457cb099f
FIR deserializer: handle context in more correct way
2019-04-30 18:45:55 +03:00
Mikhail Glukhikh
d1d6b8b77a
FIR Java: handle primitive arrays in annotations correctly
2019-04-30 18:45:54 +03:00
Simon Ogorodnik
9cef9e4056
Remove isMarkedNullable from FirResolvedTypeRef
2019-04-30 18:45:54 +03:00