Commit Graph

23596 Commits

Author SHA1 Message Date
Valentin Kipyatkov e894a04ce6 Code refactoring 2015-06-25 21:58:16 +02:00
Valentin Kipyatkov 57ff2be9b9 Simplified code by introducing one more option in LookupElementFactor 2015-06-25 21:58:15 +02:00
Valentin Kipyatkov 73fd4ad57f Fixed small inconsistency in presentation for nested classes 2015-06-25 21:58:15 +02:00
Valentin Kipyatkov 01e56dc571 Fixed test data 2015-06-25 21:58:15 +02:00
Valentin Kipyatkov c5f0fbf327 Replaced JetScopeUtils.getResolutionScope() with more correct utility 2015-06-25 21:58:15 +02:00
Valentin Kipyatkov 776d198ea5 Disabled parameter name&type completion for annotation type constructor 2015-06-25 21:57:15 +02:00
Valentin Kipyatkov 0ab155d61d Rename 2015-06-25 21:57:15 +02:00
Valentin Kipyatkov 75a260a366 Restarting completion when new suggestions may appear 2015-06-25 21:57:15 +02:00
Valentin Kipyatkov fa588ace57 Fixed icons for java and compiled classes broken before 2015-06-25 21:57:14 +02:00
Valentin Kipyatkov ecbc7ba5b6 Parameter name completion allows user prefix part in the name + more strict prefix matcher used 2015-06-25 21:57:14 +02:00
Valentin Kipyatkov d95c44f838 Minor 2015-06-25 21:57:14 +02:00
Valentin Kipyatkov 1011a59884 Don't detect isDeprecated twice 2015-06-25 21:57:14 +02:00
Valentin Kipyatkov 8520235934 Fixed deprecated ordering and quick doc for java and compiled classes in completion 2015-06-25 21:57:14 +02:00
Valentin Kipyatkov 53688d061a Fixed name suggestions for types with abbreviations like "URL" 2015-06-25 21:57:13 +02:00
Valentin Kipyatkov 84ba634c3e Parameter names from current file get higher priority + number of occurrences matters 2015-06-25 21:57:13 +02:00
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