Commit Graph

18569 Commits

Author SHA1 Message Date
shiraji fd3fe52eb4 Fix the problem with code completion of type extension method
KT-23834 Fixed
2018-09-11 14:24:45 +03:00
Leonid Startsev 23fd0a6ec9 Split IDE part from kotlinx-serialization-compiler-plugin 2018-09-11 13:22:16 +03:00
Dmitriy Dolovov 324ec7aff8 Detect K/N library kind if library is a ZIP file (native-specific part)
Issue #KT-26730 Fixed
2018-09-11 12:48:31 +03:00
Dmitriy Dolovov 0d0929922a Detect K/N library kind if library is a ZIP file (common part)
Issue #KT-26730
2018-09-11 12:48:31 +03:00
Dmitriy Dolovov 8a79255176 K/N: Drop unused class 2018-09-11 12:48:31 +03:00
Nikolay Krasko 462000ae19 Fix code style applier (KT-23400)
- Stop removing defined schemes and clone settings before modification
- Clone code styles before modification
- Don't bother users that already have needed code style with settings change
2018-09-10 19:07:36 +03:00
Dmitriy Dolovov 194d94071a K/N: Create target-neutral K/N libraries 2018-09-10 17:54:08 +03:00
Dmitriy Dolovov 314173af60 Disable specific EPs for K/N plugin for CLion/AppCode #KT-26717 2018-09-10 17:54:07 +03:00
Dmitriy Dolovov 71be94b3e4 K/N: Cache library metadata in IDEA plugin 2018-09-10 17:54:06 +03:00
Simon Ogorodnik 1df91ff7ec Refactor NativeAnalyzerFacade to reuse existing library dependency model
Fix memory blowing up in quadratic native stdlib dependencies
Reuse ModuleInfo & LibraryInfo for Native properly
2018-09-10 17:54:06 +03:00
Nikolay Krasko 69aa6d399e Forgotten utility for getting Kotlin code style defaults 2018-09-10 17:49:39 +03:00
Alexey Sedunov 6206f1e419 MPP: Implement isTestModule flag (as required by JPS) 2018-09-10 17:27:41 +03:00
Alexey Sedunov befb6d19d1 MPP: Use all transitively reachable modules as compilation source sets
#KT-26254 Fixed
2018-09-10 17:27:41 +03:00
Alexey Sedunov ff105cb059 MPP: Force COMMON platform for commonMain/commonTest source sets
Also set isTestModule flag for them according to source set name alone

 #KT-26356 Fixed
2018-09-10 17:27:40 +03:00
Alexey Sedunov ad4a3c0b7c MPP: Do not import compilations with 'metadata' target
#KT-26634 Fixed
2018-09-10 17:27:40 +03:00
Alexey Sedunov 358b7ca1d1 MPP: Import library dependencies of transitive dependee source sets
#KT-26369 Fixed
2018-09-10 17:27:40 +03:00
Alexey Sedunov dbd18ca27b MPP: Do not show -Xmultiplatform flag in facet settings
#KT-26484 Fixed
2018-09-10 17:27:40 +03:00
Denis Zharkov 3d72831966 Mark idea-native module as 'jps-compatible' 2018-09-10 16:59:29 +03:00
Alexander Podkhalyuzin 0a5e782901 Removed @author tag 2018-09-10 14:51:01 +03:00
Alexander Podkhalyuzin baa0f2dc1b Override completion in expect class should behave differently
Caret placement is at the end of new fun/property

#KT-25313 Fixed
2018-09-10 14:23:48 +03:00
Alexander Udalov 9311ea5d25 Support progressive mode via "-progressive"
#KT-25862 Fixed
2018-09-10 14:12:31 +03:00
Alexander Udalov 7474f1dc56 Minor, refactor KotlinMetadataVersionIndexBase.createBinaryVersion
Make it a protected method instead of a property passed in the
constructor
2018-09-10 14:12:18 +03:00
Alexander Udalov 1d5d6b5b72 Support strict metadata version semantics
Preface: Kotlin 1.3 will be able to read metadata of .class files
produced by Kotlin 1.4 (see KT-25972). Also, to simplify implementation
and to improve diagnostic messages, we're going to advance JVM metadata
version to 1.4.0 in Kotlin 1.4, and would like to keep it in sync with
the compiler version thereafter. This presents a problem: in an unlikely
event that before releasing 1.4, we find out that the metadata-reading
implementation in 1.3 was incorrect, we'd like to be able to fix the bug
in that implementation and _forbid_ 1.3 from reading metadata of 1.4.
But prior to this commit the only way to do this was to advance the
metadata version, in this case to 1.5, and that breaks the
metadata/compiler version equivalence we'd like to keep.

The solution is to add another boolean flag to the class file, called
"strict metadata version semantics", which signifies that if this class
file has metadata version 1.X, then it can only be read by the compilers
of versions 1.X and greater. This flag effectively disables the smooth
migration scenario proposed in KT-25972 (as does increasing metadata
version by 2), and will be used only in hopeless situations as in the
case described above.
2018-09-10 14:12:18 +03:00
Alexander Podkhalyuzin 8e9945bc9e Fixed deprecated IDEA API
#KT-24907 Fixed
2018-09-10 13:28:11 +03:00
Alexander Podkhalyuzin 720587abf3 Added DynamicallyLoaded annotation to AndroidDexWrapper
#KT-25449 Fixed
2018-09-10 13:26:12 +03:00
Nikolay Krasko f679b3f6dd Import Kotlin code style from Maven properties (KT-23400) 2018-09-10 13:03:41 +03:00
Nikolay Krasko 1820028086 Refactoring: extract method for applying codestyle from string (KT-23400) 2018-09-10 13:03:41 +03:00
Ilya Chernikov 3f2552af60 Export filename extension from KotlinScriptDefinition, register...
extensions after loading definitions
2018-09-10 11:21:26 +02:00
Roman Elizarov e2713501ce Rename SuccessOrFailure to Result and hide Failure from ABI
* The members of Result are isSuccess, isFailure, exceptionOrNull, getOrNull
* The rest of API is implemented via inline-only extensions
* There are two internal functions to hide detailed mechanics of an internal
  Result.Failure class: createFailure and throwOnFailure
* Result.toString is explicit: either Success(v) or Failure(x)

See KT-26538
2018-09-09 11:34:31 +03:00
Mikhail Glukhikh 78131d2e65 Add native dependencies to idea-gradle module tests 2018-09-08 12:16:27 +03:00
Mikhail Glukhikh bf23dac7ff Add native dependencies to idea-maven module tests 2018-09-08 12:16:27 +03:00
Mikhail Glukhikh 1fd4be580a Add native dependencies to idea-android module tests 2018-09-08 12:16:26 +03:00
Mikhail Glukhikh f514424324 Revert non-convention KotlinNativeCompile task in import 173 / AS31
'Property' is not supported for these IDEA / AS versions
2018-09-08 12:16:25 +03:00
Simon Ogorodnik 6e93bccad4 Fix test dependencies of idea module after introducing native 2018-09-08 12:16:25 +03:00
Dmitriy Dolovov 22e6948d7d K/N: add fake compiler arguments (only to be used in IDEA plugin) 2018-09-08 12:16:25 +03:00
Dmitriy Dolovov f663c0ea87 Rename "Konan" -> "KotlinNative" in class and function names (part 3) 2018-09-08 12:16:25 +03:00
Dmitriy Dolovov cb7009ace8 K/N: Rename "kotlin-native-serializer" to "kotlin-native-library-reader" 2018-09-08 12:16:24 +03:00
Dmitriy Dolovov 88638ef655 K/N: Clean-up logic for import of K/N projects from Gradle 2018-09-08 12:16:23 +03:00
Dmitriy Dolovov dd203830a8 K/N: Refactor KotlinNativePluginSearchPathResolver
Get rid of dependency on KonanPaths project component
2018-09-08 12:16:23 +03:00
Dmitriy Dolovov b157e9d5a1 Rename "Konan" -> "KotlinNative" in class and function names (part 2) 2018-09-08 12:16:23 +03:00
Dmitriy Dolovov 07a1d683ed MPP: Better detection of KLIB library kind 2018-09-08 12:16:23 +03:00
Dmitriy Dolovov 9b92d38917 K/N: Move classes and functions we don't want to expose
These classes we don't want to expose to Gradle DSL users
from "kotlin-native-utils" to "kotlin-native-serializer" module.
Reason: "kotlin-gradle-plugin-api" depends on "kotlin-native-utils",
while "kotlin-native-serializer" is used only inside of IDEA plugin.
2018-09-08 12:16:22 +03:00
Mikhail Glukhikh a4daf9f1ff More precise libraryMap in createResolvedModuleDescriptors 2018-09-08 12:16:22 +03:00
Dmitriy Dolovov 2ff538fc87 K/N: Correct creation of module descriptors for K/N module 2018-09-08 12:16:22 +03:00
Dmitriy Dolovov fbeff9245e More correct detection of Kotlin/Native stdlib by open IDEA projects 2018-09-08 12:16:21 +03:00
Dmitriy Dolovov 46a697db82 Rename "Konan" -> "KotlinNative" in class and function names 2018-09-08 12:16:21 +03:00
Dmitriy Dolovov 337100edc3 Rename "konan" modules to "kotlin-native" modules 2018-09-08 12:16:20 +03:00
Dmitriy Dolovov 4cedbe5f39 Disable mandatory adding of KLIBs into the root IDEA module 2018-09-08 12:16:20 +03:00
Simon Ogorodnik c4a33e0a2f [CHECKME] Support non-convention KotlinNativeCompile task in IDEA import 2018-09-08 12:16:19 +03:00
Dmitriy Dolovov 04fca2ac0d [IDEA plugin for K/N] Source code reorganization
Move Gradle part of plugin from 'idea-gradle/native' to
'idea-gradle-native' module
2018-09-08 12:16:19 +03:00