Mikhail Glukhikh
599a0d9c2b
Minor fixes in FirTypeParameterInQualifiedAccessChecker
2021-03-16 21:56:10 +03:00
Mikhail Glukhikh
0b9598d880
Minor fixes around FirKClassWithIncorrectTypeArgumentChecker
2021-03-16 21:56:10 +03:00
Jinseong Jeon
4c08d10cce
FIR checker: report expression of nullable type parameter as LHS of class literals
2021-03-16 21:56:10 +03:00
Jinseong Jeon
26441ed64f
FIR IDEA: avoid unnecessary type casting
2021-03-16 21:56:10 +03:00
Jinseong Jeon
7fff4108b6
FIR checker: report KClass with incorrect type argument
2021-03-16 21:56:10 +03:00
Jinseong Jeon
bc2228d434
FIR checker: don't report errors on type parameter as LHS of class literals
...
If a type paramter is not reified or nullable, different errors will
be reported by FirGetClassCallChecker.
When determining whether type parameter wrapped in qualified access is a
standalone expression or not, we examine whether the checker context has
other qualified accesses in stack. Class literals (::class) is desugared
to FirGetClassCall, and thus not stacked as qualified access. Since
class literals are a special type of callable reference (a subtype of
qualified access), we should keep track of FirGetClassCall in a similar
way.
2021-03-16 21:56:09 +03:00
Jinseong Jeon
e29b40b07f
FIR checker: report TYPE_PARAMETER_AS_REIFIED
2021-03-16 21:56:09 +03:00
Jinseong Jeon
5ba5b63dee
FIR checker: report nullable expression as LHS of class literals
2021-03-16 21:56:09 +03:00
Jinseong Jeon
33c5b49632
FIR checker: report non-typed LHS of callable references
2021-03-16 21:56:08 +03:00
scaventz
329be4f906
Add a test to for the situation where pathname of destination does not name a parent.
2021-03-16 18:44:12 +01:00
Georgy Bronnikov
bff6e9b972
IR: document lock priority.
2021-03-16 19:49:31 +03:00
Georgy Bronnikov
60f38369f1
JVM_IR: synchronize binary class reloading
2021-03-16 19:49:30 +03:00
Georgy Bronnikov
42279c3b5b
IR: introduce IrLock
...
Use a single lock object for synchronization to avoid deadlocks.
2021-03-16 19:49:30 +03:00
Georgy Bronnikov
215556511e
JVM_IR: synchronization in InlineCodegen
2021-03-16 19:49:30 +03:00
Georgy Bronnikov
be67dacef1
JVM_IR: synchronized getOrPut for SLRUMap
2021-03-16 19:49:30 +03:00
Georgy Bronnikov
78d62dcb1e
JVM_IR: use ConcurrentHashMap in codegen where appropriate
2021-03-16 19:49:30 +03:00
Georgy Bronnikov
c36bc9f312
JVM_IR: use synchronized map in ClassFileFactory
2021-03-16 19:49:30 +03:00
Georgy Bronnikov
3a10ea4f88
JVM_IR: synchronize code generation for inline functions
2021-03-16 19:49:29 +03:00
Georgy Bronnikov
c7feaee8ae
IR: make copying optional in performByIrFile
...
For codegen phases, input files are readonly data. There is no need to
copy them.
2021-03-16 19:49:29 +03:00
Georgy Bronnikov
1383c31caf
JVM_IR: use threadLocal in GlobalInlineContext
2021-03-16 19:49:29 +03:00
Georgy Bronnikov
fe4d33dcb1
JVM_IR: make codegen a phase
2021-03-16 19:49:29 +03:00
sebastian.sellmair
b68fee9cbc
CliCommonizer: Guard input- and dependency- libraries
2021-03-16 15:47:29 +00:00
sebastian.sellmair
d03a85525d
[Commonizer] DependencyLibrariesOptionType: Make option optional (default: empty)
2021-03-16 15:47:28 +00:00
sebastian.sellmair
73222fbc4f
[Commonizer] Add more verbose debugging information when failing to parse a task
2021-03-16 15:47:28 +00:00
sebastian.sellmair
f6e8afcbcc
Move Gradle property 'kotlin.commonizer.jvmArgs' to 'kotlin.mpp.commonizerJvmArgs'
2021-03-16 15:47:27 +00:00
sebastian.sellmair
56661068bd
CommonizerIT: Reuse DISABLED_NATIVE_TARGETS_REPORTER_WARNING_PREFIX instead of hardcoded string
2021-03-16 15:47:26 +00:00
sebastian.sellmair
5a10cb6a3e
CommonizerIT: Add integration tests for user defined c-interop commonization
2021-03-16 15:47:25 +00:00
sebastian.sellmair
80e964c166
[Commonizer] NativeKlibCommonize: Remove optimization for only loading dependencies from native distribution
...
This is removed for now, because of test failures on Windows.
It seems like the dependencies in the klib produced by Windows are not
correct.
See: https://youtrack.jetbrains.com/issue/KT-45471
^KT-45471
2021-03-16 15:47:25 +00:00
sebastian.sellmair
b777c89bc8
[Commonizer] NativeKlibCommonize: Only load dependencies from native distribution
2021-03-16 15:47:24 +00:00
sebastian.sellmair
97a57a7d93
Forward dependencies from CInteropCommonizerTask to commonizer
2021-03-16 15:47:23 +00:00
sebastian.sellmair
49cf386258
Limit CInteropCommonizerTask to only one level of commonization
...
See ^KT-39324
2021-03-16 15:47:23 +00:00
sebastian.sellmair
261934d881
Implement CopyCommonizeCInteropForIdeTask to survive build folder cleaning
2021-03-16 15:47:22 +00:00
sebastian.sellmair
a53df56781
Implement CInteropIdentifier.Scope
2021-03-16 15:47:21 +00:00
sebastian.sellmair
6efd04edc0
Implement CInteropCommonizerTask to support commonization of user-defined cinterops
...
^KT-40975 Verification Pending
2021-03-16 15:47:20 +00:00
sebastian.sellmair
7cf8e9ec58
CInteropProcess: Promote settings to constructor
...
This enforces that the specified c-interop settings cannot be re-set on
a CInteropProcess.
2021-03-16 15:47:20 +00:00
sebastian.sellmair
be84b7b419
Rename 'getSourceSetHierarchy' to 'withAllDependsOnSourceSets' and lift the previous Deprecation
2021-03-16 15:47:19 +00:00
sebastian.sellmair
7da7dd92d6
Deprecate KotlinSourceSet.getSourceSetHierarchy in favour of 'resolveAllDependsOnSourceSets' and general purpose 'transitiveClosure'
2021-03-16 15:47:18 +00:00
sebastian.sellmair
4e07dcf2d8
Minor: Add dictionaries/sebastiansellmair.xml
2021-03-16 15:47:17 +00:00
Ilya Matveev
6643119f08
[K/N][New MM] Move ThreadStateGuard to the main Memory.h
...
Integrating the stdlib with the thread states machinery requires
accessing to some parts of the new MM. This patch provides this
access by moving these parts to the main Memory.h header.
2021-03-16 17:04:26 +03:00
Ilya Matveev
482305cfb2
[K/N][New MM] Move RunInNewThread to the main ThreadSupport.hpp
...
Some of unit-tests for the C++ part of the stdlib will require
thread state switching. In the new MM, we already have a helper
function that allows us to scopely initialize the memory subsystem
for a separate thread. This patch makes this helper available
for tests in the main runtime module by moving it to the main
ThreadSupport.hpp.
2021-03-16 17:04:25 +03:00
Ilya Matveev
fc43fbf578
[K/N][New MM] Move MemoryState conversions to separate header
2021-03-16 17:04:23 +03:00
Nikolay Krasko
da6440c59e
Add heap-dumps collection to BaseGradleIT.kt for TC investigations
...
Disable in daemon tests that checks defaults of -XX:MaxMetaspaceSize as
it looks like settings any jvm options reset defaults.
2021-03-16 15:55:01 +03:00
Nikolay Krasko
48f2db51d2
Stop polluting output for successful Gradle tests
2021-03-16 15:55:00 +03:00
Dmitry Petrov
decfaa3ba5
JVM_IR KT-44993 preserve inner expression type when fusing if-null
2021-03-16 15:30:45 +03:00
Jinseong Jeon
922419efb8
FIR CFG: route to exit of try main for throw in try main
...
to make the remaining part of try main marked as dead.
^KT-45475 Fixed
2021-03-16 15:11:56 +03:00
Jinseong Jeon
7a7114f896
FIR CFG: create TryMainBlockExitNode before visiting try main block
...
so that a node that returns Nothing inside try main block can route to
the exit of try main block, instead of exit target for try directly.
2021-03-16 15:11:55 +03:00
Jinseong Jeon
7e5b562b33
Reproduce KT-45475: no smartcast after conditional throw in try expression
2021-03-16 15:11:53 +03:00
Svyatoslav Scherbina
1f6f996faf
kotlin-native/samples: workaround build for linuxArm32Hfp
...
libSDL2.so is missing in new sysroot (since 1.5), use one from
the old sysroot as a workaround.
2021-03-16 11:58:56 +00:00
Yan Zhulanow
1dad549c81
All-open: Add Micronaut preset (KT-26325)
2021-03-16 19:21:50 +09:00
Yan Zhulanow
69fedd9791
Avoid serializing non-serializable properties (EA-253232)
2021-03-16 19:21:50 +09:00