Simon Ogorodnik
498fb94c37
FIR: Make FIR rendering more kotlin-styled
2019-03-22 16:25:10 +03:00
Simon Ogorodnik
9cc6e44158
FIR: Fix value-parameters redeclare in destructuring
2019-03-22 16:25:09 +03:00
Simon Ogorodnik
3867b255f2
FIR: Support this resolve
2019-03-22 16:25:06 +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
Mikhail Glukhikh
c1984d92ff
Introduce FirFile.fileSession, get rid of most FirElement.session usages
2019-03-21 10:29:58 +03:00
Mikhail Glukhikh
909a5fd32d
FIR: implement named arguments #KT-24081 Fixed
2019-03-14 18:30:13 +03:00
Mikhail Glukhikh
d65b30dd82
Fix corner-cases in ConeTypeContext / FIR builder / FIR enhancements
...
This fixes a pack of FIR smoke diagnostic tests, now all of them pass
Related to KT-29962
2019-03-14 18:30:12 +03:00
Mikhail Glukhikh
63cb8bb1a7
Remove FirElement.session usages from RawFirBuilder & around
...
Related to KT-30187
2019-03-14 18:23:11 +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
Mikhail Glukhikh
7f9b3a98b4
Fix corner cases (no expression, not resolved label) in raw FIR builder
2019-02-19 09:54:39 +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
5afb0a6f4a
FIR rename: FirType -> FirTypeRef and related
2019-02-19 09:54:24 +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
Ilya Chernikov
c6a24c03e4
Move CliScriptDefinition provider to the plugin too, fix tests
2019-02-10 13:33:22 +01:00
Mikhail Glukhikh
f040eaff27
FIR expressions: perform some names refactoring
...
FirAccess -> FirQualifiedAccess
FirAccessExpression -> FirQualifiedExpression
FirPropertyAssignment -> FirVariableAssignment
Introduce lValue & rValue in FirAssignment
Introduce separate indexes in FirArraySetCall
2019-02-06 11:59:06 +03:00
Mikhail Glukhikh
8ea4500ab4
Add test for PSI consistency #KT-24080 Fixed
...
This test checks that we handled all PSI elements properly
2019-02-06 11:59:03 +03:00
Mikhail Glukhikh
5e6ccb4b10
FIR total kotlin test: calculate also KtExpression/Declaration number
2019-02-06 11:59:02 +03:00
Mikhail Glukhikh
8dce8c1549
Make correct traverse in both FIR consistency tests
2019-02-06 11:59:01 +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
Mikhail Glukhikh
7095182e2d
FIR: support suspend functions #KT-24084 Fixed
2019-01-10 10:51:28 +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
65d89a61bf
FIR: constructor refactoring, now there are callable members
2018-11-21 18:04:14 +03:00
Mikhail Glukhikh
a07b9a70f7
FIR builder: do not generate implicit types for getters
2018-11-21 18:04:14 +03:00
Mikhail Glukhikh
dadc028884
FIR: support delegated types in secondary constructors
...
So #KT-24088 Fixed
2018-11-21 18:04:14 +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
Mikhail Glukhikh
06cb24db7c
FIR builder: do various stub-based optimizations #KT-24090 Fixed
2018-11-21 18:04:13 +03:00
Mikhail Glukhikh
c2686872ae
FIR: use implicit Unit type in setters
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
b58e372db3
FIR: include properties from primary constructors in tree
2018-11-21 18:04:12 +03:00
Mikhail Glukhikh
5c53bdb142
FIR: support inline classes + render class attributes nicer
2018-11-21 18:04:11 +03:00
Mikhail Glukhikh
124c11df08
FIR: support lateinit properties
2018-11-21 18:04:11 +03:00
Simon Ogorodnik
140120abc2
FIR: Optimize iteration
2018-11-21 18:04:10 +03:00
Mikhail Glukhikh
ce113fbe2e
FIR: introduce class & type alias symbols
2018-11-02 19:44:55 +03:00
Mikhail Glukhikh
4d48c40832
FIR tree & builder: support expect / actual
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
a99578c354
FIR: handle unresolved modality as questionable
2018-11-02 19:44:53 +03:00
Mikhail Glukhikh
1ba498b021
FIR: transform types inside functions & properties
2018-11-02 19:44:52 +03:00
Mikhail Glukhikh
6c8a326e15
FIR: split transformer into three (imports / types / descriptors)
2018-11-02 19:44:52 +03:00
Mikhail Glukhikh
e6cd07b46e
FIR: support tailrec & external modifiers
2018-11-02 19:44:51 +03:00
Mikhail Glukhikh
fa80f40e74
FIR: no nullability in error type
2018-11-02 19:44:51 +03:00
Simon Ogorodnik
3e06f426d0
Raw FIR: support a bunch of new elements + some fixes
...
Support: calls, constructor calls, annotation calls, arguments
Support: enums, primary constructors, const modifier
Support: inner modifier, qualified types
Add: some base transformed types
Fix: acceptChildren etc.
Progress: #KT-24013
2018-11-02 19:44:49 +03:00
Mikhail Glukhikh
2c626d6c5d
Implement raw FIR builder (initial version)
...
All necessary FIR tree implementations were created
FIR renderer & three first builder tests were added
#KT-24013 Fixed
2018-11-02 19:44:49 +03:00
Simon Ogorodnik
0f02622e32
Create modules for Frontend IR & its builder from PSI
2018-11-02 19:44:46 +03:00