Commit Graph

6173 Commits

Author SHA1 Message Date
Alexey Sedunov fa4e4cbb42 Formatter: Insert new line before/after type alias
#KT-20766 Fixed
2017-10-24 15:43:51 +03:00
Mikhail Glukhikh d0e8f99d60 ResolveElementCache: script can now be analyzable parent
So #KT-20096 Fixed
2017-10-23 19:19:04 +03:00
shiraji 31a1fb916a Implement an intention action to move a companion object member to top level
#KT-18828 Fixed

(cherry picked from commit 11f8f8b)
2017-10-23 17:29:28 +03:00
Toshiaki Kameyama e76d8bc793 "Convert object literal to class" should create inner class if necessary #KT-20091 Fixed 2017-10-23 15:02:51 +03:00
Mikhail Glukhikh 739b21f519 Introduce "add missing actual members" quick-fix #KT-18449 Fixed 2017-10-20 17:24:19 +03:00
Toshiaki Kameyama fa03632197 Convert lambda to reference: handle named arguments more precisely
For trailing lambda intention inserts parameter names for all arguments
if at least one argument used default value.
Otherwise it just keeps existing named arguments.

So #KT-20349 Fixed
2017-10-20 13:57:58 +03:00
Kirill Rakhman 4c4427c280 Replace return@forEach with continue in ConvertForEachToForLoopIntention
So #KT-17332 Fixed
2017-10-20 13:44:31 +03:00
Alexey Sedunov e65adeb029 Misc: Fix quickfix test data 2017-10-18 18:17:50 +03:00
Alexey Sedunov d6ee9c9068 Misc: Update member hierarchy test data to include new stdlib classes 2017-10-18 18:17:50 +03:00
Alexey Sedunov 83b10403d7 Misc: Drop test for implementing abstract members in expect-class
The "not implemented" error is not reported for such classes, so
quick fix is not available anymore (see KT-16099)
2017-10-18 18:17:50 +03:00
Alexey Sedunov 997aa12bcc Misc: Update configuration test data 2017-10-18 18:17:50 +03:00
Yan Zhulanow 43a1162b25 Evaluate: Fix for evaluating local variables captured by an inline function (KT-17514) 2017-10-16 21:25:44 +03:00
Mikhail Glukhikh eba2fdfe89 Fix inline test 2017-10-16 21:06:18 +03:00
Alexey Sedunov 25b6dac7b5 Introduce Type Alias: Don't change non-nullable type to nullable alias
#KT-15840 Fixed
2017-10-16 16:04:39 +03:00
Alexey Sedunov 1c3a3cd651 Introduce Parameter: Forbid inside of default values 2017-10-16 16:04:39 +03:00
Alexey Sedunov 790b615fa1 Introduce Parameter: Fix parameter name validation
Respect existing parameter names and fix some exceptions

 #KT-19439 Fixed
 #KT-20402 Fixed
 #KT-20403 Fixed
2017-10-16 16:04:39 +03:00
Alexey Sedunov bf3769f37e Introduce Parameter: Forbid inside of annotation entries
#KT-18594 Fixed
2017-10-16 16:04:38 +03:00
Alexey Sedunov e2fd9a71df Rename: Search text occurrences by declaration FQ name
#KT-17949 Fixed
 #KT-15932 Fixed
2017-10-16 16:04:38 +03:00
Mikhael Bogdanov 232d1bd9ef Switch warning to error for java-default method calls within 1.6 target
#KT-15825 Fixed

(cherry picked from commit 9b29ebb)
2017-10-11 19:20:24 +03:00
Dmitry Savvinov 87b85ce978 Fix testdata for tests which use varargs
Change tests to use new syntax for array literals to prevent deprecation
warnings (see KT-20171).
2017-10-11 18:06:00 +03:00
Mikhail Zarechenskiy 88595e1a58 Don't require to override abstract methods in expect class
#KT-16099 Fixed
2017-10-11 15:27:50 +03:00
Dmitry Savvinov 2c0ef592e6 Effects: add DSL for declaration of contracts
- Introduce DSL for declaration of contracts. Functions and classes in
this DSL do not bear any computational semantics: in fact, they all do
not exist on runtime. Whole work of extracting semantics from such calls
is done by special parts of compiler

- To make distinguishing those declarations more robust and
convenient, introduce internal annotation @ContractsDSL

- Turn off InlineChecker inside contracts DSL. We do this, because some
functions from DSL should take any possible lambda, so we can't write
any type besides 'Function<R>'. However, InlineChecker will complain if
we will pass inlined lambda in such function -- though, this is false
positive because we know that functions from contracts DSL will never be
executed

- Change testData on HierarchyTestWithLib, where new enum from
kotlin.internal changed expected output

==========
Effect System introduction: 7/18
2017-10-11 13:34:54 +03:00
Dmitry Jemerov c2efdfe243 Add space before 'where' keyword
#KT-19213 Fixed
2017-10-11 12:25:53 +02:00
Mikhail Glukhikh e37bfa13e3 Related to KT-20713: add test for find usages in script 2017-10-10 22:48:42 +03:00
Mikhail Glukhikh c5cb45794a Fix CCE in ReplaceAddWithPlusAssignIntention #KT-20183 Fixed 2017-10-10 22:48:39 +03:00
Mikhail Glukhikh 45c9be2945 Fix problem with mutable map in "simplifiable call chain"
So #KT-20315 Fixed
2017-10-10 22:48:35 +03:00
Mikhail Glukhikh 8e59d3e379 Handle modifiers correctly in "val to object" #KT-18919 Fixed 2017-10-10 22:48:33 +03:00
Mikhail Glukhikh 0b5b5d8e89 Suggest primitive array type for collection literals in "add type" fix
So #KT-18549 Fixed
2017-10-10 22:48:30 +03:00
Nikolay Krasko 6664b7759b Configure kotlin.stdlib for gradle projects (KT-19207)
#KT-19207 Fixed
2017-10-10 16:29:22 +03:00
Nikolay Krasko 023067aaf2 Allow to use folders for gradle configuration tests 2017-10-10 16:29:22 +03:00
Alexey Sedunov ea8f3dcc65 Go to Implementation: Support suspend functions 2017-10-10 13:15:16 +03:00
Alexey Sedunov 21bf4d3f24 Rename: Suspend function support 2017-10-10 13:15:15 +03:00
Toshiaki Kameyama c5b7d0f0df Remove parentheses after deleting the last unused constructor parameter
So #KT-16636 Fixed
2017-10-10 11:55:27 +03:00
Mikhail Glukhikh 1bf0424b1c Set line marker on expect constructor '(' if no constructor keyword 2017-10-10 10:44:51 +03:00
Mikhail Glukhikh 4bfaa46c15 Add correct mapping of module descriptor to implementedDescriptor
Now implements dependency is taken into account here
Old commonModuleOrNull() was deleted
Test (JVM + 2xCommon) was added
2017-10-10 10:44:44 +03:00
Mikhail Glukhikh b5e2fa5f94 Add line marker test for type aliases #KT-20164 Fixed 2017-10-10 10:44:39 +03:00
Mikhail Glukhikh eec8be2c21 Add line marker test for primary constructors #KT-20254 Fixed 2017-10-10 10:44:38 +03:00
Mikhail Glukhikh 0ebe9d576a Add line marker test for sealed classes #KT-20043 Fixed 2017-10-10 10:44:36 +03:00
Mikhail Glukhikh 4e56fda439 Introduce isExpect/ActualDeclaration in KotlinLineMarkerProvider
Treat every member of expect declaration as expect declaration itself
So #KT-18455 Fixed
2017-10-10 10:44:35 +03:00
Mikhail Glukhikh ceab148b09 Expect/actual markers: handle secondary constructors correctly
So #KT-20309 Fixed
2017-10-10 10:44:33 +03:00
Kirill Rakhman 91c35a6c59 Support listOfNotNull in SimplifiableCallChainInspection #KT-20410 Fixed 2017-10-09 16:38:52 +03:00
Toshiaki Kameyama ec64a7e422 Insert brackets in "Convert reference to lambda" if necessary
So #KT-16394 Fixed
2017-10-06 16:20:45 +03:00
Toshiaki Kameyama bbb571260b Fix 'Redundant override' when delegated member hides super type override
So #KT-20231 Fixed
2017-10-06 14:58:15 +03:00
Mikhail Glukhikh 8a3fed15f8 Report NO_ACTUAL_FOR_EXPECT etc. on relevant declaration
So #KT-20398 Fixed
2017-10-06 10:48:34 +03:00
Mikhail Glukhikh aff689afba Allow "create actual" for function even if partially-compatible exists
So #KT-20163 Fixed
2017-10-05 15:28:37 +03:00
Mikhail Glukhikh e8321be380 Handle interface / abstract members correctly in "Create actual" fix
So #KT-20243 Fixed
2017-10-05 15:28:33 +03:00
Mikhail Glukhikh fe786ad7f3 Set primary constructor and its properties actual in "create actual"
So #KT-20044 Fixed
2017-10-05 15:28:30 +03:00
Mikhail Glukhikh d85c2dbe1f Specify relevant declaration type in "create actual" fix #KT-20325 Fixed 2017-10-05 15:28:28 +03:00
Mikhail Glukhikh 93109c0d0e Generate actual keyword for secondary constructors #KT-20008 Fixed 2017-10-05 15:28:25 +03:00
Mikhail Glukhikh 1e79d9791d Generate actual nested classes for actual owner class #KT-19937 Fixed 2017-10-05 15:28:22 +03:00