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
Yan Zhulanow
7b238e0b21
Android Extensions: Add SparseArray implementation for the View cache (KT-18250)
2017-07-18 18:10:26 +03:00
Yan Zhulanow
423a09e46a
Android Extensions: Support LayoutContainer in code generation
2017-07-18 18:10:23 +03:00
Yan Zhulanow
a69f9729e0
Android Extensions: Use Activity and Fragment supertypes in INVOKE_VIRTUAL calls instead of the user implementation class names
2017-07-18 18:10:22 +03:00
Yan Zhulanow
d4b4bc71ee
Android Extensions: Support @ContainerOptions in compiler plugin
2017-07-18 18:10:21 +03:00
Yan Zhulanow
6e1dd08fbb
Android Extensions: Add runtime library with LayoutContainer and its options
2017-07-18 18:10:20 +03:00
Yan Zhulanow
1a1db5a6f1
Android Extensions: Support cache in custom Views
2017-07-18 18:10:19 +03:00
Yan Zhulanow
c9cd1a4d75
Minor: Android Extensions compiler plugin refactoring
2017-07-18 18:10:18 +03:00
Yan Zhulanow
303b246a49
Minor: Move AndroidExtensionsReportSubmitter to other KAE files
2017-07-18 18:10:16 +03:00
Yan Zhulanow
f7786a42ab
Android Extensions: Show warning on a dot-call of a reference which is missing in some configurations (KT-18012)
...
When more than one layout configuration is available, a particular resource (view or fragment) may be absent in some of them.
We should show a warning on such resource reference calls as the call may lead to NPE.
2017-07-18 18:08:32 +03:00
Yan Zhulanow
f4acf404ca
Android Extensions: Support Android variants and library dependencies (KT-14086, KT-16934)
2017-07-18 18:08:31 +03:00
Vyacheslav Gerasimov
4cef8728d7
Add layout file name in completion for Android Extension properties
...
#KT-11051 Fixed
2017-07-07 03:24:19 +03:00
Vyacheslav Gerasimov
f59859842a
Fix Android extensions import rename
...
#KT-17890 Fixed
2017-07-07 03:24:10 +03:00
Nikolay Krasko
72611d1337
Fix extract refactoring for android extensions declarations (KT-11048)
...
Allow any target declarations in marking references. Otherwise conflicts
for references resolved to xml are not considered broken.
This also fix evaluate for extension fields.
#KT-11048 Fixed
2017-07-05 20:21:13 +03:00
Ilya Gorbunov
7efb9ddd4e
Early return if value is null
...
The change is required to fix compilation for IDEA 172, where getValue()
became explicitly nullable.
2017-06-20 02:58:40 +03:00
Vyacheslav Gerasimov
f51e3ab90c
Fix Android extensions property usage highlighting
...
#KT-10736 Fixed
2017-06-16 17:13:34 +03:00
Alexander Udalov
7febd846e8
Export 'intellij-core' in module 'frontend'
...
Remove intellij-core from dependencies of modules which already depend
on frontend or any module that exports frontend (such as frontend.java)
2017-06-06 14:29:26 +03:00
Alexander Udalov
cbaa676c3d
Move some declarations between 'descriptors' and 'deserialization'
...
- Move the following from 'deserialization' to 'descriptors':
NotFoundClasses.kt
AdditionalClassPartsProvider.kt
ClassDescriptorFactory.kt
PlatformDependentDeclarationFilter.kt
findClassInModule.kt
- Move the following form 'descriptors' to 'deserialization':
BuiltInSerializerProtocol.kt
builtInsPackageFragmentProvider.kt
- Extract a marker interface from BuiltInsPackageFragment and move its
implementation to 'deserialization'
- Change the type of parameters in PlatformDependentDeclarationFilter
and AdditionalClassPartsProvider to ClassDescriptor
This will help in getting rid of the circular dependency of
'descriptors' <-> 'deserialization'
2017-06-06 14:29:18 +03:00
Yan Zhulanow
14fde339ef
Minor: Fix Android JPS test
2017-04-27 18:52:12 +03:00
Yan Zhulanow
8354d25800
Android Extensions: Fix availability in Android/JPS projects (KT-17610)
2017-04-27 18:52:11 +03:00
Vyacheslav Gerasimov
386ec53dd5
Update AndroidTestCase to AS 2.3 + Android tests refactoring
2017-04-26 18:38:29 +03:00
Yan Zhulanow
cba523958e
Android Extensions: Support Dialog classes (KT-16957)
2017-03-22 22:03:22 +03:00
Yan Zhulanow
8ac14ab930
Android Extensions: Allow to disable IDE support (KT-12741)
...
Enable IDE plugin only if it is enabled in the build.gradle file.
2017-03-22 22:03:17 +03:00
Alexey Sedunov
bab762b761
Implement post-refactoring optimization of unused imports
...
#KT-15822 Fixed
#KT-13755 Fixed
2017-03-22 13:36:11 +03:00
Dmitry Jemerov
a2b0b3d6eb
fix compilation against branch 163
2017-03-20 18:45:15 +01:00
Mikhail Glukhikh
045a23ae10
Cleanup: apply "Convert lambda to reference"
2017-03-15 17:36:02 +03:00
Mikhail Glukhikh
b121bf8802
Cleanup: fix some compiler warnings (mostly deprecations, javaClass)
2017-03-15 17:35:31 +03:00
Dmitry Petrov
a087ea559f
Eliminate redundant CHECKCAST instructions
...
CHECKCAST is redundant if the corresponding static type exactly matches the target type.
CHECKCAST instructions to-be-reified should not be eliminated.
KT-14811 Unnecessary checkcast generated in parameterized functions
KT-14963 unnecessary checkcast java/lang/Object
2017-03-13 09:04:31 +03:00
Vyacheslav Gerasimov
39010ab847
Fix broken isReferenceTo checking code for Android extensions
...
#KT-16132 Fixed
2017-03-03 16:17:52 +03:00
Yan Zhulanow
feb5397f6f
AllOpen, NoArg: Refactoring, support presets in order to hold special annotations for Spring and JPA in one place
2017-02-08 17:36:19 +03:00
Alexander Udalov
f1cd2ee6fd
Introduce PropertyDescriptor.isDelegated, write new flag to metadata
...
#KT-8384 In Progress
2017-01-23 12:25:34 +03:00
Mikhail Zarechenskiy
6cccad9647
Update year in license and regenerate tests
2017-01-10 12:01:17 +03:00
Nikolay Krasko
49d57124c1
Take new name when layout rename started from reference
2016-12-22 16:20:29 +03:00
Nikolay Krasko
da5f2a0784
Always return identifier from handleElementRename() (KT-14358)
...
Returning reference will lead to replacing identifier with reference, that result bad psi, bad stubs, and failure at some point.
#KT-14358 Fixed
2016-12-22 16:20:29 +03:00
Stanislav Erokhin
59efedf610
Rename platform to header.
2016-12-13 18:00:00 +03:00
Roman Elizarov
8affb2726f
Pluggable Synthetic Objects
2016-12-12 18:43:26 +03:00
Alexey Andreev
ba2443bcb3
Add external property to class and property descriptors
2016-12-08 15:41:38 +03:00