Alexey Tsvetkov
fe047a0092
Minor: extract function
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
f231817559
Delay I/O when transforming ABI classes
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
d74185a74d
Remove unused cosntant pool entries from ABI classes
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
3a29b337a0
Exclude private typealiases from ABI classes
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
1f5ca7274d
Exclude local and private classes from ABI classes
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
7c2f7cab9a
Exclude non-inline method bodies from ABI classes
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
903f6bc79b
Exclude private members from ABI classes
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
33faa00184
Add plugin for JVM ABI classes generation
...
#KT-25128 Fixed
ABI class generation is implemented as a compiler plugin.
Command-line usage:
1. Add a path to 'jvm-abi-gen.jar' to the plguin classpath argument
(`-Xplugin`). By default the jar is located at
'kotlinc/lib/jvm-abi-gen.jar' in the kotlinc distribution archive.
2. Specify an output directory for ABI classes via
`-Pplugin:org.jetbrains.kotlin.jvm.abi:outputDir=<DIR>`.
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov
d6459e6c49
Add option to disable AP discovery in compile classpath
...
#KT-24530 Fixed
To disable discovery and enable avoidance for kapt tasks,
use "kapt.includeCompileClasspath = false"
2018-12-11 16:08:16 +03:00
Vyacheslav Gerasimov
d84c5b1608
Switch to 183 platform
2018-12-06 20:16:58 +03:00
Leonid Startsev
f2e27da5bb
Support @SerialInfo annotation for Native
2018-12-05 15:16:17 +03:00
Leonid Startsev
13af036024
Fix problem with encodeUnitElement : Unit instance is not needed in Native IR
2018-12-05 15:16:16 +03:00
Leonid Startsev
b775501042
Translate KClass references to built-in types in serialization plugin correctly.
...
Add overload with ClassDescriptor to `getPrimitiveClass` translation function and increase it visibility to public to be usable from plugin.
2018-12-05 15:16:15 +03:00
Leonid Startsev
5f2cea917f
Remove redundant check for 'all parameters are properties' in a case of fully-customized serializer
2018-12-05 15:16:15 +03:00
Leonid Startsev
7e32e2e9b9
Increase priority of @ContextualSerialization annotation on types
2018-12-05 15:16:14 +03:00
Leonid Startsev
f13f54d5ad
Fix "kotlin.UninitializedPropertyAccessException: lateinit property typeTranslator has not been initialized" in Native IR serialization plugin
2018-12-05 15:16:13 +03:00
Leonid Startsev
7c8b34fe1c
Fix unresolved symbol to SerialDescriptor in KSerializer if it was
...
referenced from user custom serializer code (kotlinx.serialization/290)
2018-12-05 15:16:12 +03:00
Leonid Startsev
58c145210c
Support for @UseSerializers annotation
2018-12-05 15:16:11 +03:00
Georgy Bronnikov
a35f368ce0
Switch off logging for failing IrBlackBox tests
...
Logging of tests that are expected to fail is controlled by
kotlin.suppress.expected.test.failures project property.
2018-12-05 01:48:43 +03:00
Vyacheslav Gerasimov
a112bebf78
Build: Configure cache-redirector in allprojects block
2018-12-04 15:38:56 +03:00
Sergey Rostov
2fac72cd99
Move resources: remove build code that not required anymore
2018-11-30 15:01:02 +03:00
Sergey Rostov
df2e4524d7
Move resources from /src to separate /resources directory.
...
Previously this files was stored in /src directory and was included in
resources mainly by SourceSet.projectDefault from sourceSets.kt:
val processResources = tasks.getByName(processResourcesTaskName) as ProcessResources
processResources.from("resources") { include("**") }
processResources.from("src") { include("META-INF/**", "**/*.properties") }
Also there are some custom rules like this:
resources.srcDir("../idea-analysis/src").apply { include("**/*.properties") }
resources.srcDirs("idea-repl/src").apply { include("META-INF/**") }
All this rules are synthesized in script
https://github.com/snrostov/kotlin-migrate-resources/blob/master/src/main/kotlin/main.kt
This commit created using that script. See README.md for more details on
script.
2018-11-30 15:01:01 +03:00
Simon Ogorodnik
29a1204b48
Fix test failures on CI due to ProGuard-ed Guava
2018-11-28 15:29:01 +03:00
Yan Zhulanow
47657df8da
Kapt: Convert valid references to qualified names (KT-26304)
2018-11-27 22:21:27 +09:00
Yan Zhulanow
6a8a8b794d
Kapt: Support correctErrorTypes in suspend functions (KT-27711)
2018-11-27 22:21:27 +09:00
Yan Zhulanow
4c5e982f3e
Kapt: Fix an ArrayIndexOutOfBoundsException for suspend functions with generated return types
2018-11-27 22:21:26 +09:00
Yan Zhulanow
69633e6686
Kapt: Fix stubs for delegated properties with anonymous types (KT-27910)
2018-11-27 22:21:26 +09:00
Yan Zhulanow
5fd070a9b9
Kapt: Add option for showing annotation processor timings (KT-28024)
2018-11-27 22:21:26 +09:00
Yan Zhulanow
9feb834d97
Kapt: Support paranoid mode in memory leak searcher
2018-11-27 22:21:26 +09:00
Yan Zhulanow
7e4069f114
Kapt, Refactoring: Introduce 'KaptOptions'
...
1. Use 'KaptOptions' for all kapt options, including paths and flags.
2. Use a single 'KAPT_OPTIONS' compiler configuration key for setting all options (using a mutable KaptOptions.Builder).
3. Pass 'KaptOptions' instead of separate flags.
4. Remove 'KaptPaths'.
5. Remove deprecated 'aptOnly' CLI option.
2018-11-27 22:21:25 +09:00
Yan Zhulanow
3918ec71be
Kapt: Suppress warnings for deprecated kapt option usage
2018-11-27 22:21:25 +09:00
Yan Zhulanow
abd1646d42
Kapt: Detect memory leaks in annotation processors (KT-28025)
2018-11-27 22:21:24 +09:00
Yan Zhulanow
911ad32580
Kapt: Check if the psiElement is bound to some Document instance before asking for its text range
...
textRange has an assertion that fails if the Document is not set.
2018-11-27 22:21:24 +09:00
Yan Zhulanow
cd968ba8fe
Kapt: Clear Javac shared ZIP cache after annotation processing or stub generation (KT-25756)
2018-11-27 22:21:24 +09:00
Yan Zhulanow
0ffa901859
Switch plugin and annotation processor loading to the own implementation of ServiceLoader
...
'ServiceLoader' in JDK8 leaks file handles (https://bugs.openjdk.java.net/browse/JDK-8156014 ).
New implementation uses the ZipFile API, it also doesn't operate on the whole classpath which is not often needed.
2018-11-27 22:21:24 +09:00
Yan Zhulanow
4e84a6b601
Kapt: Do partial analysis only for stub generation
...
Kapt has a 'compile' mode which repeats analysis after the annotation processing.
It should not run in the partial analysis mode.
2018-11-27 22:21:23 +09:00
Yan Zhulanow
69ec958aab
Kapt: Add tests for the command-line 'kapt' tool
2018-11-27 22:21:23 +09:00
Yan Zhulanow
6e5eb0fdd4
Kapt: Implement 'kapt' command-line tool (KT-24998, KT-24997)
2018-11-27 22:21:23 +09:00
Yan Zhulanow
c5e241d5c6
Remove deprecated usages of CliOption in official compiler plugins
2018-11-27 22:21:22 +09:00
Yan Zhulanow
49941339a3
Introduce AbstractCliOption, rewrite all possible kapt options as enum values
2018-11-27 22:21:22 +09:00
Yan Zhulanow
546eff6e45
Kapt: Use light analysis by default
2018-11-27 22:21:21 +09:00
Yan Zhulanow
fa0f447a23
Minor: Refactor AptMode a bit
2018-11-27 22:21:21 +09:00
Yan Zhulanow
fe0f9005b0
Kapt: Allow to use class output directory as a generated class output
2018-11-27 22:21:21 +09:00
Nicolay Mitropolsky
daef6f09b9
183: IdeaKotlinUastResolveProviderService.kt.183 compilation fix
2018-11-21 18:55:07 +03:00
Nicolay Mitropolsky
ebefcd476f
183: CliKotlinUastResolveProviderService.kt.183 compilation fix
2018-11-21 18:12:44 +03:00
Nicolay Mitropolsky
0ee98a8d1d
183: Uast: multiresolve (KT-27244)
2018-11-21 17:24:14 +03:00
Leonid Startsev
2e83ec1551
Restrict auto-implementing serializers methods to certain type of classes
2018-11-21 16:00:04 +03:00
Leonid Startsev
1535426a11
Don't add GeneratedSerializer as a supertype for user-defined serializers
2018-11-21 16:00:03 +03:00
Leonid Startsev
a3e34af2f1
Increase priority of overridden serializer on type
...
Fixes Kotlin/kotlinx.serialization/252
2018-11-21 16:00:02 +03:00
Leonid Startsev
127ceaca34
Fix commented check when generating descriptor initializer:
...
It was needed before `save` because save references symbol of initializer,
yet we don't need to generate it if user provided its own getter
2018-11-21 16:00:01 +03:00