Ilya Chernikov
61dfb75e0e
Implement Gradle Kotlin DSL build
2017-09-19 21:37:06 +02:00
Stanislav Erokhin
e86d2f00ff
Rename isImpl to isActual in descriptors
2017-09-15 18:25:49 +03:00
Stanislav Erokhin
c8ee424f67
Rename isHeader to isExpect in descriptors
2017-09-15 18:25:41 +03:00
Yan Zhulanow
26af128694
Parcelable: produce error on "CREATOR" companion object
2017-09-14 19:36:48 +03:00
Alexander Udalov
b01a3eb747
Drop JvmFileClassesProvider and inline implementations
...
Both of its implementations called the same static function; inline
those and move related utilities to JvmFileClassUtil
2017-09-13 15:46:36 +03:00
Yan Zhulanow
d7ad973843
Kapt, minor: Remove duplicating 'visitInnerClass()' calls (rebase issue)
2017-09-12 22:17:18 +03:00
Yan Zhulanow
7b4e24a454
Android Extensions: Allow LayoutContainers in inner/local classes and objects
2017-09-12 22:07:18 +03:00
Yan Zhulanow
07be1e9d10
Android Extensions: Generate proper receiver for clearFindViewByIdCache() call (KT-19742)
2017-09-12 22:07:17 +03:00
Yan Zhulanow
3f4ddb006a
Android Extensions: Fix compilation when LayoutContainer is used as an interface (KT-19753)
2017-09-12 22:07:16 +03:00
Yan Zhulanow
eefb490a8a
Parcelable: Use efficient serialize strategy for Java/Kotlin Parcelables only from the current source roots (KT-20029)
2017-09-12 22:07:15 +03:00
Yan Zhulanow
1b688182cd
Parcelable: Use specialized write/create methods where available (KT-20057)
2017-09-12 22:07:14 +03:00
Yan Zhulanow
f6d7a17227
Parcelable: Remove 'ACC_STATIC' flag from Creator class, Dalvik dex checker hates it, and it's illegal anyway (KT-20034)
2017-09-12 22:07:13 +03:00
Yan Zhulanow
e0509e8c4d
Parcelable: Specify declaration origin for the synthetic descriptors
2017-09-12 22:07:13 +03:00
Yan Zhulanow
033386b47d
Parcelable: Do not check property types if the Parcelable class has a custom Parceler implementation (KT-20062)
2017-09-12 22:07:12 +03:00
Yan Zhulanow
89c5f78a8e
Parcelable: Use Parcel methods for reading-writing primitive types (KT-20020)
2017-09-12 22:07:11 +03:00
Yan Zhulanow
a03c03c427
Parcelable: Handle nullability in Parcelize Parcelable serializer (KT-20032)
2017-09-12 22:07:11 +03:00
Yan Zhulanow
88138fc420
Parcelable: Use java/lang/Enum methods to read/write enum values (KT-20022)
2017-09-12 22:07:10 +03:00
Yan Zhulanow
7b96c9a003
Parcelable: Give priority to Parcelable type over objects and enums (KT-20021)
2017-09-12 22:07:09 +03:00
Yan Zhulanow
be3273a933
Parcelable: Flags argument should be propagated to the nested Parcelable's writeToParcel() (KT-20019)
2017-09-12 22:07:08 +03:00
Yan Zhulanow
3587a2a08e
Parcelable: Use ClassLoader from the container class to load Parcelable (KT-20027)
...
When the parameter type is just "Parcelable", we would not pick the wrong (system) class loader anymore.
2017-09-12 22:07:08 +03:00
Yan Zhulanow
c9ec1a2511
Parcelable: Array serializer should correctly handle wide primitive types – long, double (KT-20002)
2017-09-12 22:07:07 +03:00
Yan Zhulanow
32fc340d62
Parcelable: Parcelize overrides describeContents despite being already implemented (KT-20026)
2017-09-12 22:07:06 +03:00
Yan Zhulanow
e645da64da
Parcelable: Use the Parcelable implementation class as a containing declaration for Creator (KT-19899)
2017-09-12 22:07:06 +03:00
Yan Zhulanow
f8ca714c45
Parcelable: Cast types deserialized with Parcel.readValue() (KT-19747)
2017-09-12 22:07:05 +03:00
Yan Zhulanow
eee28d8507
Parcelable: Fix signature for Serializable Parcel serializer (KT-19749)
2017-09-12 22:07:04 +03:00
Yan Zhulanow
fe3413c291
Parcelable: Add INNERCLASS metadata to Creator factory class and its outer class
2017-09-06 17:40:19 +03:00
Yan Zhulanow
c330285fd0
Parcelable: Use innerClassNameFactory to figure out the internal name of the Creator class (KT-19680)
...
KAPT3 class builder mode in 1.1.4 replaces '$' (inner class name separators) with '/' by providing special innerClassNameFactory.
We should use it to be compatible with kapt.
2017-09-06 17:40:18 +03:00
Vyacheslav Gerasimov
cb3a8d87d0
Android Extensions: Correctly handle namespaces in layout xml
...
#KT-19451 Fixed Target versions 1.1.5
2017-08-23 13:18:34 +03:00
Pavel V. Talanov
6424b6760f
Remove StorageComponentContainerContributor::onContainerComposed
...
Rename addDeclarations -> registerModuleComponents
Use it to provide SamWithReceiverResolver extensions instead
Post construction on container composition can be achieved
but manually inserting injections where it seems appropriate
is bug prone
This fixes a bug where SamWithReceiverPlugin extension was not registered
for some containers in IDE which led to incorrect highlighting in IDE
Add IDE test for applying SamWithReceiver plugin
#KT-18062 Fixed
2017-08-18 19:11:25 +03:00
Yan Zhulanow
5ff014f89d
Parcelable, minor: Change error message
2017-08-02 03:35:12 +03:00
Yan Zhulanow
c1600c9841
Report errors from compiler plugins as compiler PLUGIN_ERRORs (KT-19311)
2017-08-02 03:35:10 +03:00
Yan Zhulanow
bf2bc1fdc7
Android Extensions: Support smart-casted receivers (KT-18545)
2017-08-02 03:21:13 +03:00
Yan Zhulanow
ea1068a822
Parcelable, minor: Rename MagicParcel to Parcelize
2017-07-26 20:19:32 +03:00
Yan Zhulanow
f29cf07fa4
Android Extensions, minor: Fix test
2017-07-26 20:19:32 +03:00
Yan Zhulanow
5a1a4bd8bd
Android Extensions: Add global cache flag in compiler plugin
2017-07-26 20:19:26 +03:00
Yan Zhulanow
84eff43b49
Parcelable: Support Android Extensions experimental flag
2017-07-26 20:19:25 +03:00
Yan Zhulanow
38449caaed
Parcelable: Fixes after review
2017-07-26 20:19:23 +03:00
Yan Zhulanow
d0e4b236a7
Parcelable: Support SortedSet, NavigableSet, SortedMap, NavigableMap
2017-07-26 20:19:22 +03:00
Yan Zhulanow
cf607a0f14
Parcelable: Report error on unsupported parameter types, add @RawValue annotation support
2017-07-26 20:19:21 +03:00
Yan Zhulanow
4200629347
Parcelable: Support CharSequence, IBinder/IInterface, objects, enums. Serialize Parcelable efficiently if possible
2017-07-26 20:19:20 +03:00
Yan Zhulanow
19eb30b3ae
Parcelable: Add test for clinit merging
2017-07-26 20:19:19 +03:00
Yan Zhulanow
3062e72282
Parcelable: Support Parcelizer interface in order to be able to customize serialization
2017-07-26 20:19:18 +03:00
Yan Zhulanow
aa5f9ee3ec
Parcelable: Correctly handle writeToParcel() overriding, report errors on custom writeToParcel() and CREATOR
2017-07-26 20:19:18 +03:00
Yan Zhulanow
96c9bcd820
Parcelable: Allow custom describeContents() implementation
2017-07-26 20:19:17 +03:00
Yan Zhulanow
4197380621
Parcelable: Add declaration checker
2017-07-26 20:19:16 +03:00
Yan Zhulanow
c23bca6afe
Parcelable: Add Parcelable functionality to Android Extensions plugin
2017-07-26 20:19:15 +03:00
Mikhail Glukhikh
7fb78a0372
Code cleanup: replace chained null-checks with safe-calls
2017-07-26 15:18:22 +03:00
Alexander Udalov
cc7ed2ba54
Change map key type in AnnotationDescriptor.getAllValueArguments
...
Turns out, only the parameter's name is needed at all usages of this
method. Such a map is both easier to use (no need to call
ValueParameterDescriptor.getName) and easier to construct (no need to
resolve annotation class, its constructor, its parameters). In this
commit, only usages have changed but the implementations are still using
the old logic, this is going to be refactored in subsequent commits
2017-07-20 13:25:39 +03:00
Yan Zhulanow
4851a83a83
Android Extensions: put new functionality under the flag
2017-07-18 18:10:30 +03:00
Yan Zhulanow
b303fa9caa
Android Extensions: Fixes after review
2017-07-18 18:10:27 +03:00