Mikhail Glukhikh
9801e06eac
Use .firSymbolProvider instead of service, deprecate FirSession.service
2019-10-08 16:19:54 +03:00
Mikhail Glukhikh
e276e8d9f3
Don't enter twice local scopes w/out particular name in FIR tower resolver
2019-10-04 18:59:11 +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
c7904b273f
FIR: fix FirArraySetCall.acceptChildren thus fixing visitConsistencyTest
2019-10-01 18:23:06 +03:00
Mikhail Glukhikh
0d4ca06372
Fix FirCallableReferenceAccessImpl.transformChildren
2019-09-27 09:21:53 +03:00
Mikhail Glukhikh
11fb121458
FirProvider: search for fake overridden symbol containing file correctly
2019-09-27 09:21:02 +03:00
Dmitriy Novozhilov
61ae98df40
[FIR] Add default visitors and transformers with useful part of visited hierarchy
2019-09-17 18:09:18 +03:00
Dmitriy Novozhilov
e70c1d6959
[FIR] Remove default visited hierarchy
2019-09-17 18:09:18 +03:00
Mikhail Glukhikh
13b16cfe75
Refactoring: get rid of firSafeNullable, enhance getSymbolByLookupTag
2019-09-17 10:10:07 +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
106b6c901d
FIR: Get rid of FirRegularClass::setCallbackOnSupertypesComputed
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
bf610323cf
Support basic light-classes basic with FIR for CLI
2019-09-06 13:44:32 +03:00
Mikhail Glukhikh
687db20029
FIR: support fake overrides for properties
2019-09-05 16:26:14 +03:00
Alexander Udalov
406462d422
Regenerate FIR tree visitors and transformers
2019-09-03 16:37:53 +02:00
Dmitriy Novozhilov
9508fc60c9
[FIR] Remove FirUncheckedNotNullCastImpl from FIR
2019-09-02 10:43:09 +03:00
Dmitriy Novozhilov
fd84202c08
[FIR] Add fir node for qualified access with smartcast
2019-09-02 10:43:09 +03:00
Dmitriy Novozhilov
e72d8e675a
[FIR] Add invocation kind to anonymous functions
2019-09-02 10:43:07 +03:00
Dmitriy Novozhilov
6e0f4f140f
[FIR] Minor. Add set of type operations to FirOperation
2019-09-02 10:43:06 +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
56ac1201b6
[FIR] Add abstract data flow analyzer with callbacks for body resolve transformer
2019-09-02 10:43:06 +03:00
Dmitriy Novozhilov
198599f3c7
[FIR] Add builtins types to FirSession
2019-09-02 10:43:05 +03:00
Dmitriy Novozhilov
7d4c635e85
[FIR] Minor. Add util functions for checks that type is builtin
2019-09-02 10:43:05 +03:00
Mikhail Glukhikh
f2c77c45e9
FIR: simplify rendering of dispatch & extension receivers
2019-08-30 11:47:33 +03:00
Mikhail Glukhikh
e36a75250b
FIR: visit/transform dispatch & extension receivers only once
2019-08-30 11:47:33 +03:00
Mikhail Glukhikh
b531e535b6
FIR call resolve: set values of dispatch & extension receivers
2019-08-30 11:47:31 +03:00
Mikhail Glukhikh
67a7243361
FIR (rename): candidateOwner -> boundSymbol
2019-08-30 11:47:31 +03:00
Mikhail Glukhikh
8633a33108
FIR: add new qualified access implementation (FirThisReceiverExpression)
2019-08-30 11:47:30 +03:00
Mikhail Glukhikh
c63919f224
FIR tree: add dispatch & extension receivers
2019-08-30 11:47:30 +03:00
Mikhail Glukhikh
6604539154
FIR: set bound symbol for explicit this references
2019-08-30 11:47:30 +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
Dmitriy Novozhilov
ba7a137e74
[FIR] Add fir node for binary && and ||
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
908b6ade1d
[FIR] Fix incorrect do-while loop transforming order and IR generating
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
b274c7567e
[FIR] Minor. Add transformResult to FirWhenBranch
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
a022f85776
[FIR] Minor. Add @BaseTransformedType to FirWhenBranch
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
e48959350c
[FIR] Infer type of when expressions and try expressions like it is function call
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
741ff958e8
[FIR] Add util function for extracting return arguments from block
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
fe3824d796
[FIR] Introduce FirResolvable
...
FirResolvable is an interface representates fir node wit calleeReference
It will be useful for infer `try` and `when` expressions as function call
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
e6bf3b3263
[FIR] Render nullability in type renderer, not in fir renderer
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
317e3edba8
[FIR] Add default upper bound to type parameter in fir deserializer
2019-08-22 10:55:07 +03:00
Ilya Chernikov
315a9d66a0
Refactor more tasks to lazy API
2019-08-21 20:20:08 +02:00
Dmitriy Novozhilov
c3ea0a1e5b
[FIR] Add forgotten visit of annotation for FirAbstractLoop
2019-08-08 15:47:24 +03:00
Mikhail Glukhikh
0c4134bef4
Remove FirResolvePhase from FirElement hierarchy
2019-07-31 12:55:36 +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
Dmitriy Novozhilov
43e7f54fae
[FIR] Add string representation for ConeKotlinType
...
`ConeKotlinType.render` moved from `tree` module to `types` module
2019-07-30 16:28:15 +03:00
Dmitriy Novozhilov
6c26fc1943
[FIR] Don't render Any? upper bounds of type parameters
2019-07-30 16:28:14 +03:00