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
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
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
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
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
cba523958e
Android Extensions: Support Dialog classes (KT-16957)
2017-03-22 22:03:22 +03: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
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
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
Alexander Udalov
ce9691cd2b
Support platform/impl modifiers for properties
...
Do not allow platform properties to have backing fields, initializers, be
delegated, lateinit or const, or have accessors with bodies
2016-11-25 20:50:18 +03:00
Vyacheslav Gerasimov
da87efed6b
Added ACC_SYNTHETIC flag to generated by kotlin Android extensions onDestroyView method
...
#KT-14610 Fixed
2016-11-23 18:28:43 +03:00
Alexander Udalov
6ba32ed624
Refactor CallChecker and subclasses
...
Encapsulate everything that is needed in checkers into CallCheckerContext. Pass
an instance of this context instead of BasicCallResolutionContext to checkers.
Also pass an instance of the element to report errors on: this is useful
because before this, every checker had its own way of determining where should
the error be reported on. Some of them, for example, were not doing anything if
Call#calleeExpression returned null, which is wrong, see operatorCall.kt
#KT-12875 Open
2016-06-29 19:20:00 +03:00
Mikhael Bogdanov
db5d9940df
Added 'isInline' implementation to property accessor descriptors
2016-06-24 17:05:48 +03:00
Yan Zhulanow
530ab42de6
Android Extensions: Fix KT-10969 (NullPointerException when finding view in Fragment if getView() is null)
...
(cherry picked from commit 80f5852)
2016-06-24 15:10:19 +03:00
Denis Zharkov
1b82e43d76
Add LanguageFeatureSettings parameter to single method in checkers interfaces
...
This parameter will be used further for target-dependent checks
Also introduce SimpleDeclarationChecker/SimpleCallChecker sub-interfaces (more weak ones)
Implementing them instead of base checkers is more convenient in most cases
2016-06-09 17:57:15 +03:00
Stanislav Erokhin
f41c8dc045
Refactoring. Removed several usages of asSimpleType
2016-06-09 12:58:00 +03:00
Stanislav Erokhin
957bae18be
Refactoring. Move flexible type creation to KotlinTypeFactory.
2016-06-09 12:57:44 +03:00
Stanislav Erokhin
3a451744c5
Introduce KotlinTypeFactory
2016-06-09 12:57:43 +03:00
Mikhail Glukhikh
9bd3be68f7
Code cleanup: protected is effectively private
2016-05-13 17:57:17 +03:00
Mikhail Glukhikh
ee46c34a5e
Android: unnecessary 'val's removed from constructors
2016-04-27 18:42:00 +03:00
Stanislav Erokhin
a1d052b8fa
Refactoring. Remove FlexibleTypeFactory.DEFAULT and refactor flexible type creation by special fq-name for tests.
2016-04-25 15:28:46 +03:00
Stanislav Erokhin
0a4ad3f267
Refactoring. Rename FlexibleTypeCapabilities -> FlexibleTypeFactory. Also use factory.create instead of DelegatingFlexibleType.create.
2016-04-25 15:28:46 +03:00
Yan Zhulanow
371e80bcba
Android Extensions: Do not upcast ViewStub to View (KT-10321)
2016-04-19 18:47:51 +03:00
Yan Zhulanow
9e33b7d3bc
Android Extensions: support identifiers with packages (KT-10841)
2016-04-19 18:47:51 +03:00
Alexander Udalov
3944d56ac2
Minor, remove unnecessary type parameter in CallChecker#check
2016-03-28 14:13:59 +03:00
Denis Zharkov
78c9dffe00
Refine return type of MemberScope.getContributedFunctions
2016-03-16 20:22:58 +03:00
Natalia Ukhorskaya
7e6fa8ef17
Refactoring: rename android-compiler-plugin to android-extensions-compiler
2016-03-15 20:25:45 +03:00