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
Dmitriy Novozhilov
2446ad9510
Advance bootstrap to 1.6.0-dev-328
2021-07-02 15:46:20 +03:00
Igor Laevsky
ce6459d059
WASM: Optimize few cases where spread operator is used on an immediate array
2021-07-02 15:39:30 +03:00
Igor Laevsky
d835b3c164
WASM: Implement spread operator
2021-07-02 15:39:29 +03:00
Igor Laevsky
f5e59194b5
WASM: Fix linker issues around fake overrides
2021-07-02 15:39:28 +03:00
Igor Laevsky
74a87e2b79
WASM: Add few helper array library functions from Slava's changes
2021-07-02 15:39:26 +03:00
Ilya Matveev
dc8186cb83
[K/N][Interop] Fix throwing exceptions through bridges in opt mode
...
By default, C functions compiled to bitcode by clang have the
nounwind attribute. If such functions throws an exception, the
behaviour is undefined.
Our interop machinery can process foreign exceptions on call sites
(terminate or wrap them in Kotlin exceptions). But if the interop
bridges have the nounwind attribute, LLVM optimizations (particularly
inlining) may lead to the situation when a foreign exception is ignored by
our foreign exception handler.
This patch fixes the issue by compiling bridges with -fexceptions flag.
This flag makes clang to not set the nounwind attribute, so exceptions
can be thrown through C frames.
2021-07-02 11:51:06 +00:00
Dmitry Petrov
c132e1a39f
PSI2IR fix flaky SOE
2021-07-02 13:10:04 +03:00
Roman Golyshev
7b1052296e
Do not try to create a light class for classes in unexpected positions
...
Example of such class declaration would be `10 < class A` expression
The expression is uncompilable, but parsable. Unfortunately, the
FIR compiler does not save `class A` reference in it (because it
is not an expression, and only an expression can be a LHS or RHS of
binary expression `10 < ...`)
When we try to build light classes, we will try to find/build FIR
declaration for this class, but we won't be able to, and this will throw
an error
Adding this check should fix few
`FirKotlinHighlightingPassTestGenerated$Regression` tests
2021-07-02 04:07:26 +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
e2f462095d
IR: move JVM-specific flexible types to backend.jvm
2021-07-01 19:35:46 +02:00
Alexander Udalov
2834c22a85
IR: add BackendContext.typeSystem and JvmIrTypeSystemContext
...
To be able to override JVM-specific behavior of IrTypeSystemContext in
JVM IR, for things like JVM flexible types.
2021-07-01 19:35:44 +02:00
Alexander Udalov
ae07127f08
JVM IR: support raw types in typeOf
2021-07-01 19:33:56 +02:00
Alexander Udalov
012c7c39af
Improve KType.toString for primitive type arguments in stdlib implementation
2021-07-01 19:33:55 +02:00
Alexander Udalov
7306256127
JVM IR: support mutability-flexible types
2021-07-01 19:33:55 +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
Alexander Udalov
26cdb2f928
Reformat reflection.jvm, fix inspections
2021-07-01 19:33:54 +02:00
Yahor Berdnikau
a44e82a1d9
Fix publication failed in projects which are using BOM.
...
^KT-47444 Fixed
2021-07-01 15:14:35 +00: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
9ef0909e39
Advance K/N version to make Gradle Klib IT tests work
2021-07-01 17:40:47 +03:00
Roman Artemev
7ef63fbb45
[Psi2Ir] Isolate type translator in file scope
...
Create TypeTranslator per file to avoid reusing it between files
2021-07-01 17:40:46 +03:00
Roman Artemev
ae3a2d4e71
Use DescriptorVisibilities.isPrivate instead of simple equality
2021-07-01 17:40:44 +03:00
Roman Artemev
55793d078c
[KLIB] Fix Mangler Checker to work with new signatures
2021-07-01 17:40:43 +03:00
Roman Artemev
09d30c91bf
[JS TESTS] Disable mangler checker in tests
2021-07-01 17:40:41 +03:00
Roman Artemev
a8d0e60328
[JS TESTS] Extend test frame with some features
...
- Setting up specific ABI version for module
- Disabling mangle verification
2021-07-01 17:40:40 +03:00
Roman Artemev
3403c464fe
[KLIB] Promote library ABI version
2021-07-01 17:40:39 +03:00
Roman Artemev
b8e5185b61
[KLIB] Add extra debug information for Local signatures
2021-07-01 17:40:37 +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
3e99951a66
[Psi2Ir] Fix IrText testdata
2021-07-01 17:40:33 +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
7139785036
[KLIB] Rename proto PublicIdSignature -> CommonIdSignature
2021-07-01 17:40:30 +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
Svyatoslav Scherbina
2865d8bd45
Deprecate Obj-C 'alloc' and 'allocWithZone:' methods in Kotlin
...
Using these methods in Kotlin is usually a mistake.
2021-07-01 12:20:24 +00:00
Ilya Matveev
e5aa7e1625
[K/N] Disable some tests for noop GC
2021-07-01 10:05:02 +00:00
Alexander Shabalin
c286a9d8c6
Extract StackTrace from Exceptions
2021-07-01 07:23:47 +00: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
Ivan Kylchik
c176d4d7b0
Rename createTempDirectory to getOrCreateTempDirectory
...
With cache this function can be used to get already created directory
by name.
2021-06-30 19:33:17 +03:00
Ivan Kylchik
88aa71b0aa
Add possibility to dump and test IR after execution of given lowering
2021-06-30 19:33:15 +03:00