Mark Punzalan
79fef09bf5
[JVM IR] Add tests for KT-15971.
2020-03-11 14:33:31 +01:00
Mark Punzalan
2239b5ceab
[JVM IR] Maintain KT-36188 bug compatibility between non-IR and IR
...
backends.
2020-03-11 14:33:31 +01:00
Mikhail Glukhikh
47ebd38534
FIR2IR: fix origin of object literal constructor call
2020-03-11 16:01:58 +03:00
Mikhail Glukhikh
8231377f6b
FIR2IR: convert qualifiers inside getClass properly
2020-03-11 16:01:57 +03:00
Mikhail Glukhikh
1812b490a1
FIR: set anonymous object constructor return type properly
2020-03-11 16:01:57 +03:00
Alexander Udalov
4d2ee279c0
Remove unneeded workaround for IBM JDK and older intellij-core
...
The underlying problem (IDEA-206446) was fixed a long time ago and the
compiler is no longer affected by it.
#KT-37286 Fixed
2020-03-11 12:49:38 +01:00
Svyatoslav Kuzmich
f113c22450
[JS IR BE] Fix enum entry initialization
...
Keep helper fields uninitialized. This way thier initialization
would not depend on field initialization order.
2020-03-11 14:28:20 +03:00
Pavel Kirpichenkov
04f9a03796
[NI] Fix isNullableType for definitely not null type parameter
...
Consider type parameter with nullable bound not null
if it is inside of a definitely not null type.
2020-03-11 13:55:25 +03:00
Pavel Kirpichenkov
88ae9bc7d5
minor: rename test
2020-03-11 13:55:24 +03:00
Zalim Bashorov
7dc9a2fc64
[JS IR BE] Add intrinsic for hashCode on Boolean
2020-03-11 12:54:43 +03:00
Zalim Bashorov
2103c0e0f8
[JS IR BE] Add intrinsic for hashCode on String
2020-03-11 12:54:43 +03:00
Zalim Bashorov
c8efe8c4ec
Add tests for equals, hashCode, toString in String and Number
2020-03-11 12:54:42 +03:00
Zalim Bashorov
9e59d93ad5
[JS IR BE] Add intrinsics for hashCode on primitive number types
2020-03-11 12:54:42 +03:00
Zalim Bashorov
62014e6711
[JS IR BE] Add better error message when some function not found during init JsIrBackendContext
2020-03-11 12:54:41 +03:00
Zalim Bashorov
d22e4495de
[JS IR DCE] Improve handling overrides
...
Introduce the notion of contagious for overridable declarations.
So, now overriding uncontagious declaration will not lead to becoming a declaration reachable.
By default, all declarations treated as contagious, it's not the most efficient, but it's safest.
In case when we access a declaration through a fake-override declaration,
the original (real) one will not be marked as contagious, so, later,
other overrides will not be processed unconditionally only because
it overrides a reachable declaration.
2020-03-11 12:54:40 +03:00
Zalim Bashorov
f60d0b2c7c
[JS IR CLI] Change K2JsIrCompiler#executableScriptFileName's body to TODO() and provide a proper fix later
2020-03-11 12:54:39 +03:00
Zalim Bashorov
2a7e32d3ae
[JS IR DCE] Add CLI option to print reachability info
2020-03-11 12:54:39 +03:00
Zalim Bashorov
16cd3f0cef
[JS IR DCE] Print reachability info
2020-03-11 12:54:39 +03:00
Zalim Bashorov
e6657b016f
[JS IR DCE] Move withNested fun to get better diff in the next commit
2020-03-11 12:54:39 +03:00
Zalim Bashorov
95d248189f
[JS IR BE] JsClassGenerator: don't use descriptor for error message
2020-03-11 12:54:39 +03:00
Leonid Startsev
01108d595c
Fix broken test data from 5d73550b
2020-03-11 12:25:13 +03:00
Georgy Bronnikov
d032f9b9cc
JVM_IR: handle common klibs when compiled via cli
2020-03-11 11:03:58 +03:00
Georgy Bronnikov
6af099c11a
Typo fix
2020-03-11 11:03:58 +03:00
Vyacheslav Gerasimov
f735396ffb
Build: Make toolsJarApi() helper for JPS build
2020-03-10 17:24:21 +03:00
Vyacheslav Gerasimov
ef169aa12b
Build: Use preprocessed tools.jar for compilation
...
tools.jar from JDK has different public api on different platforms which
makes impossible to reuse caches for tasks which depend on it. Since we
can't compile against those classes & stay cross-platform anyway, we
may just exclude them from compile classpath. This should make tools.jar
compatible at least within one build of JDK for different platforms
2020-03-10 17:24:21 +03:00
Mikhail Zarechenskiy
8fbd22ff73
Add test to check consistency of pre_release flag in the compiler
...
It's important to have consistent pre_release flag values in the
current and bootstrap compiler. Otherwise, it's possible to publish
release compiler with pre_release artifacts (stdlib, for example) and
vice versa.
Once this test fails, the next step is to advance bootstrap compiler
2020-03-10 17:22:26 +03:00
Mikhail Zarechenskiy
8fdc39ecbc
Update test data due to using stdlib with a pre_release flag
...
The problem here is that we have separate bootstrap compiler and
artifacts (stdlib, for example) that are used in tests and implicitly
participate in them.
For example, this test started to fail when bootstrap compiler was
advanced to a version where pre_release flag is enabled. As a result,
dependent stdlib become pre_release as well and now we have additional
error about `Unit` type
2020-03-10 17:22:26 +03:00
Dmitry Petrov
90d012cecb
Handle unbound extension receiver in callable reference adaptation
2020-03-10 16:56:48 +03:00
Dmitry Petrov
e175ff0d73
KT-36953 break/continue/return/throw have kotlinType Nothing
2020-03-10 16:56:48 +03:00
Mikhail Glukhikh
603685b5a4
Mute FIR2IR test (pushed as unmuted accidentally?)
2020-03-10 15:19:35 +03:00
Mikhail Glukhikh
2651fe9fb8
FIR2IR: use CLASS kind for anonymous objects
2020-03-10 15:19:35 +03:00
Mikhail Glukhikh
9c3dfed2d7
FIR2IR: provide IR_EXTERNAL_DECLARATION_STUB origin also for members
2020-03-10 15:19:35 +03:00
Mikhail Glukhikh
e9699e7173
FIR2IR: provide correct origins for arithmetic operators
2020-03-10 15:19:35 +03:00
Mikhail Glukhikh
64e71e9d25
FIR2IR: use IR_EXTERNAL_DECLARATION_STUB for external classes
2020-03-10 15:19:34 +03:00
Mikhail Glukhikh
ed6c9e67a1
FIR2IR: convert qualifiers to companion objects, if any
2020-03-10 15:19:34 +03:00
Mikhail Glukhikh
7ea4c20f3d
[FIR TEST] Fix FIR_IDENTICAL adding for Fir2IrTextTestGenerated
2020-03-10 15:19:34 +03:00
Dmitriy Novozhilov
dd7ac1343e
[FIR] Unwrap when subject expression recursively in DFA variable storage
...
#KT-37327 Fixed
2020-03-10 15:05:05 +03:00
Alexander Udalov
676ffff015
Minor, fix builtinFunctionReferenceOwner.kt for android-tests
...
In codegen tests on Android, everything is being run with kotlin-reflect
in the classpath. So a package is no longer represented by a
reflect-less PackageReference, but by a full-blown KPackageImpl. Use a
less specific supertype ClassBasedDeclarationContainer instead, the one
which is a supertype of both PackageReference and KPackageImpl, and
which still allows to get the underlying jClass.
2020-03-10 12:59:54 +01:00
Alexander Udalov
d668808b44
Migrate Experimental->RequiresOptIn in project sources
2020-03-10 12:07:15 +01:00
Alexander Udalov
795d6ab407
Migrate UseExperimental->OptIn in project sources
2020-03-10 12:07:14 +01:00
Victor Petukhov
125b39d9be
NI: Temporary apply test data until fix KT-37380
2020-03-10 13:25:11 +03:00
Alexander Gorshenev
b06a3ea5ac
Print out abi version as a full triple
2020-03-10 12:06:59 +03:00
Alexander Gorshenev
a635748848
Provide library producer compiler version in klib abi mismatch disagnostics
2020-03-10 12:06:59 +03:00
Alexander Gorshenev
fac71ac812
Be prepared if in the future we extend klib abi version to a triple
2020-03-10 12:06:59 +03:00
Leonid Startsev
5d73550b48
Do not check visibility of enum entries in explicit api mode
...
Although they're instances of DeclarationDescriptorWithVisibility,
they can't have visibilities
#KT-37040 Fixed
2020-03-10 11:55:59 +03:00
Yan Zhulanow
c1f89159d9
Pill: Add compiler.version module to Pill
2020-03-10 17:24:23 +09:00
Roman Artemev
7fff4e78e5
[KLIB] Do not include return type into mangle
2020-03-10 11:12:09 +03:00
Roman Artemev
62621de4fc
[KLIB] Don't have a special mangle for internal declarations
2020-03-10 11:12:09 +03:00
Roman Artemev
7430bfe518
[KLIB] Update test data
...
- mute temporary broken test
- add regression test
2020-03-10 11:12:08 +03:00
Roman Artemev
7034edac4c
[JS IR] Move signature consistency checker into appropriate place
2020-03-10 11:12:08 +03:00