Commit Graph

49582 Commits

Author SHA1 Message Date
Mikhail Zarechenskiy a8abd8cceb Fix boxing/unboxing for generic functions on index expressions
Unsubstituted type should be used for coercion to box value of
 inline class type if it's needed. For the substituted value it's not
 known if it was a generic parameter or not.

 #KT-27502 Fixed
2018-10-12 11:58:56 +03:00
Nikolay Krasko 882a12d916 Exit if it's impossible to create file during copy/past (KT-26210)
#KT-26210 Fixed
2018-10-12 11:48:49 +03:00
Toshiaki Kameyama 749fd5dd80 "Convert property to function" intention: don't suggest if property has @JvmField annotation #KT-27157 Fixed 2018-10-11 21:01:27 +03:00
Toshiaki Kameyama 487b1e96be "Introduce backing property" intention: don't suggest if property has @JvmField annotation #KT-27156 Fixed 2018-10-11 21:00:44 +03:00
Toshiaki Kameyama ca335880eb "Convert property initializer to getter" intention: don't suggest if property has @JvmField annotation #KT-27139 Fixed 2018-10-11 20:59:33 +03:00
Toshiaki Kameyama 3866c85a34 Add accessor intention: don't suggest if property has @JvmField annotation #KT-27139 Fixed 2018-10-11 20:59:33 +03:00
Ilya Gorbunov 27dc160aef Rename Random companion object to Default
#KT-27508
2018-10-11 19:06:12 +03:00
Sergey Igushkin 81b4031a35 Remove internal Gradle API usage for stale output cleanup
BuildOutputCleanupRegistry tracks the all of the outputs that belong to
the Gradle build, so when Gradle runs in an unknown state (e.g. without
any history), it can detect stale outputs in the output directories and
delete them.

Since this is an internal API, its usage is removed. Instead, another
way to tell Gradle that a set of directories belongs to the build is to
add them to the `delete` task targets.
2018-10-11 19:01:53 +03:00
Sergey Igushkin a0f4d5a637 Get rid of FileCollectionInternal usage that breaks with Gradle 5.0+
Remove the implementation of the `FileCollectionInternal` interface in
`KotlinCompilationOutput`. This interface may change unexpectedly (and
does between Gradle 4.10 and 5.0) so we need to get rid of its
implementation.

On the other hand, we can't just implement `FileCollection` instead
because Gradle internally assumes that all `FileCollection` instances
are also `FileCollectionInternal`. So the way to fix this is to remove
`SourceSetOutput` from superinterfaces of `KotlinCompilationOutput`
altogether.

Instead, to work with `SourceSetOutput` and `KotlinCompilationOutput`
in a uniform way, provide a wrapper for `SourceSetOutput`:
`KotlinWithJavaCompilationOutput` that is basically a proxy
class.
2018-10-11 19:01:52 +03:00
Alexey Sedunov 174fd41564 Rename: Restore project scope (fixing failing tests)
It fixes search of usages for some cases where element's useScope()
is not enough (like parameter references in named arguments)
2018-10-11 17:56:27 +03:00
Alexey Sedunov 84d9f8250c Configuration: Ensure facet UI is initialized in apply() call
#KT-27187 Fixed
2018-10-11 17:56:27 +03:00
Alexey Sedunov 3fcf6e7719 Change Signature: Clear callback after the call
Retaining the callback leads to the leak of obsolete resolve data
2018-10-11 17:56:27 +03:00
Alexey Sedunov c3af3cc482 Configuration: Do not use read action during conpiler settings loading
It may lead to deadlock (see KT-27298)

 #KT-27298 Fixed
2018-10-11 17:56:27 +03:00
Alexey Sedunov 26d77183df Misc: Update repository URLs in importer test data 2018-10-11 17:56:27 +03:00
Alexey Sedunov 7553fd2766 Misc: Disable some tests for recent Gradle versions
Old-style MPP doesn't work there due to ExternalProject not being built
2018-10-11 17:56:26 +03:00
Toshiaki Kameyama 061aa63a73 "Make private" intention: fix some false positive cases 2018-10-11 17:20:46 +03:00
Mikhail Glukhikh 7488056249 Use 'canBeInternal' in ChangeVisibilityFix (related to KT-27138) 2018-10-11 17:20:30 +03:00
Toshiaki Kameyama c65e246e02 Make private: don't suggest if property has @JvmField annotation
#KT-27138 Fixed
2018-10-11 17:20:13 +03:00
Mikhail Glukhikh 248e09ff2c Refactoring: ConstantConditionIfInspection
Transform collectFixesAndRegisterProblem to just collectFixes
2018-10-11 17:19:55 +03:00
Toshiaki Kameyama 5c83c247d7 "Simplify comparison": remove if when possible after applying quickfix
#KT-25995 Fixed
2018-10-11 17:19:10 +03:00
Mikhail Glukhikh 688fc386b6 Refactoring: introduce resolve to property descriptor 2018-10-11 17:14:17 +03:00
Mikhail Glukhikh b08f966428 Use kotlin-stdlib instead of kotlin-stdlib-jdk8 in MPP mobile wizard
#KT-27356 Fixed
2018-10-11 17:12:31 +03:00
Mikhail Glukhikh 42888572cb MPP wizards: generate different file names to avoid KT-21186
#KT-27456 Fixed
2018-10-11 17:11:44 +03:00
Anton Bannykh 8852ef9e75 [JS IR BE] fix multimodule 2018-10-11 16:02:21 +03:00
Zalim Bashorov 9041d717a2 [JS IR BE] add IrType.asString that return stable string representation to use it for stringified signatures
`IrType.render` was used before, but it's written for debugging purpose and generates unstable string representation.
2018-10-11 14:54:55 +03:00
Ilmir Usmanov c4d0b5493a Fix NPE in suspension point in monitor call checker
#KT-27484 Fixed
2018-10-11 14:38:34 +03:00
Denis Zharkov 36c73eedbf Minor. Move DslMarkerOnFunctionTypeReceiver entry closer to 1.4 features 2018-10-11 10:23:02 +03:00
Denis Zharkov 75dc8ce1c3 Fix exception in light classes when type alias in MultifileClass
#KT-27355 Fixed
2018-10-11 10:22:09 +03:00
Toshiaki Kameyama dc750cdbb3 Call chain into sequence: add 'unzip' to conversion targets #KT-27486 Fixed 2018-10-11 09:18:30 +03:00
Toshiaki Kameyama 3f252b15e1 Call chain into sequence: add 'flatten' to conversion targets #KT-26969 Fixed 2018-10-11 09:17:23 +03:00
Nikolay Krasko bd27460694 Prevent IDEA attach debugger to serialize task
Workaround for IDEA-200192

IDEA patches JavaExec tasks and adds
agentlib:jdwp= jvm parameter when running under debug.

Replace parameters after IDEA has finished patching parameters.
2018-10-10 20:58:00 +03:00
Svyatoslav Kuzmich 7074909230 [JS IR BE] Support enumValues<T>() and enumValueOf<T>(name) 2018-10-10 19:35:17 +03:00
Svyatoslav Kuzmich bdc3daf972 [JS IR BE] Support Enum::values 2018-10-10 19:35:17 +03:00
Svyatoslav Kuzmich 0210ec3114 [JS BE] Fix KT-26787: handle JsSwitch in LabeledBlockToDoWhileTransformation 2018-10-10 19:35:16 +03:00
Pavel Punegov f543170998 Increase tolerance for Float asin test 2018-10-10 19:05:44 +03:00
Sergey Bogolepov 2f1f32bbf4 Replace random val in companion object with top level val 2018-10-10 19:04:55 +03:00
Pavel Punegov 17b7bbce8c Make coroutines test JVM-only 2018-10-10 19:04:31 +03:00
Pavel Punegov 3dd16da315 Fix vararg test for native that assigns named argument.
Ignore test that uses nested class in enum in native
2018-10-10 19:03:56 +03:00
Pavel Punegov dd1c9fa9f0 Native: Ignore tests that use reflection not implemented in native 2018-10-10 19:01:35 +03:00
Pavel Punegov 82b59c5044 Native: Ignore tests that use jvm or full reflect 2018-10-10 19:00:50 +03:00
Svyatoslav Kuzmich 89f7ced0d4 [JS IR BE] Unmute tests 2018-10-10 17:27:37 +03:00
Svyatoslav Kuzmich e73ff16b35 [JS IR BE] Refactor: split IntrinsicifyCallsLowering into multiple classes 2018-10-10 17:27:37 +03:00
Svyatoslav Kuzmich 749556f565 [JS IR BE] Support Long coercion 2018-10-10 17:27:37 +03:00
Svyatoslav Kuzmich c7bde6a5e6 [JS IR BE] Fix runtime compareTo(Number, Long) 2018-10-10 17:27:36 +03:00
Anton Bannykh 44d56cb278 JS: fix val with backing field initialization in secondary constructors
This change reverts the AssignmentTranslator logic to a previous state
of "if we assign to a val, tranlate to backing field". Previously a
check whether or not we are inside of a constructor was added. The
check didn't detect secondary constructors, hence initializing of
val's with backing field started to work incorrectly.

The check itself was added in an attempt to prevent augmented assignment
operators to reference the backing field. The check seems to have been
wrong, because an augmented assignment could happen inside a construcotr.
A more correct fix was added later. It seems that it is safe now to
revert the logic back and rely on the frontend to only allow assignment
to a val property during initilization.
2018-10-10 17:25:55 +03:00
Mikhail Glukhikh 6be65e7d1a Replace equals with == involving FP types: handle possible smart casts
This fixes two relevant tests with smart casts
#KT-25933 Fixed
2018-10-10 15:02:47 +03:00
Mikhail Glukhikh 04cadf3f58 Reformat ReplaceCallWithBinaryOperator 2018-10-10 15:02:45 +03:00
kenji tomita 1aa9d5673b Do not highlight replacement of equals involving floating-point types
Two tests with smart casts do not work yet
Part of KT-25933
2018-10-10 15:02:43 +03:00
Anton Bannykh 8c6337f3f6 [JS IR BE]: support dynamic_var["foo"] = "bar"
Used EQ origin to detect. Added a test to check dynamic_var = "bar" case
is not affected
2018-10-10 13:43:22 +03:00
Anton Bannykh 7afb81a7df JVM_IR: fix ranges' test generator 2018-10-10 13:13:36 +03:00