Commit Graph

48897 Commits

Author SHA1 Message Date
Mikhail Zarechenskiy 169599abcc Add flag to allow using kotlin.Result as a return type
#KT-26659 Fixed
2018-09-11 10:39:11 +03:00
Mikhail Zarechenskiy 864e21dd1b Prohibit expressions of Result type as left operands of ?./!!/?:
#KT-26659 In Progress
2018-09-11 10:24:50 +03:00
Mikhail Zarechenskiy b1cd49dd7b Prohibit using kotlin.Result as a return type in most cases
#KT-26659 In Progress
2018-09-11 10:24:48 +03:00
Ilya Gorbunov 48add96e79 Deprecate mixed Int/FP contains operator for ranges
#KT-22423
2018-09-11 05:40:15 +03:00
Ilya Gorbunov 68c5c0f639 Introduce ConcurrentModificationException typealias in stdlib/jvm
This is required to provide the corresponding expect exception in stdlib/common.
Raise deprecation level for constructors declared in common but unsupported in JVM.

#KT-26598
2018-09-11 04:59:56 +03:00
Ilya Gorbunov afb62ffc0c Update testData for incremental compilation tests
- enumMemberChanged, flagsAndMemberInSameClassChanged: added top level function results in a file class being generated
- companionObjectNameChanged: one more file is marked as dirty after the changes in build 1.2.70-dev-1439
2018-09-11 04:19:49 +03:00
Ilya Matveev 3269c0e51b Support cinterop in the native part of kotlin-multiplatform 2018-09-10 20:43:00 +03:00
Ilya Matveev f7949a2131 Use 'teamcity.version' property to detect CI in K/N tests 2018-09-10 20:40:59 +03:00
Ilya Matveev 0ac701d8bf Provide getters for names of native link tasks 2018-09-10 20:40:59 +03:00
Ilya Matveev f1de88ebbc Use teamcity test logger if the project has a corresponding property 2018-09-10 20:40:59 +03:00
Ilya Matveev cbb1b9fae5 Provide a basic DSL for liking task accessing 2018-09-10 20:40:59 +03:00
Ilya Matveev f5eecdd547 Support custom entry points for native binaries 2018-09-10 20:40:59 +03:00
Ilya Matveev 76074f9543 Support language settings from source sets for native 2018-09-10 20:40:59 +03:00
Ilya Matveev 14e4f219da Support compiler plugins in native part of the mpp plugin 2018-09-10 20:40:59 +03:00
Ilya Matveev 41367b0285 Create test tasks for all native hosts + tests
#KT-26547 fixed
2018-09-10 20:40:59 +03:00
Ilya Matveev 03e1e8d19d Support friend modules in native mpp 2018-09-10 20:40:59 +03:00
Ilya Matveev 595a7700df Use FQ names for Kotlin/Native project properties 2018-09-10 20:40:59 +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
Dmitry Petrov e3fa785678 Minor: drop irrelevant test case
Hiding constructors with inline class type parameters
is tested by bytecodeListing tests
2018-09-10 17:45:05 +03:00
Dmitry Petrov eb940ec58d Fix inline class tests
Use original descriptor when determining if a synthetic accessor should
be used for a possibly hidden ("mangled") constructor call.
2018-09-10 17:33:34 +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
Svyatoslav Scherbina 5c6193ddf3 Use proper origin for fake override fields in IR 2018-09-10 17:00:58 +03:00
Svyatoslav Scherbina dc71e5b934 Prevent external IR field stub from being bound twice 2018-09-10 17:00:57 +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
Mikhail Glukhikh 0169719a87 Add native dependencies to uast-kotlin module tests 2018-09-10 14:33:36 +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
Anton Bannykh d571d0ad51 JS: prohibit using experimental coroutines from 1.3 2018-09-10 14:18:44 +03:00
Alexander Udalov c4be039cd1 Support argfiles in CLI with "@argfile"
#KT-24613 Fixed
2018-09-10 14:12:32 +03:00
Alexander Udalov e996513044 Support single quotation marks in argfiles
#KT-26122 Fixed
2018-09-10 14:12:31 +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 Udalov 8c942752e8 Write flags to .kotlin_module files since metadata version 1.4
This value will be used for flags like pre-release (KT-21256) and other
similar info
2018-09-10 14:12:17 +03:00
Dmitry Petrov b8eb804774 KT-26531 is fixed in NewInference mode 2018-09-10 14:10:05 +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
Nikolay Krasko a5e8508e5a Write official code style to maven archetypes (KT-23400) 2018-09-10 13:03:41 +03:00