Dmitriy Novozhilov
771600077c
[Test] Fail if there are changes in generated fir tree files in teamcity build
2021-02-01 10:18:37 +03:00
Igor Yakovlev
2e4daee1d4
[FIR] Fix invalid diagnostic fir node sites and improved invalid type parameters count diagnostic report
2021-01-21 15:20:30 +03:00
Simon Ogorodnik
b7d3469819
[FIR] Remove transform/accept from FirResolvedTypeRef.delegateTypeRef
2021-01-21 15:20:30 +03:00
Igor Yakovlev
243f85a4d6
[FIR IDE] Add base support for FIR incomplete types resolve
2021-01-21 15:20:30 +03:00
Svyatoslav Kuzmich
cf228bebc3
Use static year range in copyright of generated FIR and tests
...
Dynamically calculating a year is problematic, especially in cases like
FIR where generation happens in every build. When you are working on a
last year's commit, each build creates a bunch of uncommited
changes of updating the year in copyrights.
2021-01-19 17:17:31 +03:00
Stanislav Erokhin
d24331955e
Rename FirConstKind to ConstantValueKind and move it to compiler.common
2021-01-14 12:12:25 +01:00
Mikhail Glukhikh
d663f204e5
FIR Java: make method annotations lazy
2020-12-28 12:06:51 +03:00
Mikhail Glukhikh
8c8f81330a
FIR Java: make value parameter annotations lazy
2020-12-25 14:07:16 +03:00
Mikhail Glukhikh
91834ccf46
Use FirNamedFunctionSymbol in FirSimpleFunction & its inheritors
2020-12-09 19:53:19 +03:00
Denis Zharkov
387fd895a6
FIR: Drop unused FirComposedSuperTypeRef
2020-11-16 15:50:39 +03:00
Vyacheslav Gerasimov
3feff16a77
Cleanup 193 compatibility fixes
2020-11-11 14:28:54 +03:00
Denis Zharkov
ecb89a66be
FIR: Copy attributes when copying declaration
...
Otherwise they share FirDeclarationAttributes instance that might lead
to problems when modifying only one of them
2020-10-28 11:43:25 +03:00
Denis Zharkov
995b1aa1eb
FIR: Add FirCallableMemberDeclaration::dispatchReceiverType
2020-10-28 11:43:25 +03:00
Dmitriy Novozhilov
e07f63d26c
[FIR] Move declaration attributes to declaration builders
2020-10-16 15:24:56 +03:00
Ilya Kirillov
971e551bae
FIR IDE: implement lazy delegate initializers
2020-10-14 22:11:00 +03:00
Ilya Kirillov
81d4371685
FIR IDE: generate lazy initializers for properties
2020-10-14 22:10:59 +03:00
Ilya Kirillov
7c1170722f
FIR: add FirLazyExpression node
2020-10-14 22:10:58 +03:00
Ilya Kirillov
4fae9cbdb0
FIR: introduce FirLazyBlock node
2020-10-14 22:10:55 +03:00
Jinseong Jeon
8c88670185
FIR: copy constructor for typealias'ed inner/nested class
2020-10-08 16:33:13 +03:00
Dmitriy Novozhilov
53a7d69ca6
[FIR] Make FirPropertyAccessor inherits FirCallableMemberDeclaration
2020-09-29 10:17:43 +03:00
Dmitriy Novozhilov
a8e81e9ad1
[FIR] Add special node for implicit invoke calls
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
ae819ff059
[FIR] Add configurable typeRef to FirArrayOfCallBuilder
2020-09-17 17:23:25 +03:00
Dmitriy Novozhilov
93d63f7c66
[FIR] Get rid of FirResolvedFunctionTypeRef
2020-09-17 17:23:25 +03:00
Dmitriy Novozhilov
edab50ac61
[FIR] Get rid of FirResolvedTypeRef.isSuspend
2020-09-17 17:23:25 +03:00
Alexander Udalov
f6187b9d64
Remove dependency of fir:tree:tree-generator on kotlin-reflect
...
This dependency was unused. It allows to avoid waiting for compiling
kotlin-reflect (which includes descriptors, deserialization, etc.)
before compiling FIR modules and thus improves total build time.
2020-09-15 19:59:14 +02:00
Roman Golyshev
dcc22d3e5d
FIR IDE: Fix completion in property setters
...
Property consists of getter and setter (both optional). The setter
have a single `value` parameter with type
Because of it, we have to make a separate 'frankenstein setter' with
original resolved header, but with the body of the fake one
It seems that getters does not have such issues
2020-09-12 11:49:35 +00:00
Roman Golyshev
6fd871d0ba
FIR IDE: Add building completion context for properties
2020-09-12 11:49:33 +00:00
Dmitriy Novozhilov
a05d6da43b
Move descriptor-independent Visibilities to common modules
2020-09-04 11:42:50 +03:00
Mikhail Glukhikh
f0af930288
[FIR] Eliminate unused FirDelegatedTypeRef
2020-08-31 14:31:56 +03:00
Arsen Nagdalian
6c06008b4d
[FIR] Add a class representing the old syntax contract description in order to use the previous class for the new syntax
2020-08-25 12:58:37 +03:00
Arsen Nagdalian
991b18fec4
[FIR] Add a Fir node that wraps a ConeEffectDeclaration
2020-08-25 12:58:35 +03:00
Dmitriy Novozhilov
bc1b6d3588
Rename :core:descriptors.common to :core:compiler.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
5fa80a2f8c
Merge :core:deserialization:deserialization.common into :core:descriptors.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
7d4349edc2
[FIR] Remove dependency on descriptors from :compiler:fir:tree module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
6f0cd14afa
Move common classes to new :core:deserialization:deserialization.common module
2020-08-25 10:31:37 +03:00
Dmitriy Novozhilov
43821b681c
[FIR] Introduce new Visibility class which not depends on descriptors
2020-08-25 10:31:35 +03:00
Denis Zharkov
cb6fbc329a
FIR: Simplify FirQualifiedAccess hiearchy
...
Mostly, it's getting rid of FirQualifiedAccessWithoutCallee and FirModifiableQualifiedAccess
The latter was only used during FIR building to set explicit receiver
that might be done by replace call on explicit receiver
The problem with replaceExplicitReceiver is that for FirComponentCall
explicitReceiver should be not null, so it's needed to perform those tricks
at the generatot
2020-08-21 16:34:46 +03:00
Alexander Udalov
549ee84687
Fix some compiler warnings in FIR modules
2020-08-20 14:57:54 +02:00
Simon Ogorodnik
c7d6a79c25
FIR IDE: Fix completion in case of function with parameters
2020-08-17 20:05:52 +03:00
Oleg Ivanov
15598b62c9
[FIR] Add replaceControlFlowGraphReference function for FirFunction
2020-08-12 11:06:07 +03:00
Denis Zharkov
8b71f5e558
FIR: Do not leave cyclic upper bounds of type parameters
2020-08-11 10:14:02 +03:00
Dmitriy Novozhilov
614291b2cc
[FIR] Make FirAnnotationCall resolvable
2020-08-04 08:59:14 +03:00
Dmitriy Novozhilov
ffd30566be
[FIR] Add FirErrorResolvedQualifier for qualifiers with resolve diagnostic
2020-08-04 08:59:14 +03:00
Mikhail Glukhikh
0804c6a0f3
[FIR] Introduce TYPE_ARGUMENTS_NOT_ALLOWED & some other type errors
...
This commit introduces several different things, in particular:
- check type arguments in expressions
- new TypeArgumentList node to deal with diagnostic source
- ConeDiagnostic was moved to fir:cones
- ConeIntermediateDiagnostic to use in inference (?) without reporting
- detailed diagnostics on error type
2020-08-02 18:19:44 +03:00
Nick
7145caca40
[FIR] Refactor effective visibility calculation
...
Before this commit, we had effective visibility as a part of FIR status,
so it was integrated into the full pipeline. In this commit,
we introduced "effective visibility as a service" which is now used
only by exposed visibility checker. This allows us to make the thing
universal for all FIR nodes, including nodes for Java / deserialized.
2020-07-31 19:27:58 +03:00
Ivan Kylchik
8b9fb6a6cd
[FIR] Remove FirOperatorCall node from fir tree
2020-07-21 13:54:19 +03:00
Ivan Kylchik
708c8b8ef3
[FIR] Create additional nodes to replace operator call in some places
...
1. FirAssignmentOperatorStatement - represent assignment operations
such as =, +=, -=, /=, %=
2. FirEqualityOperatorCall - represent boolean operations such as ==,
!=, ===, !==
#KT-38333 In Progress
2020-07-21 13:54:14 +03:00
Dmitriy Novozhilov
1c622a5a3f
[FIR] Add transformConversionTypeRef to FirTypeOperatorCall
2020-07-20 14:38:16 +03:00
Dmitriy Novozhilov
9e94189852
[FIR] Add transformTypeParameters to FirTypeParameterRefsOwner
2020-07-20 14:38:15 +03:00
Denis Zharkov
fea1fb0fc3
FIR: Rename FirSourceElement::withKind to fakeElement
...
And reinforce its contract
2020-07-20 12:24:27 +03:00