Alexander Udalov
113632c49c
Psi2ir: load single-value Java array annotation arguments correctly
...
#KT-47467 Fixed
2021-07-05 21:49:10 +02:00
Tianyu Geng
4c439bb5d7
FIR: fix DELEGATION_SUPER_CALL_IN_ENUM_CONSTRUCTOR
...
DELEGATION_SUPER_CALL_IN_ENUM_CONSTRUCTOR should be an error but it's
somehow a warning in FIR.
2021-07-05 18:32:37 +03:00
Tianyu Geng
db1db6c64c
FIR: fix CYCLIC_CONSTRUCTOR_DELEGATION_CALL
...
Somehow it's a warning in FIR, but it should be an error.
2021-07-05 18:32:36 +03:00
Jinseong Jeon
cd78a156c5
FIR checker: apply member checkers to anonymous objects
...
because they can have member properties/functions too.
2021-07-05 18:32:34 +03:00
Jinseong Jeon
64a275cf83
FIR: fix type comparator
...
As many other places did, this one is supposed to return the diff value
if the given two intersection types' sizes are different.
2021-07-05 18:32:33 +03:00
Tianyu Geng
cdfb2fb3d9
FIR checker: report SETTER_PROJECTED_OUT
2021-07-05 18:32:32 +03:00
pyos
c3a91efea3
JVM_IR: fix primitive comparison optimizations
...
1. the `primitive == object?.something` fusion should not apply to
`primitive.equals(object?.something)` because it can't;
2. coercions to Int are there for a reason - don't remove them;
3. better optimize `primitive == object?.something` -- the result
should be subject to if-null fusion, so it needs to have a specific
pattern that resembles safe calls.
#KT-47597 Fixed
2021-07-05 18:13:09 +03:00
Dmitriy Novozhilov
6e1fce6b8b
[FIR] Fix creating scopes for enum entry initializers
...
Before we analyzed initializers of enum entry with scope for constructor
in implict type mode, so scope was untouchable. Now we analyze them
in body resolve phase, so previously we add value parameters to
constructors scope, which mess up scope of enum entry initializer
2021-07-04 13:29:03 +03:00
Dmitriy Novozhilov
1593c4859d
[FIR] Get rid of all conditional reads of FirDeclaration.resolvePhase
2021-07-04 13:29:03 +03:00
Dmitriy Novozhilov
43fe0c3bc1
[FIR] Don't initialize type of FirAnonymousObjectExpression
...
In some cases we check that some declaration (e.g. field) was
analyzed by checking type of it's body/initializer (is it implicit
or not), so if type of FirAnonymousObjectExpression is not implicit
we can skip resolve of anonymous object itself
2021-07-04 11:17:50 +03:00
Dmitriy Novozhilov
32173a408a
[FIR] Update type of getter after approximation of property type
2021-07-04 11:17:49 +03:00
Dmitriy Novozhilov
ae608ea67f
[FE 1.0] Always create return value for CallInstruction
...
This fixes missing `USED_AS_EXPRESSION` recordings
^KT-47527 Fixed
2021-07-02 17:55:20 +03:00
Dmitriy Novozhilov
f7c68afb18
[FIR] Don't report EXPOSED_FUNCTION_RETURN_TYPE on property accessors
2021-07-02 15:55:12 +03:00
Dmitriy Novozhilov
3a34a2ca62
[FIR] Properly infer published effective visibility for member declarations
2021-07-02 15:55:10 +03:00
Dmitriy Novozhilov
f1bf3c0d5a
[FIR] Don't duplicate annotations from enum entry to its initializer
2021-07-02 15:55:09 +03:00
Dmitriy Novozhilov
9f547171da
[FIR] Properly calculate annotation targets for enum entries
2021-07-02 15:55:08 +03:00
Dmitriy Novozhilov
7baea7244a
[FIR] Don't report VALUE_PARAMETER_WITH_NO_TYPE_ANNOTATION on lambda parameters
2021-07-02 15:55:07 +03:00
Dmitriy Novozhilov
0ab4770f02
[FIR] Add correctly reported diagnostics to testdata
2021-07-02 15:55:05 +03:00
Dmitriy Novozhilov
1f1065d858
[FIR] Add specific checkers for each leaf expression type
2021-07-02 15:55:04 +03:00
Dmitriy Novozhilov
d3ba821371
[FIR] Add specific checkers for each leaf declaration type
2021-07-02 15:55:02 +03:00
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