Vyacheslav Gerasimov
bba2d27e82
UAST: Fix getType and getText for UastKotlinPsiVariable
2017-09-16 13:21:44 +03:00
Vyacheslav Gerasimov
14742a6048
UAST: Fix getContainingFile, should return KtFile instead of FakeFileForLightClass
...
#KT-20170 Fixed
2017-09-16 13:02:08 +03: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
5641909d1d
Parcel: Invoke box tests as an external process to prevent class clashes with IntelliJ platform
2017-09-15 17:54:46 +03:00
Yan Zhulanow
26af128694
Parcelable: produce error on "CREATOR" companion object
2017-09-14 19:36:48 +03:00
Yan Zhulanow
e6171dc4c5
Parcelable: Add quick fixes
2017-09-14 19:36:24 +03:00
Yan Zhulanow
4ac8a98050
Kapt: Hide fake "Error while annotation processing" error in Android Studio build console
2017-09-14 19:16:54 +03:00
Yan Zhulanow
8e72a1211b
Kapt: Add IDEA integration (KT-19097, KT-17923, KT-19823)
2017-09-14 18:40:55 +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
f84df6381e
NoArg: Support @MappedSuperclass JPA annotation (KT-19692)
2017-09-12 22:07:16 +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
Vyacheslav Gerasimov
b6c32edc43
Implement Kotlin Script support in UAST
...
#KT-18353 Fixed
2017-09-12 13:10:38 +03:00
Nikolay Krasko
6b14d15374
Clean state in AbstractKotlinKapt3IntegrationTest
2017-09-08 12:56:28 +03:00
Nikolay Krasko
c479e585ca
Clean project in uast tests
2017-09-08 12:56:28 +03:00
Nikolay Krasko
fcab80db96
Add uast-tests files to our project
...
Copy files from obsolete project https://github.com/JetBrains/uast
2017-09-08 12:56:28 +03:00
Yan Zhulanow
187ca71dc6
NoArg: Fix compatibility with sealed classes with non-zero-parameter constructors (KT-19687)
...
Also check if a class has a sealed super class properly.
2017-09-06 17:40:20 +03:00
Yan Zhulanow
cea891c754
Kapt: Do not replace '/' with dots before converting to fqName (KT-19680)
...
getQualifiedName() converts slashes by itself, and it causes the internal name equality check (it.name == classFromSources.name) to fail.
This reproduces only for the pure synthetic classes (for which we don't generate Java light classes).
2017-09-06 17:40:19 +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
04c2e28341
Kapt: Do not use awkward ('$' -> '/') logic for KAPT3 class builder mode
...
So (for the most often reproduction case) #KT-19433 Fixed
Before this commit, internal names for nested classes were written as test/Foo/Bar (comparing to test/Foo$Bar in the normal mode), as getting qualified names from such internal names was trivial. But, because of IC, we needed to write class files to the disk, so our decompiler could find such "broken" classes and read it in a wrong way.
2017-09-06 17:40:18 +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
Yan Zhulanow
84e59601c1
Kapt: Generic arguments in anonymous type should always be mapped to boxed types (KT-19750)
2017-09-06 17:40:17 +03:00
Yan Zhulanow
4d9a612a64
Kapt: Substitute type parameters from the actual type, not from the anonymous one (KT-19700)
2017-09-06 17:40:16 +03:00
Dmitry Jemerov
0fa4e1cbaf
Set scope of plugin dependencies to provided
2017-09-01 13:11:39 +02:00
Vyacheslav Gerasimov
be900a76d8
Android Lint: check for array initializer in SuppressLint
2017-09-01 13:32:08 +03:00
Vyacheslav Gerasimov
f4da6c2cc6
UAST: findAttributeValue returns default value when no declared value found
2017-09-01 13:32:00 +03:00
Vyacheslav Gerasimov
56a075eab6
UAST: Fix annotation arguments processing
...
multiple unnamed arguments represented as value named expression with array initializer
call kind for array in annotation argument should be "array initializer" instead of "method call"
#KT-16600 Fixed Target Versions 1.1.5
2017-09-01 13:31:50 +03:00
Vyacheslav Gerasimov
aedb4c0ade
Android Lint: Fix constant evaluation in annotation parameter
...
#KT-17785 Fixed Target Versions 1.1.5
2017-08-23 13:18:56 +03:00
Vyacheslav Gerasimov
2e1edaf3d4
Uast: Fix getExpressionType for elvis expression
...
#KT-18997 Fixed Target Versions 1.1.5
2017-08-23 13:18:49 +03:00
Vyacheslav Gerasimov
e06cb1ec39
Android Lint: Use Uast to check for SuppressLint annotation
...
#KT-14800 Fixed Target versions 1.1.5
2017-08-23 13:18:42 +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