Mark Punzalan
e175e87225
[FIR] Change type of argumentMapping properties and parameters from Map
...
to LinkedHashMap, to signify that the order is important and we don't
assume that mutableMapOf() will always return a LinkedHashMap.
2020-10-02 12:08:06 +03:00
Denis Zharkov
ff4b6a0bf9
FIR: Fix modality computation for corner cases in FirTypeIntersectionScope
...
See org.jetbrains.kotlin.resolve.OverridingUtil#determineModalityForFakeOverride
2020-10-01 17:49:02 +03:00
Denis Zharkov
4964ff0019
FIR2IR: Refine definition if we need a fake override
...
`realDeclarationSymbols` that was used before is built from klass.declarations that doesn't
contain e.g. declarations from enhancement
Next time, we should get rid of `realDeclarationSymbols` and use only
originalDeclaration.origin.fromSupertypes, but originalSymbol.callableId.classId == classId
doesn't work correctly
2020-10-01 17:49:02 +03:00
Denis Zharkov
b241161c35
FIR2IR: Rework DelegatedMemberGenerator
...
Use scope content instead of manual traversing of declarations
2020-10-01 17:49:02 +03:00
Denis Zharkov
28c536e511
FIR: Add temporary workaround to avoid changes in test data
...
CallableId for intersection overrides has been changed in previous commits
and many rendered FIR test data needs to be changed
But, we're going to get rid of callableId's/or fix them back for intersection overrides soon
2020-10-01 17:49:02 +03:00
Denis Zharkov
9696fecab5
FIR: Use refined visibility/modality for intersection overrides
2020-10-01 17:49:02 +03:00
Denis Zharkov
11bc0e3225
FIR: Extract FirTypeScope.getDirectOverridden*
2020-10-01 17:49:02 +03:00
Jinseong Jeon
3151fc8577
FIR2IR: set dispatch receiver for companion member reference
...
#KT-42132 fixed
2020-09-29 11:51:21 +03:00
Dmitriy Novozhilov
53a7d69ca6
[FIR] Make FirPropertyAccessor inherits FirCallableMemberDeclaration
2020-09-29 10:17:43 +03:00
Jinseong Jeon
b59832c5fd
FIR: refactor annotation-related utils
2020-09-25 14:45:48 +03:00
Jinseong Jeon
dc2226b42f
FIR2IR: put @JvmField on field, not property
...
#KT-42118 fixed
2020-09-25 14:45:48 +03:00
Ilya Kirillov
f1c808384e
FIR IDE: do not resolve symbols by transitive module dependencies
2020-09-23 21:41:44 +03:00
Dmitriy Novozhilov
08b5f3ddde
[FIR] Remove unused list with java.lang.Object member names
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
a8e81e9ad1
[FIR] Add special node for implicit invoke calls
2020-09-23 14:05:11 +03:00
Dmitriy Novozhilov
40a9bb6eac
[FIR] Assume nullable types as good types for ILT approximation
...
#KT-41982 Fixed
2020-09-23 14:05:10 +03:00
Dmitriy Novozhilov
ae819ff059
[FIR] Add configurable typeRef to FirArrayOfCallBuilder
2020-09-17 17:23:25 +03:00
Dmitriy Novozhilov
d4891cb464
[FIR] Move Jsr305State from FirSession to separate component
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
Mikhail Glukhikh
aa897db132
[FIR] Introduce UnsafeVariance attribute (see KT-41792)
2020-09-14 18:08:29 +03: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
1a84ec9677
[FIR] Mark all session components respectively to they have mutable state or not
...
Also add documentation for all fir annotations
2020-09-09 12:38:35 +03:00
Dmitriy Novozhilov
a05d6da43b
Move descriptor-independent Visibilities to common modules
2020-09-04 11:42:50 +03:00
Jinseong Jeon
e8157a5488
FIR: introduce & use various comparators to sort members while de/serialization
...
#KT-41018 fixed
2020-09-03 13:55:52 +03:00
Dmitriy Novozhilov
6db8c28291
[FIR] Refactor session components initialization
...
From now all customization of session should perform via DSL which
declared in FirSessionFactory. Registration or mutation session
services from other places is prohibited
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
a8d23c36f5
[FIR] Introduce module :fir:entrypoint and FirSessionFactory for creating sessions
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
3379d9b619
[FIR] Extract java related effective visibility calculation to platform component
2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov
ca031f7ace
[FIR] Split ResolveUtils.kt from :resolve to separate files
2020-09-01 12:00:10 +03:00
Dmitriy Novozhilov
6ace4164ff
[FIR] Split TypeUtils from :resolve to :cones and :tree modules
2020-09-01 12:00:10 +03:00
Mikhail Glukhikh
5384ccf02f
[FIR] Introduce & use FirDelegatedMemberScope
2020-08-31 14:31:56 +03:00
Mikhail Glukhikh
f0af930288
[FIR] Eliminate unused FirDelegatedTypeRef
2020-08-31 14:31:56 +03:00
Dmitriy Novozhilov
b21a0213df
[NI] Get rid of FE 1.0 types in AbstractTypeApproximator
2020-08-28 10:59:51 +03:00
Mikhail Glukhikh
962059a878
Introduce FirProperty.hasBackingField & use it in FIR2IR
2020-08-25 19:29:58 +03:00
Mikhail Glukhikh
c6417696cf
FirProperty: return back 'isReferredViaField' attribute
2020-08-25 19:29:58 +03:00
Jinseong Jeon
3e9ac75cfc
FIR: record use of backing field symbol to indeed add a backing field
2020-08-25 19:29:58 +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
b83aa88eff
[FIR] Add function for getting ConeEffectDeclaration from FirEffectDeclaration and use it where needed
2020-08-25 12:58:35 +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
2760a187a9
Move FunctionClassKind utils to :core.descriptors.common
2020-08-25 10:41:33 +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
95346f834b
[FIR] Fix forgotten dependency to contracts of FE 1.0
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
f7f489537b
[FIR] Remove dependency on :core:descriptors from :compiler:fir:tree
2020-08-25 10:31:37 +03:00
Dmitriy Novozhilov
20a2ad8223
Move FunctionClassDescriptor.Kind to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
18ae593700
[FIR] Rename new visibilities to CamelCase
...
It's more convenient since they are objects now instead of
const fields in FE 1.0
2020-08-25 10:31:35 +03:00
Dmitriy Novozhilov
43821b681c
[FIR] Introduce new Visibility class which not depends on descriptors
2020-08-25 10:31:35 +03:00