Zalim Bashorov
5a3efc1a98
[JS IR] Fill source info in codegen
...
#KT-46551 In Progress
2021-07-05 21:01:40 +03:00
Zalim Bashorov
64c6d852de
[JS IR] Preparing for introducing sourcemap as another compilation output
...
* Rename `JsCode` to `CompilationOutputs`.
* Rename members of CompilerResult.
#KT-46551 In Progress
2021-07-05 21:01:38 +03:00
Zalim Bashorov
d9b7230144
[JS IR] add dependency to sourcmap module
...
#KT-46551 In Progress
2021-07-05 21:01:37 +03:00
Zalim Bashorov
aae1057f35
[IR] Support IrReturnableBlock inside IR renderer
2021-07-05 21:01:35 +03:00
Ilya Chernikov
6911860cca
Clean-up coroutines usage in scripting libs and plugin
...
#KT-30778 fixed (again)
2021-07-05 19:26:42 +03:00
Ilya Chernikov
49e0b639f8
Add JSR-223 tests with compilable and bindings
2021-07-05 19:26:40 +03:00
Ilya Chernikov
32b6cfe2ea
[Scripting] fix receiver substitution in script JVM IR lowering
2021-07-05 19:26:39 +03:00
Ilya Chernikov
a7b94b398a
[minor] Bump serialization lib version in scripting test
2021-07-05 19:26:38 +03:00
Ilya Chernikov
0c2591e938
Bump coroutines version used in scripting to 1.5.0
...
#KT-43917 fixed
2021-07-05 19:26:37 +03:00
Igor Yakovlev
64afba299f
[imltogradle] Don't use deprecated kotlinOptions.jdkHome in generated build.gradle.kts files
2021-07-05 17:52:04 +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
Yahor Berdnikau
7e70c93cbf
Allow to avoid using JDK 1.6 and JDK 1.7 in the repo.
...
This behaviour could be enabled via adding
'kotlin.build.isObsoleteJdkOverrideEnabled=true'
to the 'local.properties' file.
^KT-46972 Fixed
2021-07-05 14:11:13 +00:00
Yahor Berdnikau
7789054547
Migrate repo to use JVM toolchains Gradle feature.
...
^KT-46972 Fixed
2021-07-05 14:11:12 +00:00
Yahor Berdnikau
08d831934a
Revert "Build: add temporary option to suppress jdkHome warning"
...
This reverts commit 1dfcec3a93 .
2021-07-05 14:11:11 +00:00
sebastian.sellmair
5b5dddc2d1
[Commonizer] Restore TypeAliasCommonizer's Commutative property & TypeAliasTypeCommonizer: substitute underlying-type arguments
...
^KT-47574 The fix done here supports only one level of substituting
underlying type-arguments.
HierarchicalTypeAliasCommonizationTest.`KT-47574 - test long typealias chain`
will assert proper behaviour for nested chains.
2021-07-05 09:00:46 +00:00
sebastian.sellmair
448302d19b
[Commonizer] CommonizeNativeDistributionTest.commonize - apple platforms(): Require macos
2021-07-05 09:00:45 +00:00
sebastian.sellmair
1e801e77a2
[Commonizer] HierarchicalClassAndTypeAliasCommonizationTest: Remove unnecessary annotations and reformat file
2021-07-05 09:00:44 +00:00
sebastian.sellmair
684e51b0be
[Commonizer] Implement TypeCommonizer as AssociativeCommonizer
2021-07-05 09:00:44 +00:00
sebastian.sellmair
b29fd17d26
[Commonizer] Use AssociativeCommonizer signature to implement ClassOrTypeAliasTypeCommonizer
...
This drastically improves performance for now, since the previous
Adapter implementation was at least O(n^2). While the Adapter
implementation could have been reduced to O(n), the Signature of
StatelessCommonizer was misleading.
StatelessCommonizer will be introduced back later when other
Commonizer implementations are ready to be converted to a new
Signature.
2021-07-05 09:00:43 +00:00
sebastian.sellmair
20f55ef0b7
[Commonizer] Commonize 'const val' and 'val' properties
2021-07-05 09:00:42 +00:00
sebastian.sellmair
9794068f22
[Commonizer] typeAliasUtils: computeSuitableUnderlyingType: Consider commonized type-aliases
2021-07-05 09:00:42 +00:00
sebastian.sellmair
5ca81b01f0
[Commonizer] Improve AbstractCommonizerTest diagnostic message
2021-07-05 09:00:41 +00:00
sebastian.sellmair
d7022cb378
[Commonizer] Move ClassTypeCommonizer and TypeAliasTypeCommonizer into seperate files
2021-07-05 09:00:40 +00:00
sebastian.sellmair
8f73df0f85
[Commonizer] Implement new ClassOrTypeAliasTypeCommonizer
...
^KT-47432 Verification Pending
^KT-47434 Verification Pending
2021-07-05 09:00:39 +00:00
sebastian.sellmair
8e2780345c
[Commonizer] HierarchicalClassAndTypeAliasCommonizationTest: Un-ignore tests fore ^KT-47432 and ^KT-47434 and add additional test's
2021-07-05 09:00:39 +00:00
Pavel Kunyavskiy
fc75486611
[K/N] Debug tool for checking state at call points of unknown functions
...
After linking runtime, llvm-ir is modified to add checker function
call at all points where unknown function, which can possibly run long
is called. This function checks Native state is set, to avoid long locks
at gc.
2021-07-05 08:35:23 +00:00
Pavel Kunyavskiy
1ba04fdd21
[K/N] Introduce external calls checker compiler option
2021-07-05 08:35:23 +00:00
Pavel Kunyavskiy
271fc35082
[K/N] Minor debug info fix
2021-07-05 08:35:22 +00:00
Pavel Kunyavskiy
4c2d518cf5
[K/N] Move ClearCurrentThreadData() out of TestSupport
2021-07-05 08:35:21 +00:00
Pavel Kunyavskiy
65bebd3058
[K/N] Support AddressToSymbol using dladdr, if availible
2021-07-05 08:35:20 +00:00
Pavel Kunyavskiy
b7707d8755
[K/N] Introduce api for getting existing global by name from StaticData
2021-07-05 08:35:20 +00:00
Pavel Kunyavskiy
1db2903e4f
[K/N] Add utilities to check if thread is registered now
2021-07-05 08:35:19 +00:00
Vyacheslav Gerasimov
aff9d96e8a
Build: Update gradle enterprise and test distribution plugins
2021-07-04 18:15:36 +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
Roman Artemev
d472b6c71c
[Psi2Ir] Replace custom IrProperty node with common one
2021-07-02 19:58:31 +03:00
Roman Artemev
4d5186d332
[Psi2Ir] Untangle psi2ir from frontend.java
...
Add extension method to detect and unwrap `JavaSyntheticProperty`
2021-07-02 19:58:30 +03:00
Dmitriy Novozhilov
3f5e6a79c7
Replace all throw error(...) with just error(...)
...
`throw` is not needed in this case, because `error(...)` already
raises exception (so `throw` is unreachable). Also after previous
commit compiler reports `UNREACHABLE_CODE` warning on such `throw`
2021-07-02 17:55:21 +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
bracadabra
b2372ff0b9
Fix UTFDataFormatException on encoding long subplugin options.
...
ObjectOutputStream.writeUTF(String) has an unsigned short limit on
String length. On Projects with deep nested modules subplugin
options could produce String over this limit.
^KT-45202 Fixed
2021-07-02 16:17:54 +02:00
Simon Ogorodnik
f8ab16c823
[Build] Fix useFir project exclusion logic
2021-07-02 16:13:05 +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