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
Vyacheslav Gerasimov
f941186f75
UAST: Properly handle annotations on local variables
2017-08-21 15:02:01 +03:00
Vyacheslav Gerasimov
c549c63100
Light Classes: Correctly handle annotations for property parameters
...
When getting annotations for KtLightParameter which is property parameter we should return annotations for parameter instead of property
#KT-19671 Fixed
2017-08-21 15:01:51 +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
Mikhail Glukhikh
3623f581b8
Eliminate a set of warnings, mostly nullability ones
2017-08-18 15:10:27 +03:00
Alexander Udalov
8db736e2b4
Support FULL_JDK directive in diagnostic tests
2017-08-17 12:35:56 +03:00
xiexed
12eb4ef37a
KotlinUastLanguagePlugin#convertElementWithParent NPE fix when parent is null (#1247 )
2017-08-16 17:47:40 +03:00
xiexed
6a4ea8b669
toUElement() made work with KtAnnotationEntry (#1240 )
...
* `KotlinUastLanguagePlugin#convertElement` made work with `KtAnnotationEntry`
* `KotlinUastLanguagePlugin#convertElementWithParent` searches for parent `KotlinUNamedExpression`
2017-08-16 13:01:37 +03:00
Dmitry Jemerov
e3963fccf4
Move Gradle-related classes to idea-gradle module
2017-08-15 16:51:42 +02:00
Yan Zhulanow
57d209f599
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-08-15 17:48:51 +03:00
Vyacheslav Gerasimov
4cf2bf6ca5
UAST: Implement getFunctionalInterfaceType for KotlinULambdaExpression
2017-08-14 15:41:40 +03:00
Vyacheslav Gerasimov
298d29a962
Android Extensions: Allow to disable IDE support (KT-12741)
2017-08-10 22:05:45 +03:00
Yan Zhulanow
a142c2f8fa
Fix compilation IntelliJLintClient, IntelliJLintProject, IDEAndroidLayoutXmlFileManager
2017-08-10 22:05:45 +03:00
Vyacheslav Gerasimov
2ac7b6a534
UAST: Fix DeclarationDescriptor.toSource return first found source element
...
instead of null, when multiple descriptors found
#KT-18837 Fixed
2017-08-09 15:34:41 +03:00
Vyacheslav Gerasimov
915f47133b
UAST: Fix KotlinUMethod annotation handling, properly handle use site targets
...
#KT-16834 Fixed
#KT-18893 Fixed
2017-08-09 15:34:34 +03:00
Vyacheslav Gerasimov
f24488915a
UAST: Log error when failed to create light class for UObjectLiteralExpression
2017-08-09 15:34:27 +03:00
Yan Zhulanow
13868f89e8
Minor: Change test format to JUnit 3
2017-08-02 03:35:16 +03:00
Yan Zhulanow
6002281874
Android Extensions: Downgrade to old Android variant processing logic when 'experimental' flag is disabled (KT-19270)
2017-08-02 03:35:14 +03:00
Yan Zhulanow
3bb7febeb8
AllOpen: Make private members open again because of KT-19047
2017-08-02 03:35:13 +03:00
Yan Zhulanow
5ff014f89d
Parcelable, minor: Change error message
2017-08-02 03:35:12 +03:00
Yan Zhulanow
448fa8495a
Parcelable, Lint: Do not report "CREATOR field missing" warnings on our '@Parselize' Parcelables
2017-08-02 03:35:11 +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
9a5a003d0a
NoArg: Fix IllegalAccessError on instantiating sealed class child via Java reflection (KT-18245)
2017-08-02 03:21:16 +03:00