Commit Graph

1637 Commits

Author SHA1 Message Date
Natalia Ukhorskaya 0fbcfddf4a Gradle: debug message prefix added 2015-05-27 10:20:09 +03:00
Ilya Gorbunov 5f319e69d8 Restore String.split(String, Int) overload and make it deprecated. 2015-05-27 00:36:30 +03:00
Ilya Gorbunov 310666a617 Deprecate times method taking integer and function. Provide top-level repeat method instead.
#KT-7074 Fixed.
2015-05-26 23:23:37 +03:00
Ilya Gorbunov 45c82f2844 map(): Take into account size of collection being transformed when allocating ArrayList.
#KT-7832 Fixed.
2015-05-26 23:23:36 +03:00
Ilya Gorbunov c9afb407f1 Provide isNotEmpty() extension function for Maps. 2015-05-26 23:23:34 +03:00
Ilya Gorbunov 01a0348685 Remove deprecated size property usage from generated code. 2015-05-26 23:23:32 +03:00
Alexander Udalov 48b18f18d3 Restore explicit imports of Kotlin function types in Java
This is a follow-up to 738a84e259 and
d4965a4f3e. Optimize imports in all files
affected in those commits, drop temporary _.kt
2015-05-26 18:46:27 +03:00
Alexander Udalov 49004a8b8e Conform functions to extension functions and vice versa
#KT-5989 Fixed
2015-05-26 15:04:56 +03:00
Alexander Udalov 738a84e259 Temporary hack to migrate functions to package kotlin.jvm.functions
Add a file in package 'kotlin.jvm.functions' to the project and replace
explicit imports of functions 'kotlin.Function{n}' to two imports 'kotlin.*'
and 'kotlin.jvm.functions.*', so that the codebase can be compiled both by the
old and by the new compiler
2015-05-26 15:04:34 +03:00
Alexander Udalov 45c28abfee Keep built-in metadata for reflection interfaces
Reflection interfaces (interfaces in kotlin.reflect.* in core/builtins/) are
now fully considered as built-ins and can be accessed via KotlinBuiltIns. This
increases runtime size by ~20kb, but only because KotlinBuiltIns is static and
is therefore constructed only via resource loading from the compiler classpath
at the moment. As soon as it's possible to inject KotlinBuiltIns to the
particular resolution process, the metadata on JVM will be loaded via standard
annotation mechanism (kotlin.jvm.internal.KotlinClass/KotlinPackage) and wasted
runtime space will be reclaimed
2015-05-26 14:27:38 +03:00
Ilya Gorbunov 1cf4a407d1 JS: Provide MIN_VALUE and MAX_VALUE member constants for Double and Float companion objects.
JVM: Make MIN_VALUE and MAX_VALUE not an extension but member constant properties of Double and Float companion objects.
2015-05-26 00:26:19 +03:00
Sergey Mashkov fe26bd22f0 JS stubs: add URL specification 2015-05-25 14:55:47 +03:00
Sergey Mashkov 07a3233569 JS stubs: add CSSOM view specification and GEOMETRY spec 2015-05-25 12:36:42 +03:00
Ilya Gorbunov 4fd1b46e91 Refactor JS tests: unified package name, test JS specific map implementations only in JS.
Add required files to build StdLibTestToJSTest.
Remove tests StdLibMapJsTest and StdLibSetJsTest because they are tested elsewhere.
2015-05-24 05:07:01 +03:00
Ilya Gorbunov c95ba4da8e Tests for specialized primitive implementations of sets and maps in JS. 2015-05-24 05:06:51 +03:00
Ilya Gorbunov ebe578dbc5 Tests to ensure the behavior of the specialized empty List, Set, Map implementations is same as of non-specialized ones. 2015-05-24 05:03:46 +03:00
Ilya Gorbunov edc471c8ec Optimize the implementation of emptyList, emptySet and emptyMap and make them serializable.
Specialized implementations of singleton List, Set and Map are used in JVM.

#KT-6682 Fixed
#KT-7104 Fixed
#KT-4840 Fixed
2015-05-24 05:03:36 +03:00
Ilya Gorbunov 0efaedd32c Rename files to avoid having identically named files in the same package, which sometimes may confuse debugger. 2015-05-22 18:08:28 +03:00
Ilya Gorbunov 33f5158170 Fix deprecated replaceAll and replaceFirst usages in stdlib tests and tools. 2015-05-22 16:13:55 +03:00
Ilya Gorbunov 36fb5b3c49 Use platform independent way to split output to lines. 2015-05-22 16:12:07 +03:00
Ilya Gorbunov 6516c74a1a Revert back 2nd stage of split semantics change and restore deprecated String.split(String). 2015-05-21 23:13:16 +03:00
Yan Zhulanow 89d3a4b623 Move AnnotationProcessingManager to main kotlin-gradle-plugin 2015-05-21 15:48:30 +03:00
Yan Zhulanow 6de79f46e4 More kotlin-annotation-processing parsing tests 2015-05-21 15:48:29 +03:00
Yan Zhulanow 07214c4f35 Platform-agnostic text compare in kotlin-annotation-processing 2015-05-21 15:48:27 +03:00
Yan Zhulanow 692e396ffd Support constructors in kapt wrapper 2015-05-21 15:48:26 +03:00
Yan Zhulanow 62a1f8edf3 Rename kotlinApt/ directories to kapt/ 2015-05-21 15:48:25 +03:00
Yan Zhulanow c414c598ca Minor: fixes in KotlinAnnotationProvider (APT wrapper) 2015-05-21 15:48:24 +03:00
Yan Zhulanow d2e256f470 Output annotation processor fqName if the processor can't be initialized 2015-05-21 15:48:24 +03:00
Yan Zhulanow 0363b6b911 Warn if the generated source destination (for APT) was modified 2015-05-21 15:48:23 +03:00
Yan Zhulanow 7a2f3bf1ea Replace all dollar signs in class name with . (temporary workaround) 2015-05-21 15:48:22 +03:00
Yan Zhulanow 01a097dae7 Annotations file name change: annotations.txt -> annotations.kotlin.txt 2015-05-21 15:48:20 +03:00
Yan Zhulanow fdc183e3af Apt working dir is now outside the Kotlin classes directory 2015-05-21 15:48:19 +03:00
Yan Zhulanow d93508f4d3 APT: Support non-Android Java projects in Gradle 2015-05-21 15:48:18 +03:00
Yan Zhulanow 80762f99bb Catch UnknownPropertyException properly 2015-05-21 15:48:17 +03:00
Yan Zhulanow 297f2d0669 Add annotation file parse tests in AP wrapper 2015-05-21 15:48:16 +03:00
Yan Zhulanow 803bfd6097 Add kotlin-annotation-processing dependency automatically in kotlinApt configurations 2015-05-21 15:48:15 +03:00
Yan Zhulanow 964e57a8f8 Add annotation processor wrapper as a Maven artifact 2015-05-21 15:48:14 +03:00
Yan Zhulanow c6e11949b8 Support Android source sets in annotation processing 2015-05-21 15:48:11 +03:00
Yan Zhulanow 905eb01044 Annotation processor wrapper fqName changed 2015-05-21 15:48:10 +03:00
Yan Zhulanow 3e5b24f2a2 Add output dir for generated sources 2015-05-21 15:48:09 +03:00
Yan Zhulanow ee8f2bbd75 Generate custom annotation class file 2015-05-21 15:48:09 +03:00
Yan Zhulanow 1dd96a3f23 Move APT-related functions to AnnotationProcessingManager 2015-05-21 15:48:08 +03:00
Yan Zhulanow f12531dd6d Initial annotation processing support in Gradle 2015-05-21 15:48:07 +03:00
Michael Nedzelsky 34100fff99 fix maven tests: NoInternalVisibilityInStdLibTest.kt 2015-05-21 02:46:44 +03:00
Michael Nedzelsky d629271510 JS: make -meta-info cli option boolean 2015-05-21 02:30:54 +03:00
Ilya Gorbunov 6a3cb0eff8 Provide distinctBy(keySelector) method for collections and sequences.
Implement distinct() and toMutableSet() for sequences.
Breaking change: distinct() now returns List instead of Set.

#KT-5834 Fixed
#KT-6063 Fixed
2015-05-20 19:28:47 +03:00
Ilya Gorbunov 46d91b2606 Add test for toMap with key selector and value transform. 2015-05-20 19:28:45 +03:00
Ilya Gorbunov 85e637b1e7 Revert toArrayList for primitive arrays back to trivial implementation.
Use newly introduced Int.MAX_VALUE in JS.
Inline mapCapacityForValues function.
Precalculate capacity of linked hash set being created with toMutableSet function.
2015-05-20 19:28:44 +03:00
Danny Thomas 7ce0487b7e Collection performance improvements
Lists

- For arrays, use Arrays.asList, then toArrayList making the list creation an array copy
- For the same reason, use the ArrayList(Collection) constructor
- Replace duplicate code in toList, instead calling toArrayList

Maps/Sets

- Where the size of the source is known, precalculate the capacity, using the formula used by Guava's Maps class
- For toMap where we're unable to get at the private function, use HashSet's formula where the size is known
- Add a toMap that takes a selector and a transform, avoiding a separate step for transforming values
2015-05-20 19:27:44 +03:00
Sergey Mashkov 4695aed993 Replace trait with interfaces in JavaScript stubs 2015-05-20 14:01:03 +03:00