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
Leonid Startsev
b76116a077
Do not add any .childSerializers() stuff if user explicitly marked custom serializer as KSerializer
...
todo: better design for user-provided descriptors and and schema hierarchy
2018-11-21 16:00:00 +03:00
Leonid Startsev
80c262ec66
Fix instantiation of generic serializers on JS
...
(Kotlin/kotlinx.serialization/244, which was fixed already by lookuping descriptor, but still had a bug)
2018-11-21 15:59:59 +03:00
Leonid Startsev
a163e62f5f
Rebased on master, adopt to new constant values from deserialized
...
annotations
Fix issue with generating redundant constructors for custom generic
seralizers
2018-11-21 15:59:58 +03:00
Leonid Startsev
2444a6680e
.shouldEncodeElementDefault for JVM
2018-11-21 15:59:57 +03:00
Leonid Startsev
662e918a7b
Support skipping values equals to defaults in output stream for JS and IR backends
2018-11-21 15:59:56 +03:00
Leonid Startsev
dba6396e95
Support enums according to new design
2018-11-21 15:59:55 +03:00
Leonid Startsev
f101e17dfa
Support reference array and context serializers
...
Enum serializers are also instantiated, but won't work on native because of lack of KClass<E: Enum<E>>.enumValues()
2018-11-21 15:59:54 +03:00
Leonid Startsev
ef42201b05
Fix order of overriding @Serializable(with) on property: check override, than @ContextualSerialization.
...
This will apply Context serializer event if class annotated @Serializable
2018-11-21 15:59:53 +03:00
Leonid Startsev
abb8e5e914
Support @Transient properties initializers and init blocks in IR plugin
2018-11-21 15:59:52 +03:00
Leonid Startsev
104368de3b
Better lookup for serializer() function in companion for generic classes because user can define a parameterless shorthand one
...
Fixes Kotlin/kotlinx.serialization/#228
2018-11-21 15:59:51 +03:00
Leonid Startsev
077f51e2f4
Generics serialization in IR
2018-11-21 15:59:50 +03:00
Leonid Startsev
a4a1df0a81
Add information about secondary constructors to synthetic classes.
...
Before this, descriptors for such constructors were created in-place where they needed by the codegens.
However, presence of symbol table in IR backend requires the single instance of constructor descriptor across all compilation to be able to reference it and create a symbol. This support of generics in kotlinx.serialization on Kotlin/Native.
2018-11-21 15:59:49 +03:00
Leonid Startsev
01d3c7bdc8
Descriptors for IR
2018-11-21 15:59:48 +03:00
Leonid Startsev
3010814327
.childSerializers for JS
2018-11-21 15:59:47 +03:00
Leonid Startsev
baf8cb6e9b
Replace imported serialization-ide.jar with serialization-compiler.jar so JPS build also start working
2018-11-21 15:59:46 +03:00
Leonid Startsev
e40383b1ce
Introduce GeneratedSerializer and childSerializers
...
Descriptors passing on JVM
2018-11-21 15:59:45 +03:00
Leonid Startsev
f0e81c6eb8
Respect @ContextualSerialization on file
...
Add common ancestor to all serializable generators
2018-11-21 15:59:44 +03:00
Leonid Startsev
82fa152514
Remove auto-applying ContextSerializer
2018-11-21 15:59:43 +03:00
Dmitry Petrov
b3ce2eea39
Add LanguageVersionSettings to KotlinTypeMapper
...
KotlinTypeMapper clients should use proper LanguageVersionSettings when
possible.
2018-11-21 12:01:41 +03:00
Yan Zhulanow
5636227857
Android Extensions: Use lazy package fragment descriptors only in IDE
2018-11-21 12:34:01 +09:00
Yan Zhulanow
4f3f813b32
Android Extensions: Make AndroidPackageFragmentProviderExtension lazy
2018-11-21 12:34:01 +09:00
Yan Zhulanow
6f8d44750a
Android Extensions: analyze layout XMLs lazily
2018-11-21 12:34:01 +09:00
Yan Zhulanow
12a05e0006
Android Extensions: Use smart pointers in 'AndroidResource'
2018-11-21 12:34:01 +09:00