Dmitry Petrov
b03c9b6fc6
JVM_IR additional tests for indy lambda serialization
2021-10-23 11:21:27 +03:00
Dmitry Petrov
1dbbe22c8c
JVM_IR serializable indy method references
2021-10-23 11:21:25 +03:00
Mikhail Glukhikh
79b98f9173
FIR: introduce synthetic property symbol hierarchy
2021-10-23 01:19:07 +03:00
Mikhail Glukhikh
c673c4cc91
FIR: refactor/use properly FirAccessorSymbol & FirSyntheticPropertySymbol
2021-10-23 01:19:06 +03:00
Mikhail Glukhikh
41849c8beb
FIR: get rid of effectively unused AccessorSymbol
2021-10-23 01:19:05 +03:00
Mikhail Glukhikh
7b9ac4c5f7
FIR: create constructors copies with correct containers in JvmMappedScope
...
#KT-49133 Fixed
2021-10-23 01:17:10 +03:00
Dmitry Petrov
d5f6674d2d
JVM_IR KT-49335 run RepeatedAnnotationLowering per module
...
Otherwise, we drop annotation constructors in AnnotationLowering,
which breaks RAL in case of annotation container declared in different
file.
2021-10-21 21:22:36 +03:00
Dmitriy Novozhilov
a2b8493f47
[FE 1.0] Prohibit using non exhaustive if and when in rhs of elvis expression
...
^KT-44705
^KT-49349 Fixed
2021-10-21 19:39:51 +03:00
Dmitriy Novozhilov
06a26a5a74
[FE 1.0/FIR] Fix message of SEALED_SUPERTYPE_IN_LOCAL_CLASS diagnostic
...
^KT-46285 Fixed
2021-10-21 19:39:49 +03:00
Dmitriy Novozhilov
94664694df
[FIR] Prohibit confusing syntax inside when branches
...
^KT-48385
2021-10-21 19:39:46 +03:00
Dmitriy Novozhilov
bf453674b9
[FIR] Make LighterASTNode.getChildren utility return list of not null nodes
2021-10-21 19:39:42 +03:00
Dmitriy Novozhilov
1513e739c6
[FE 1.0] Prohibit confusing syntax inside when branches
...
^KT-48385 Fixed
2021-10-21 19:39:36 +03:00
Mikhail Glukhikh
7962acd3e2
FIR: temporarily downgrade NO_EXPLICIT_VISIBILITY_IN_API_MODE to warning
...
This commit is intended to fix broken bootstrap build
2021-10-21 11:44:44 +03:00
Mikhail Glukhikh
9515011365
Minor: make when in 'isExtension' a bit more clear
2021-10-21 00:07:50 +03:00
Tianyu Geng
c262f17d75
FIR checker: report violations related to API mode
2021-10-21 00:01:14 +03:00
Tianyu Geng
52b247937e
FIR checker: fix positioning of CONFLICTING_IMPORT
...
FE1.0 puts it on the alias when applicable.
2021-10-21 00:00:29 +03:00
Denis.Zharkov
4ad5f01324
FIR: Support overrides of generic-typed members with raw-typed ones
...
^KT-49070 Fixed
2021-10-20 22:05:25 +03:00
Denis.Zharkov
a0a57581ec
FIR: Do not add alias for variables with explicit type
2021-10-20 22:05:24 +03:00
Denis.Zharkov
5317cf3af1
FIR: Minor. Extract helpers
2021-10-20 22:05:24 +03:00
Denis.Zharkov
fba44759c0
FIR: Refine visibility check for class members
2021-10-20 22:05:23 +03:00
Denis.Zharkov
d702365632
Regenerate FIR tree
2021-10-20 22:05:22 +03:00
Denis.Zharkov
f441024fd4
FIR: Derive FirMemberDeclaration from FirAnnotatedDeclaration
...
It's necessary to have the sane logic that FirMemberDeclaration is a subtype of FirDeclaration
The only kind of controversial change here is making FirAnonymousObject
also be FirMemberDeclaration, thus having its own declaration status
2021-10-20 22:05:20 +03:00
Tianyu Geng
bdc71a3281
FIR IDE: pass candidate super types for AMBIGUOUS_SUPER
...
This way the IDE quickfix do not need to do resolution again to figure
out what super type to offer in the quickfix.
2021-10-20 19:16:48 +02:00
Yan Zhulanow
44a1fe668e
[FIR IDE] Extract implicit set parameter name to reuse it in Analysis API
2021-10-20 19:41:21 +03:00
Nikolay Lunyak
dbfe3524ce
[FIR] Add FirDelegateUsesExtensionPropertyTypeParameterChecker
2021-10-20 16:49:51 +03:00
Nikolay Lunyak
f97e666608
[FIR] Add property delegate positioning strategy
2021-10-20 16:49:48 +03:00
Mikhail Glukhikh
98d34b40ab
FIR: set substituteTypes value explicitly in calls inside providers
2021-10-20 12:17:04 +03:00
Mikhail Glukhikh
3483bc41fd
FIR: set substituteTypes value explicitly in some lookupSupertypes calls
2021-10-20 12:17:04 +03:00
Mikhail Glukhikh
7fc19520a5
FIR: substitute super type during tower building properly #KT-49301 Fixed
2021-10-20 12:17:04 +03:00
Mikhail Glukhikh
b76e61cbc5
FIR: set dispatch receiver type to constructor in deserialization
2021-10-20 12:17:03 +03:00
Mikhail Glukhikh
29e4c299e7
FIR: add & use hasExplicitParameterList to anonymous functions
...
#KT-49134 Fixed
2021-10-19 11:58:23 +03:00
Ilmir Usmanov
3f8fa3149b
Support extensions in functional supertypes
...
Under a flag for now.
2021-10-18 18:53:26 +03:00
Dmitriy Novozhilov
bee44c6e0f
[FIR] Split :compiler:fir:resolve module into three different modules
...
Those modules are:
- :compiler:fir:providers, which contains Fir and Symbol providers,
scopes, and different utilities used by them
- :compiler:fir:semantics, which contains different abstractions and
entities which are used in resolution and in checkers
- :compiler:fir:resolve, which contains all stuff related to resolution
and inference
There are two pros of this change:
1. It may increase gradle build, because it allows to compile :fir:resolve
and :fir:checkers modules in parallel
2. Logic of working FIR (scopes, providers, DFA logic system, etc) is
now separated from logic of resolution phases, so for example checkers,
which are depend on scopes physically will not be able to run resolve
in any way
2021-10-18 11:10:47 +03:00
Dmitriy Novozhilov
6995ee9334
[FIR] Move type context and type approximator to separate session compontent
...
This is needed to decouple components which are related to type system
from type inference components
2021-10-18 11:10:47 +03:00
Dmitriy Novozhilov
eadb91f9b2
[FIR] Move accessors to main session components close to declarations of those components
2021-10-18 10:55:39 +03:00
Tianyu Geng
8b44a4685f
FIR IDE: add API to get super types of a KtType
2021-10-16 14:16:25 +02:00
Tianyu Geng
09d16ce849
FIR: minor refactoring TypeUtils
2021-10-16 14:16:25 +02:00
Mark Punzalan
167dc81d3b
FIR/Analysis API: Get parameter name from function type notation or
...
`@ParameterName` annotation, which is also now added during type
resolution.
2021-10-15 16:19:00 +03:00
Mikhail Glukhikh
f4067f05a2
FIR: forbid java.lang.String(String) constructor in JvmMappedScope
...
#KT-49135 Fixed
2021-10-15 01:24:51 +03:00
Mikhail Glukhikh
09bc729b0e
FirDefaultParametersResolver: process imported from objects properly
...
#KT-49083 Fixed
2021-10-15 01:24:51 +03:00
Mikhail Glukhikh
c5a4a5de42
Make FirArrayOfCallTransformer recursive #KT-49076 Fixed
2021-10-15 01:24:49 +03:00
Mikhail Glukhikh
ad3502a952
Don't refer self function in Fir2IrLazySimpleFunction.initialSignature
...
This commit prevents stack overflow in MethodSignatureMapper
#KT-49222 Fixed
2021-10-15 01:24:49 +03:00
Mikhail Glukhikh
31db76da56
FIR: fix false positives of INNER_CLASS_OF_GENERIC_THROWABLE_SUBCLASS
...
#KT-49129 Fixed
2021-10-15 01:24:47 +03:00
Artem Kobzar
99688e5c80
test(KT-47096): add tests for the uncovered behavior.
2021-10-14 14:57:35 +00:00
Dmitry Petrov
6ba65065ee
JVM add tests for KT-48544 & KT-49226
2021-10-14 17:23:12 +03:00
Ilmir Usmanov
559d7015f7
Extend NON_MODIFIER_FORM_FOR_BUILT_IN_SUSPEND diagnostic
...
to include "suspend fun" token sequence as well
2021-10-14 12:44:18 +00:00
Denis.Zharkov
cac69edff2
FIR: Fix forEach resolution within local class
2021-10-14 14:01:51 +03:00
Denis.Zharkov
056657525e
FIR: Temporary support FE 1.0 behavior for SAM vs. generic ambiguity
...
^KT-48300 Relates
^KT-48938 Fixed
2021-10-14 14:01:50 +03:00
Denis.Zharkov
10c5d987d7
FIR: Fix exception on remaining flexible ILT in lambda
...
^KT-49191 Related
2021-10-14 14:01:49 +03:00
Dmitry Petrov
6f33259bc3
PSI2IR KT-49203 INVISIBLE_FAKE setter is non-referenceable
2021-10-13 18:38:23 +03:00