Commit Graph

180 Commits

Author SHA1 Message Date
Alexander Udalov a97567ea0c Optimize KProperty objects for delegated properties
Don't generate anonymous classes with a lot of methods because this hurts
Android. Add special classes to the runtime instead (also add
FunctionReferenceImpl, to be used later) and just create their instances in the
static initializer of each class
2015-10-26 21:02:34 +03:00
Alexander Udalov d021821db5 Minor, add constructors with messages and causes to KotlinReflectionNotSupportedError 2015-10-26 19:40:04 +03:00
Alexander Udalov 8dde7497e0 Minor, drop outdated constructor from FunctionReference 2015-10-21 13:40:49 +03:00
Alexander Udalov c204e8fc67 Add more intrinsic methods to be maybe used in the future 2015-10-21 13:40:48 +03:00
Alexander Udalov a24ac86e1c Support exception messages for reified inline markers 2015-10-21 13:40:47 +03:00
Alexander Udalov 1f1b3660f7 Provide additional overloads of TypeIntrinsics methods for future use 2015-10-21 13:40:47 +03:00
Alexander Udalov 8f6f6f7807 Minor, simplify code in TypeIntrinsics 2015-10-21 13:40:46 +03:00
Alexander Udalov 121807654a Add generalized methods to InlineMarker
To be able to use them in the future compiler without breaking binary
compatibility
2015-10-21 13:40:45 +03:00
Alexander Udalov 3f9806d758 Add constructors with messages and causes to runtime exceptions 2015-10-21 13:40:44 +03:00
Alexander Udalov 1e9624901a Add NonVolatileRef to runtime 2015-10-21 13:40:02 +03:00
Alexander Udalov 1c280c96b6 Set binary version to 1.0.0 2015-10-19 22:12:39 +03:00
Denis Zharkov bd37a10677 Transform *Array.size to properties 2015-10-16 18:16:02 +03:00
Alexander Udalov ec1b4776fe Deprecate PropertyMetadata, use KProperty<*> for delegated properties instead 2015-10-14 20:45:25 +03:00
Alexander Udalov b378969a0a Deprecate KotlinSignature, to be removed later 2015-10-13 20:29:15 +03:00
Alexander Udalov 9d626ef1d9 Rename KotlinCallable annotation to KotlinFunction 2015-10-11 17:10:40 +03:00
Alexander Udalov 9e4823ef82 Write module name to metadata, fix reflection for file facades
Module name will be used for proper introspection of internal members
2015-10-11 17:10:37 +03:00
Alexander Udalov 0218e0351b Deprecate KPackage, to be removed later 2015-10-11 17:10:37 +03:00
Alexander Udalov 37c36f806a Rename foreignKotlinClass -> getOrCreateKotlinClass
Previously this cache contained only Java (hence 'foreign') classes, that is
not the case anymore
2015-10-11 17:10:35 +03:00
Alexander Udalov fe737886cd Drop deprecated K*Function interfaces 2015-10-11 17:10:34 +03:00
Alexander Udalov 8c4d7fdf24 Drop deprecated nested classes from Kotlin metadata annotations 2015-10-11 17:10:33 +03:00
Alexander Udalov 1c229d173e Forget old classes from jet.runtime.typeinfo.*, drop JetValueParameter 2015-10-11 17:10:32 +03:00
Dmitry Petrov 9e546bda27 Support is/as/as? with Function[K]<...> types. 2015-10-06 10:06:27 +03:00
Alexander Udalov 041af28166 Deprecate and don't write KotlinClass$Kind, to be removed later 2015-10-03 00:59:30 +03:00
Alexander Udalov 056bb3f833 Deprecate and don't write KotlinSyntheticClass$Kind, to be removed later 2015-10-03 00:59:28 +03:00
Alexander Udalov 5bb47c8365 Write KotlinInterfaceDefaultImpls annotation to DefaultImpls classes
Instead of KotlinSyntheticClass with kind = TRAIT_IMPL
2015-10-03 00:58:52 +03:00
Dmitry Petrov 06d9ff6a71 KT-9377 Support is-checks for read-only collections
Generate better code for 'as?' with mutable collection types:
use CHECKCAST, do not introduce special intrinsics for safe-as.
2015-10-02 15:17:00 +03:00
Dmitry Petrov e033d093d4 KT-9377 Support is-checks for read-only collections
Reorganize marker interfaces and is/as/as? intrinsics.
2015-10-02 15:17:00 +03:00
Dmitry Petrov 6cb0e5151c KT-9377 Support is-checks for read-only collections
Intrinsics for is/as/as? with mutable Kotlin collections and related types.
2015-10-02 15:17:00 +03:00
Dmitry Petrov 35881198c3 KT-9377 Support is-checks for read-only collections
Marker interfaces for mutable Kotlin collections and related classes.
2015-10-02 15:17:00 +03:00
Alexander Udalov 6a8d0fbd75 Introduce infrastructure to separate string table from metadata on JVM
Nothing especially helpful happens here, this is only a big refactoring
introducing a separate string array for the string table, which is currently
always empty, but will contain actual strings soon
2015-09-29 16:26:27 +03:00
Alexander Udalov 5fe958f034 Add target TYPE to JVM metadata annotations 2015-09-29 16:26:26 +03:00
Yan Zhulanow 1139a8dd0e Mark builtins and stblib functions with 'operator' 2015-09-25 19:20:18 +03:00
Dmitry Petrov 5cdbdfc2cc - Annotate package facades with java.lang.Deprecated.
- Provide KotlinDelegatedMethod annotation on package facade members.
2015-09-23 17:41:12 +03:00
Denis Zharkov 9c4564a5a6 Get rid of deprecated annotations and modifiers in project code 2015-09-18 09:34:27 +03:00
Mikhail Glukhikh b4399b8b8b AnnotationTarget.CLASSIFIER and KotlinTarget.CLASSIFIER both dropped (second step) 2015-09-14 12:51:11 +03:00
Alexander Udalov 6cecc66d10 Improve ABI version from one number to "major.minor.patch" 2015-09-11 19:28:46 +03:00
Dmitry Petrov cd341e957e Cleanup after review
+ stub builder test for multifile class
2015-09-09 19:08:19 +03:00
Dmitry Petrov a00346a141 MultifileClassCodegen
- initial implementation
- new Kotlin file kinds + stub builder
2015-09-09 19:08:17 +03:00
Dmitry Petrov e050ff3271 Generate ex-package parts as file facades.
Support new facade kind in stub building and incremental compilation.
2015-09-07 16:28:52 +03:00
Michael Bogdanov e83ec1017b Reflection support 2015-09-07 16:28:51 +03:00
Mikhail Glukhikh 8f7b29f80a Annotation rename: target --> @Target 2015-09-07 13:42:26 +03:00
Yan Zhulanow 4ca127ecb3 Create custom exception for lateinit 2015-09-05 00:54:20 +03:00
Mikhail Glukhikh eab288bdd7 annotation() now has no arguments. Syntax migration to Retention / Repeatable / MustBeDocumented combination
Deprecated test for annotation(params) completion deleted. A lot of tests changed.
2015-09-04 19:21:12 +03:00
Alexander Udalov df935f5bb7 Support reflection on lambdas and function expressions
Write a special annotation containing the bytes for the Callable protobuf
message and deserialize it at runtime properly

 #KT-9005 Fixed
2015-09-03 21:43:58 +03:00
Alexander Udalov f1a75508d3 Optimize non-generic CollectionToArray.toArray for empty collection 2015-09-03 14:52:24 +03:00
Alexander Udalov 593937d302 Support KCallable.callBy with map of parameters to arguments
callBy is able to handle optional parameters.

 #KT-8827 Fixed
2015-08-29 18:37:40 +03:00
Alexander Udalov 94d45f35d4 Support KClass.nestedClasses 2015-08-29 17:59:45 +03:00
Alexander Udalov 9f7cb752db Minor, rename KCallableContainerImpl -> KDeclarationContainerImpl
Also rename DeclarationContainerImpl -> ClassBasedDeclarationContainer and make
non-public
2015-08-24 01:29:57 +03:00
Mikhail Glukhikh bd3b5690a2 Standard annotations: must be documented 2015-08-05 18:32:12 +03:00
Alexander Udalov 6878453d44 Support KClass.objectInstance for objects and companion objects 2015-08-03 23:33:21 +03:00