Commit Graph

2155 Commits

Author SHA1 Message Date
Denis Zharkov 89ded4ab1d Implement hack to support both remove() and removeAt() in MutableList<Int>
Also add couple of tests about CharSequence.get
2015-10-11 19:57:22 +03:00
Denis Zharkov 742a538aed Support loading builtin methods from Java with different names 2015-10-11 19:57:22 +03:00
Denis Zharkov 3f5498e9f5 Transform some builtin methods
1. CharSequence.charAt -> get
2. ML.remove(Int) -> removeAt,
3. MC.remove(Any?) -> MC.remove(E)
2015-10-11 19:57:21 +03:00
Denis Zharkov a98d1e1e55 Minor. Convert some properties to functions 2015-10-11 19:57:08 +03:00
Alexander Udalov 9d626ef1d9 Rename KotlinCallable annotation to KotlinFunction 2015-10-11 17:10:40 +03:00
Alexander Udalov d4320b43fa Delete useless class, simplify reading class visitor 2015-10-11 17:10:38 +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 790c59d9e5 Increase ABI & stub version
See previous commits for motivation
2015-10-11 17:10:36 +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 a4732b442d Don't create KClass and KPackage instances in <clinit>
This proved to be a fragile technique, which probably doesn't even improve
performance in most cases but has lots of unexpected problems: unconditional
initialization of reflection classes, increasing the size of the bytecode, bugs
with <clinit> in annotations on JVM 6, inability to support conversion of a
class from Kotlin to Java without recompiling clients which use it
reflectively, etc.
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
Alexander Udalov e3a5590eb7 Simplify FQ name check in ReflectionTypes
Fix EA-73058
2015-10-11 17:10:32 +03:00
Alexander Udalov 934ffed944 Don't write field signatures when not necessary 2015-10-11 17:10:30 +03:00
Alexander Udalov 864926ee2e Don't always write JVM method signatures to metadata
When the trivial type mapping (implemented in JvmProtoBufUtil) from
ProtoBuf.Type instances works fine, don't write the signature since it can be
loaded by exactly the same trivial type mapping
2015-10-11 17:10:30 +03:00
Alexander Udalov 3506a9615e Don't write default values of flags, provide sensible defaults 2015-10-11 17:10:28 +03:00
Alexander Udalov e58677b8fe Do not fail on unknown visibilities, modalities, etc in deserialization
Provide some sensible defaults like "private", "final", "class" instead, which
will give us a small possibility to not break the format if a new
modality/visibility/... is introduced in the case when the old compiler may
safely consider it as the default one
2015-10-11 17:10:28 +03:00
Alexander Udalov 2e10d21e3f Minor, rename LATE_INIT -> IS_LATEINIT, INNER -> IS_INNER 2015-10-11 17:10:27 +03:00
Alexander Udalov aa95375029 Fix incorrect copy-paste during proto messages refactoring
Annotations on properties should be loaded not when the message is Property
(this happens for getters/setters as well), but when the kind is explicitly set
to PROPERTY. Also restore construction of JVM signatures for constructors
2015-10-11 17:10:26 +03:00
Alexander Udalov e4efa27b76 Drop Callable and primary/secondary constructor proto messages 2015-10-11 17:10:26 +03:00
Alexander Udalov a44f74ea20 Load new proto messages for constructors 2015-10-11 17:10:24 +03:00
Alexander Udalov 9bf0502a31 Load new proto messages for functions and properties 2015-10-11 17:10:24 +03:00
Denis Zharkov cfc9d19825 Transform Collection.isEmpty and Map.Entry.key/value to properties 2015-10-10 12:29:14 +03:00
Denis Zharkov ad68378836 Support loading methods from Java as common properties overrides 2015-10-10 12:29:14 +03:00
Yan Zhulanow ed5c059cea Rename unary plus() and minus() to unaryPlus() and unaryMinus() 2015-10-09 22:49:17 +03:00
Yan Zhulanow 1f2b4e20fe Replace get() and set() to getValue() and setValue() (property delegates) 2015-10-09 22:49:16 +03:00
Valentin Kipyatkov 7b2d63cfb9 Added infix modifier 2015-10-09 16:42:07 +03:00
Michael Bogdanov a3e0205aec JvmAbi increased 2015-10-09 16:25:19 +03:00
Michael Bogdanov 60d1736b97 Instance field generation in objects 2015-10-09 16:25:16 +03:00
Michael Bogdanov 53ced57c42 Annotations.EMPTY replaced with Annotations.Companion.getEMPTY() in java classes 2015-10-09 16:25:15 +03:00
Michael Bogdanov 12afbffb09 Copy to interface just companion object public const properties 2015-10-09 16:25:15 +03:00
Michael Bogdanov a9aa2bc147 Interface companion object backing fields become static 2015-10-09 16:25:14 +03:00
Zalim Bashorov e9b138557b Report error when try to access to static field which come from many sources 2015-10-09 15:00:59 +03:00
Denis Zharkov da00ddfc3e Filter out UnsafeVariance annotation when it sticks after substitution 2015-10-09 14:40:34 +03:00
Denis Zharkov 80da320c2c Customize JVM signature for Collection's members
- Do not write signature for `contains`
- Write signature for `containsAll` as it's declared like `containsAll(Collection<?>)`
2015-10-09 14:40:33 +03:00
Denis Zharkov 1f52dfccdb Setup specific loading contains/containsAll from java
If they override Kotlin collection members

contains(Object) -> contains(E)
containsAll(Collection<?>) -> containsAll(Collection<E>)
2015-10-09 14:40:33 +03:00
Denis Zharkov d27d3950fb Refine signature for Collection.contains/containsAll 2015-10-09 14:40:33 +03:00
Denis Zharkov 521e958f6d Serialize type annotations in builtins 2015-10-09 14:40:33 +03:00
Denis Zharkov e800be18c6 Introduce UnsafeVariance annotation 2015-10-09 14:40:33 +03:00
Svetlana Isakova f2efd30a5d Added 'NoInfer' and 'Exact' annotations 2015-10-09 11:05:52 +03:00
Zalim Bashorov ae2831338b Load Java static members from parents 2015-10-08 19:33:29 +03:00
Yan Zhulanow d90585624f Add 'DeprecationLevel' parameter to 'Deprecated' 2015-10-08 18:31:08 +03:00
Yan Zhulanow 937d1913b8 Automatically put 'operator' modifier on appropriate Java methods 2015-10-08 18:31:07 +03:00
Yan Zhulanow 9eeb89a6aa Rename sparam to setparam 2015-10-08 18:31:06 +03:00
Alexey Sedunov 730cc7b551 Code insight: "Generate..." actions for test framework support methods
#KT-9355 Fixed
2015-10-08 13:15:18 +03:00
Valentin Kipyatkov f27d24e640 Parameter info to use resolve candidates instead of ReferenceVariantsHelper
#KT-6164 Fixed
 #KT-8931 Fixed
2015-10-07 23:09:51 +03:00
Ilya Gorbunov 17fc1d9562 Do not sort twice 2015-10-07 22:36:50 +03:00
Ilya Gorbunov 90e5ee8a7e Replace KotlinPackage legacy facade with corresponding package parts. 2015-10-07 22:36:29 +03:00