Dmitry Petrov
584310615c
JVM_IR KT-47499 use proper signature for 'clone' intrinsic
2021-07-01 22:10:47 +03:00
Alexander Udalov
ae07127f08
JVM IR: support raw types in typeOf
2021-07-01 19:33:56 +02:00
Alexander Udalov
0cb905a4b1
Support mutable collection types in typeOf
...
flexibleTypes_1_6.kt is fixed for JVM IR in a subsequent commit.
#KT-35877 Fixed
2021-07-01 19:33:55 +02:00
Alexander Udalov
6e975b3498
Support flexible types internally in typeOf
...
#KT-45066 Fixed
2021-07-01 19:33:55 +02:00
Denis.Zharkov
6e763f5a61
Minor. Add review fixes
...
Didn't squash them because there are file-moving-renaming commits above
2021-07-01 17:49:40 +03:00
Denis.Zharkov
a3f64f65f2
FIR: Fix serialization of non-delegated members in FirDelegatedMemberScope
2021-07-01 17:49:39 +03:00
Denis.Zharkov
3671b14e5b
FIR: Fix compilation after rebase
2021-07-01 17:49:38 +03:00
Denis.Zharkov
44113f8501
FIR: Get rid of hacks related to previous structure of FirDelegatedScope
...
^KT-47413 Fixed
2021-07-01 17:49:36 +03:00
Denis.Zharkov
8a3a7a1ab5
FIR: Rename FirNewDelegatedMemberScope
2021-07-01 17:49:34 +03:00
Denis.Zharkov
4d28b9ea3b
FIR: Remove FirDelegatedMemberScope
2021-07-01 17:49:32 +03:00
Denis.Zharkov
a77cbb8f63
FIR: Rework FirNotImplementedOverrideChecker around delegated members reporting
2021-07-01 17:49:30 +03:00
Denis.Zharkov
a213ee0e01
FIR: Rework delegated scope
...
Now delegated members are generated just to declared scope
^KT-47413 In Progress
2021-07-01 17:49:29 +03:00
Denis.Zharkov
082dc3332e
FIR2IR: Move util methods closer to the single usage
2021-07-01 17:49:27 +03:00
Roman Artemev
b5c28c1912
[KLIB] Introduce compatible mode for klibs.
...
Based on library ABI version linker could decide which signature mode
to be used to guarantee backward compatibility.
2021-07-01 17:40:36 +03:00
Roman Artemev
6cdac22a23
[IR] Introduce new IdSignatures
...
FileSignature, CompositeSignature, LocalSignature
They are needed to make possible reference any non-local declaration via
signature, including private signature, type parameters and so on.
- Support those new signatures in proto and klibs
- Rename `isPublic` -> `isPubliclyVisible` due to changed semantic
- Fix FIR
- clean up code
2021-07-01 17:40:31 +03:00
Roman Artemev
0856cd82d7
[IR] Rename PublicSignature -> CommonSignature
2021-07-01 17:40:28 +03:00
Roman Artemev
5a284de2d4
add tests for private signatures
...
regenerate tests
add test for EnumEntry's argument declarations
add another test
regenerate test
fix test a bit
2021-07-01 17:40:27 +03:00
Roman Golyshev
bd0f48e07a
Add rendering for FirValueParameter in DECLARATION_NAME renderer
...
Without it NAME renderer renders parameters as '???'
2021-06-30 19:35:33 +03:00
Dmitry Petrov
37b05cd9c2
JVM_IR KT-47120 treat outer name as case-insensitive for local classes
2021-06-30 14:04:22 +03:00
Ivan Kochurkin
9b71175902
[FIR] Get rid of unnecessary creation of error expression for LightTree, other minor simplifications
2021-06-29 22:39:24 +03:00
Ivan Kochurkin
9f7a8c3948
[FIR] Implement ILLEGAL_SELECTOR
2021-06-29 22:39:23 +03:00
Ivan Kochurkin
a7276b25ae
[FIR] Add expression field to FirErrorExpression
...
It is used to report diagnostics even in erroneous code (within ILLEGAL_SELECTOR for instance).
2021-06-29 22:39:22 +03:00
Ivan Kochurkin
59257e47c9
[FIR] Implement FUNCTION_CALL_EXPECTED
2021-06-29 22:39:22 +03:00
Dmitriy Novozhilov
5816d7ae9f
[FIR] Rename FirStatusOwner back to FirMemberDeclaration
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
f400477c70
[FIR] Remove generic parameter from FirDeclaration
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
511e564b20
[FIR] Add specific symbols for value parameters and enum entries
...
Make FirVariableSymbol a sealed class
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
62d781a70f
[FIR] Move delegateFieldSymbol from FirVariable to FirProperty
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
dc3ee6318c
[FIR] Rename type parameters of NullableMap from KEY, VALUE to K, V
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
6c8096643c
[FIR] Move danglingConstraints attribute to other attributes
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
eca77324e0
[FIR] Move declaration comparators to separate package
2021-06-29 21:03:29 +03:00
Dmitriy Novozhilov
725be466f0
[FIR] Move declaration utils to separate package
2021-06-29 21:03:29 +03:00
Dmitriy Novozhilov
10ff0975bc
[FIR] Split FirDeclarationUtil.kt to multiple files
2021-06-29 21:03:29 +03:00
Dmitriy Novozhilov
4225813d79
[FIR] Update CFG dumps according to changed order of visiting class children
2021-06-29 21:03:29 +03:00
Dmitriy Novozhilov
1324e9223f
[FIR] Make FirDeclaration an abstract class
2021-06-29 21:03:28 +03:00
Dmitriy Novozhilov
b3e5c6e079
[FIR] Add symbol to all declarations. Get rid of FirSymbolOwner
2021-06-29 21:03:28 +03:00
Dmitriy Novozhilov
39cd1c8504
[FIR] Squash AbstractFirBasedSymbol with FirBasedSymbol
2021-06-29 21:03:28 +03:00
Dmitriy Novozhilov
823cbc59b7
[FIR] Split FirAnonymousFunction to expression and declaration
2021-06-29 21:03:28 +03:00
Dmitriy Novozhilov
85b844c748
[FIR] Split FirAnonymousObject to expression and declaration
2021-06-29 21:03:27 +03:00
Victor Petukhov
ad89d43186
Prevent recursion on captured recursive type parameters of inner classes during computing bound for them
...
^KT-47459 Fixed
2021-06-29 20:53:54 +03:00
Victor Petukhov
e071281b20
Prevent recursion on erasion of raw types with interdependent type parameters
...
^KT-47480 Fixed
2021-06-29 20:53:52 +03:00
Dmitry Petrov
68c3f30aa7
JVM_IR KT-47510 indy callee parent is a package fragment, not a class
2021-06-29 17:00:31 +03:00
Tianyu Geng
2e049c1208
FIR DFA: fix CFG with normal arg after lambda [KT-46825]
...
The fix is a bit hacky, but it's very simple. In addition, it still does
not handle the case where the receiver is a lambda function. But such
case seems to be fairly rare in practice.
2021-06-29 10:46:41 +03:00
Tianyu Geng
b78b50e1f8
FIR DFA: workaround KT-46826
2021-06-29 10:46:40 +03:00
Tianyu Geng
0ecc752813
FIR checker: report SMARTCAST_IMPOSSIBLE for local variables
2021-06-29 10:46:38 +03:00
Ivan Kochurkin
e295849733
[FIR] Refactor FirSupertypesChecker: split big function on small ones
2021-06-29 02:00:11 +03:00
Ivan Kochurkin
fb9ce06ff5
[FIR] Implement DELEGATION_NOT_TO_INTERFACE
2021-06-29 02:00:11 +03:00
Ivan Kochurkin
c3a6ba52f6
[FIR] Implement CLASS_CANNOT_BE_EXTENDED_DIRECTLY
2021-06-29 02:00:10 +03:00
Ivan Kochurkin
92d7a61b4f
[FIR] Implement INCONSISTENT_TYPE_PARAMETER_VALUES, INCONSISTENT_TYPE_PARAMETER_BOUNDS
2021-06-29 02:00:09 +03:00
Ivan Kochurkin
ec20f52707
[FIR] Implement EXPANDED_TYPE_CANNOT_BE_INHERITED, PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE
...
Add `starAsModifier` to `modifierSetPosition`
2021-06-29 02:00:08 +03:00
Ivan Kochurkin
937846b62d
[FIR] Implement TYPEALIAS_SHOULD_EXPAND_TO_CLASS
2021-06-29 02:00:06 +03:00