Commit Graph

23581 Commits

Author SHA1 Message Date
Valentin Kipyatkov c6fd04dcac No duplication for parameter name/types from current file and from classes 2015-06-25 21:57:13 +02:00
Valentin Kipyatkov ce6668b5ba Fixed class names shortening 2015-06-25 21:57:13 +02:00
Valentin Kipyatkov 55e9a3b851 Refactored createLookupElementForType changing rendering for function types 2015-06-25 21:57:13 +02:00
Valentin Kipyatkov 17500cef98 Completion of parameter name/types from the current file 2015-06-25 21:57:13 +02:00
Valentin Kipyatkov 22ad1389f5 Parameter name completion: no insertion on just typing 2015-06-25 21:57:12 +02:00
Valentin Kipyatkov c0126b08c3 Parameter name completion: added more tests for ordering 2015-06-25 21:57:12 +02:00
Valentin Kipyatkov 437478e694 Parameter name completion: suppressed auto-insertion 2015-06-25 21:57:12 +02:00
Valentin Kipyatkov 6478c7d460 Ordering of parameter name suggestions by type relevance 2015-06-25 21:57:12 +02:00
Valentin Kipyatkov e2991b1412 Disabled parameter name completion where it makes no sense 2015-06-25 21:57:12 +02:00
Valentin Kipyatkov 0e045b9478 Completion of parameter name+type works for val/var parameters 2015-06-25 21:57:11 +02:00
Valentin Kipyatkov 0e4ac7108a Completion: fixed insertion of java class names that require escaping 2015-06-25 21:57:11 +02:00
Valentin Kipyatkov 8210d3091f Initial implementation of KT-6427 Completion to use Java name suggestion to complete function parameters
(+ filtered out synthetic Kotlin classes from completion)
2015-06-25 21:57:11 +02:00
Valentin Kipyatkov e0f1bde20a Renames 2015-06-25 21:57:11 +02:00
Dmitry Jemerov c91a359fea run Kotlin library configurator with alternative resolve enabled 2015-06-25 21:30:50 +02:00
Mikhail Glukhikh 4d895a4c31 Sealed classes: extra java against kotlin tests, together with an implementation of Java diagnostics inside these tests 2015-06-25 19:07:26 +03:00
Mikhail Glukhikh 6e2395471d Sealed code generation: sealed is considered abstract, correct serialization
A pair of tests provided.
2015-06-25 19:07:23 +03:00
Mikhail Glukhikh 4d2ba3e890 Sealed constructors are made private in front-end, tests changed accordingly 2015-06-25 19:07:20 +03:00
Mikhail Glukhikh 4517e15299 Minor refactoring of resolveDelegationSpecifierList 2015-06-25 19:07:18 +03:00
Mikhail Glukhikh f6872dfbea Exhaustive when support for sealed classes #KT-7606 Fixed
When on sealed can use is (both for derived classes and objects) or just comparison (only for derived objects).
A pack of tests provided.
2015-06-25 19:07:16 +03:00
Mikhail Glukhikh 8d25c20169 Introduction of sealed classes
Sealed classes can be derived only by their own inner classes or objects.
Their constructors cannot be called explicitly, so compiler knows all their descendants.
Incompatible modifier checks (final, abstract). Impossible with interface, object, enum.
A pack of tests provided.
2015-06-25 19:07:13 +03:00
Mikhail Glukhikh 2dea17a3a9 Final specification for sealed class hierarchies, additional words about sealed when optimization 2015-06-25 19:07:10 +03:00
Andrey Breslav de876a8c26 Create sealed-hierarchies-and-when.md 2015-06-25 19:07:08 +03:00
dnpetrov f364d23ee9 KT-5347 VerifyError on local data class with closure
- generated copy() should push captured fields on stack
- refactor context lookup
- handle vars in local classes using instance fields

 #KT-5347 Fixed
2015-06-25 17:52:30 +03:00
dnpetrov c24e6b5698 Support 'break' and 'continue' in expressions
- generate fake jump instructions so that we can always analyze stack depths
- fix stack before break and continue by dropping excessive elements (e.g., *a*.foo(*b*, c?:continue))
- Analyzer rewritten in Kotlin, with more flexible control of CFG traversal

 #Fixed KT-3340
 #Fixed KT-4258
 #Fixed KT-7941
2015-06-25 17:40:55 +03:00
Nikolay Krasko d937f385cd Copy libraries to {project.dir}/lib folder by default (KT-8231)
#KT-8231 Fixed
2015-06-25 13:50:32 +03:00
Nikolay Krasko a98468e829 Test for KT-5326
#KT-5326 Obsolete
2015-06-25 13:50:14 +03:00
Ilya Gorbunov d20d8e2106 2nd stage of replaceFirst semantics change: remove deprecated String.replaceFirst(String), rename replaceFirstLiteral to replaceFirst. 2015-06-24 21:48:09 +03:00
Ilya Gorbunov 249106647c 2nd stage of split semantics change: remove deprecated String.split(String), rename splitBy back to split. Provide replacement for splitBy and splitWithRegex (JS). 2015-06-24 21:48:07 +03:00
Ilya Gorbunov 9caf5baf34 Refactor delegation unit tests. 2015-06-24 21:39:41 +03:00
Ilya Gorbunov d04e94c826 Use NoSuchElementException instead of KeyMissingException. Deprecate KeyMissingException. 2015-06-24 21:39:40 +03:00
Ilya Gorbunov 9c7992abbb Use getOrElse in MapVal.get 2015-06-24 21:39:38 +03:00
Ilya Gorbunov a6b7857d57 Drop complicated MapAccessors. Deprecate simple cases of Delegates.mapVar and Delegates.mapVal in favor of direct delegation without wrappers. 2015-06-24 21:39:37 +03:00
Ilya Gorbunov d2feefbf3a Document map delegation accessors and withDefault functionality. 2015-06-24 21:39:36 +03:00
Ilya Gorbunov 2f8a431a79 Change getOrElse and getOrPut implementations so that double lookup is made when map doesn't contain value, rather when does. 2015-06-24 21:39:34 +03:00
Ilya Gorbunov 5306e88425 Provide the way to specify implicit default for a readonly or mutable map.
Refactor: rename default key and value providers.
2015-06-24 21:39:33 +03:00
Ilya Gorbunov d137a83471 Simple extensions to delegate readonly property to Map and read-write property to MutableMap without delegate wrappers.
Delegation to map with custom key selector by map accessors.
2015-06-24 21:39:31 +03:00
Ilya Gorbunov 2989586582 Change Lazy from an interface to an abstract class with internal constructor to prevent implementations violating its contract. 2015-06-24 21:39:30 +03:00
Evgeny Gerashchenko 55dad40650 Added reflect.jar as dependency for proguard. Fixed build. 2015-06-24 20:51:17 +03:00
Evgeny Gerashchenko 041df7fd15 Made it possible to easily enable debug logging in incremental compilation tests. 2015-06-24 18:01:51 +03:00
Evgeny Gerashchenko 23eab73507 Added extra logging in incremental cache and Kotlin Builder. 2015-06-24 18:01:51 +03:00
Mikhail Glukhikh 5fabb962ae Private constructors are now accessed via synthetic constructor with DEFAULT_CONSTRUCTOR_MARKER as an additional argument #KT-6299 Fixed
A set of tests provided. Some external tests fixed accordingly.
Companion object creation changed accordingly.
Derived classes now can use base class with the private constructor.
Refactoring of AccessorForFunctionDescriptor.
2015-06-24 12:30:11 +03:00
Mikhail Glukhikh 83ce674a37 Warning message changed #KT-8143 Fixed 2015-06-24 12:30:08 +03:00
Michael Bogdanov 9ef00f0621 Code clean 2015-06-24 09:48:56 +03:00
Michael Bogdanov b1c5002889 Remove finally marker at inlining 2015-06-24 09:48:55 +03:00
Michael Bogdanov a018e4e12a Updated exception table generation: support new exception table in non-local returns 2015-06-24 09:48:55 +03:00
Michael Bogdanov 93c5a52d13 Updated exception table generation: try block return moved to uncatched interval
#KT-8148 Fixed
2015-06-24 09:48:55 +03:00
Michael Bogdanov 11ab2148b2 Fixed scipt execution classpath 2015-06-24 09:48:55 +03:00
Michael Nedzelsky 71729031c1 fix maven build 2015-06-24 01:35:25 +03:00
Alexander Udalov 0593b833b5 Check extension receiver properly for property references
Without this, the unrelated type specified on the LHS of a property reference
literal was considered to be an extension receiver of the candidate, and the
resolution was erroneously successul. This is only reproducible for properties,
because if we're trying to resolve an extension, we consider all properties
from the scope, even non-extensions, because there may be a property of an
extension-functional type (T.() -> R). (We don't do this for functions.)

 #KT-7430 Fixed
 #KT-7945 Fixed
2015-06-23 23:35:17 +03:00
Natalia Ukhorskaya 25210c0c18 Merge pull request #707 from JetBrains/rr/yole/run-configurations
add missing UI for specifying alternative JRE path to Kotlin run configuration
2015-06-23 19:06:28 +03:00