Commit Graph

4433 Commits

Author SHA1 Message Date
Ilya Gorbunov fcf323851e bcv: use kotlinx-metadata-jvm to read kotlin visibilities
It's no longer required to dump kotlin-to-java declaration mapping to json
before using binary-compatibility-validator.

@JvmOverloads are not supported yet, so remove them from test.

Use asm:6.0 in bcv
2018-05-23 05:00:56 +03:00
Ilya Gorbunov 1872550f25 binary-compatibility-validator: add test case for parameters with default values
Move JvmOverloads test there.
2018-05-23 05:00:56 +03:00
Ilya Gorbunov 793d34b913 Suppress errors about non-public primary constructor and forbidden varargs 2018-05-22 22:27:00 +03:00
Ilya Gorbunov 0eee258fce Generate toString implementation for unsigned types 2018-05-22 22:26:56 +03:00
Ilya Gorbunov e988ea5a1c Implement unsigned arithmetic operations including ulong division and remainder 2018-05-22 22:26:52 +03:00
Ilya Gorbunov e01895fb0a Implement unsigned/signed conversions 2018-05-22 22:26:47 +03:00
Ilya Gorbunov 89e4fdfa9c Implement unsigned comparisons 2018-05-22 22:26:43 +03:00
Ilya Gorbunov e4216099b3 Simplify differenceModulo for unsigned operands 2018-05-22 22:26:39 +03:00
Ilya Gorbunov f2c01a9d9b Generate ranges, progressions and progressioniterators for UInt and ULong 2018-05-22 22:26:36 +03:00
Ilya Gorbunov 5c6719b1e6 Generate arrays of unsigned types 2018-05-22 22:26:32 +03:00
Ilya Gorbunov 4fbc48f83f Generate specialized abstract iterators for unsigned types 2018-05-22 22:26:28 +03:00
Ilya Gorbunov 188d8ab8dd Generate unsigned integers declarations, mostly without implementations
Generate and/or/xor/inv for UByte/UShort using experimental signed counterparts
2018-05-22 22:26:24 +03:00
Ilya Gorbunov e57e3971b6 Setup separate sourceset for unsigned integer types
Build jar with unsigned types and put it to dist
2018-05-22 22:26:20 +03:00
Alexey Tsvetkov 55b61bdc53 Turn off inter-project IC when unknown task writes to java output dir 2018-05-17 20:55:27 +03:00
Alexey Tsvetkov ea255ac854 Rebuild when dependency was built non-incrementally 2018-05-17 20:55:27 +03:00
Alexey Tsvetkov 53266300d4 Implement module detection for Gradle IC with Android
#KT-22431 fixed
2018-05-17 20:55:26 +03:00
Alexey Tsvetkov e5cdc64f4f Track changes for jar files for non-Android Gradle projects 2018-05-17 20:55:26 +03:00
Alexey Tsvetkov 61e330fa57 Track inter-project IC changes for Java 2018-05-17 20:46:52 +03:00
Alexey Tsvetkov 6a45310830 Remove global artifact history cache in Gradle
Each Kotlin task now writes build history to separate file.
A map of output directories to history files is used to get changes for
modified files.

    #KT-22623 fixed
2018-05-17 20:46:52 +03:00
Alexey Tsvetkov f9af48c19e Test Java is up-to-date when Kotlin ABI is unchanged 2018-05-16 21:36:48 +03:00
Alexey Tsvetkov b2d13ac89b Fix Kapt incremental test with Gradle >= 4.3 2018-05-16 21:36:48 +03:00
Alexander Udalov ed2439c905 Minor, move version declaration to the correct place 2018-05-16 19:16:08 +02:00
Alexander Udalov e1a4bd01f5 Add anonymousObjectOriginName/lambdaClassOriginName to kotlinx-metadata
#KT-21320
 #KT-23198
2018-05-16 17:16:22 +02:00
Alexander Udalov b97379b39b Provide stable JVM names for kotlinx-metadata file facades
#KT-23198
2018-05-16 17:16:22 +02:00
Alexander Udalov c87218ac6c Use JvmMetadataVersion/JvmBytecodeBinaryVersion in kotlinx-metadata
#KT-23198
2018-05-16 17:16:22 +02:00
Alexander Udalov e5a5d834ab Add "-verbose" to kotlinp tool, change type parameter name rendering
Only render the actual name of the type parameter in the verbose mode

 #KT-23198
2018-05-16 17:16:22 +02:00
Alexander Udalov 23d107c11d Support multiple MetadataExtensions instances in kotlinx-metadata
#KT-23198
2018-05-16 17:16:22 +02:00
Alexander Udalov c42001f550 Refactor flags in kotlinx-metadata
- rename object Flags to Flag and merge it with MetadataFlag
- use typealias Flags instead of Int
- use top level function "flagsOf" instead of "Flags.invoke" to
  construct a bitmask

 #KT-23198
2018-05-16 17:16:22 +02:00
Alexander Udalov 002310ff6e Add ReadMe for kotlinx-metadata and kotlinx-metadata-jvm
#KT-23198
2018-05-16 17:16:22 +02:00
Alexander Udalov 9dbeb79340 Test kotlinx-metadata and kotlinp on compiler test data
#KT-23198
2018-05-16 17:16:21 +02:00
Alexander Udalov bef759161f Support .kotlin_module files in kotlinx-metadata
#KT-23198
2018-05-16 17:16:21 +02:00
Alexander Udalov a751d02306 Implement writing visitors for kotlinx-metadata
#KT-23198
2018-05-16 17:16:21 +02:00
Alexander Udalov 4b284a4890 Add kotlinp, a tool to print Kotlin metadata in class/module files
At the moment, it's not published anywhere, but that may change soon

 #KT-23198
2018-05-16 17:16:21 +02:00
Alexander Udalov e4062f6447 Add kotlinx-metadata library for handling Kotlin metadata
#KT-23198
2018-05-16 17:16:21 +02:00
Ilya Gorbunov e7b445e4b5 Fix incorrect @returns tag usage and improve padStart/End docs
#KT-24371 Fixed
2018-05-16 17:43:12 +03:00
Alexey Tsvetkov ea1a4f75ba Fix incremental android extensions test
Weirdly merge resource task was failing when run incrementally
if support library is present
2018-05-15 18:40:54 +03:00
Alexey Tsvetkov 6edba56adb Fix Android IC test
Previously some Kotlin files were recompiled, because Java files
were regenerated.
However this is no longer true for some time since
precise Java tracking was implemented.
2018-05-15 18:40:54 +03:00
Yan Zhulanow c439b6d38b Pill: Import common modules as libraries 2018-05-15 16:29:47 +03:00
Yan Zhulanow ba5836d666 Pill: Introduce pill{} extension to set extended Pill configuration
Also introduce the flavor concept which allows to specify what part of Kotlin project should be imported.
2018-05-15 16:29:45 +03:00
Ilya Gorbunov 1d0d801744 Minor merge cleanup: remove unused variable 2018-05-14 18:24:31 +03:00
Ilya Gorbunov 864f0fecf6 KT-24353 Include kotlin-test-junit5 into coreLibraries, use JDK_18 to build and test it 2018-05-14 17:37:06 +03:00
evgzakharov 634279621d KT-24353 change junit5 version to minimal possible (5.2.0 -> 5.0.0)
However use the latest version of junit engine for running tests.
2018-05-14 17:36:34 +03:00
evgzakharov 84ee97cae9 KT-24353 add support for junit 5 in kotlin.test 2018-05-14 17:36:34 +03:00
Ilya Chernikov b3219cb762 Implement lazy script definition and light discovery in cli plugin, ...
update appropriate parts of the scripting infrastructure
2018-05-14 11:13:44 +02:00
Alexey Tsvetkov 38ffd6f85e Add test for missing lz4 dependency
Adds Gradle test for the exception:
`java.lang.ClassNotFoundException: net.jpountz.lz4.LZ4Factory`

The exception breaks IC in Gradle. Gradle compiles non-incrementally as
a fallback strategy, so the build succeeds, but IC is not working.

IC uses persistent hash tables from Intellij as caches.
These tables's buffers are compressed when full.
Previously snappy was used for compression, but 181 platform switched to
LZ4, which was cut out by proguard.

The problem could only be reproduced with Gradle,
since in JPS plugin all caches are managed by JPS process,
which contains the necessary library.

To reproduce the compiler needs to be processed by proguard
(which always happens on TeamCity).
Many classes are needed to trigger the compression.
2018-05-12 19:02:04 +02:00
Sergey Igushkin 2a46648e3e In Android MPP target, add common module dependency to api configuration
Since Android considers the `compile` configuration as deprecated and
reports a warning when a dependency is added to it, use the `api`
configuration when dealing with an Android platform module.

Issue #KT-23719 Fixed
2018-05-11 16:03:33 +03:00
Natalia Selezneva 9535c82149 Backport ScriptSeverity.FATAL to old script API
(cherry picked from commit dceb063)
2018-05-11 15:51:47 +03:00
Florian Steitz 8453ed1803 [KT-10456] Move tests from StringNumberConversionJVMTest to StringNumberConversionTest 2018-05-11 15:42:11 +03:00
Florian Steitz d7bada0c29 [KT-10456] Added JS implementation for Int.toString(radix) and similar overloads 2018-05-11 15:42:11 +03:00
Sergey Igushkin 284b5b9860 (minor fix) Remove extra underscore from module names 2018-05-11 15:37:17 +03:00