Commit Graph

34940 Commits

Author SHA1 Message Date
Michael Bogdanov 4cbc5cc958 Remove variables from frame on block leaving 2016-10-27 16:43:00 +03:00
Michael Bogdanov afe0b8a0b6 Switch to general codegen in 'Bytecode tool window' 2016-10-27 16:41:15 +03:00
Mikhail Glukhikh 2130164d9b EXTERNAL_DECLARATION_CANNOT_BE_ABSTRACT is now reported on property if accessor is external #KT-9297 Fixed
Also fixes EA-89227
2016-10-27 16:25:43 +03:00
Nikolay Krasko e053b77ede Test for "Code folding doesn't work in kotlin lambdas after some declatation" (KT-14411)
Fixed in previous commit

 #KT-14411 Fixed
2016-10-27 14:26:12 +03:00
Nikolay Krasko 08d628537c Assign trailing and preceding whitespaces to lambda block until the last comment in parser 2016-10-27 14:26:10 +03:00
Nikolay Krasko 0261385681 Report file name for getDefaultPlatform() information 2016-10-27 14:26:07 +03:00
Anton Bannykh 7ee3baa020 Replaced when appropriate 'TARGET_BACKEND: JVM' -> 'IGNORE_BACKEND: JS'. Enabled some succesfully working decompiledText tests. 2016-10-27 14:17:25 +03:00
Anton Bannykh dc151c1d84 Implemented specifying specific ignored backend (e.g. '// IGNORE_BACKEND: JS' instead of '// TARGET_BACKEND: JVM') 2016-10-27 14:17:25 +03:00
Dmitry Jemerov 38a448ebbd use a non-deprecated API 2016-10-27 12:50:39 +02:00
Michael Bogdanov 0910f166a5 Make default methods for inlineOnly and reified functions package private 2016-10-27 11:03:35 +03:00
Alexander Udalov 455fef90c0 Fix codefen test case by adding stdlib 2016-10-27 10:44:33 +03:00
Ilya Gorbunov a6783534f0 Add required *.kotlin_builtins to classpath for stdlib tests 2016-10-26 21:41:54 +03:00
Alexander Udalov c49c019250 Add option to restore fallback to compiler built-ins + resurrect Maven build 2016-10-26 19:02:31 +03:00
Anton Bannykh a3566174d6 Support destructuring in lambda parameters (KT-14422) and skipping some components in a destructuring declaration (KT-14507). 2016-10-26 18:29:13 +03:00
Ilya Gorbunov 1c7196a1fb Allow to reference internal API in stdlib tests 2016-10-26 17:47:15 +03:00
Ilya Gorbunov 8d76617094 Merge ReversedViews tests in one file as they can all run now in JS.
Make SynchronizedLazyValTest jvm-only.
2016-10-26 17:47:15 +03:00
Ilya Gorbunov badbcd08de Annotate explicitly stdlib tests, which must be excluded from JS stdlib tests with @JvmVersion, do not use file naming convention, use preprocessor instead. 2016-10-26 17:47:15 +03:00
Ilya Gorbunov baccac30fb Annotate explicitly stdlib sources, which must be excluded from JS stdlib with @JvmVersion, do not use file naming convention. 2016-10-26 17:47:15 +03:00
Ilya Gorbunov 98f7c61333 Reuse JVM box tests for binary operations in JS, excluding those that can't pass now. 2016-10-26 16:36:09 +03:00
Ilya Gorbunov 19922135fd JS: Add intrinsics for bitwise ops. #KT-13554 2016-10-26 16:36:07 +03:00
Ilya Gorbunov 62fb47d137 Introduce bitwise operations and/or/xor/inv for Byte and Short. #KT-13554
Annotate new bitwise operations with SinceKotlin.
2016-10-26 16:35:46 +03:00
Alexander Udalov 7f86ce0a20 Introduce fallback option to add built-ins in position manager test
In AbstractPositionManagerTest, built-ins could no longer be resolved because
JvmIDEVirtualFileFinder is used in IDE tests (even when the compilation is
called through JvmResolveUtil/GenerationUtils as in compiler tests), which is
not yet able to locate .kotlin_builtins files
2016-10-26 16:31:09 +03:00
Alexander Udalov e0989caf46 Load built-ins from module dependencies in JVM compiler
Introduce a new method KotlinClassFinder#findBuiltInsData, which is only
implemented correctly in the JvmCliVirtualFileFinder because it's only used in
the compiler code at the moment.

Introduce JvmBuiltInsPackageFragmentProvider, the purpose of which is to look
for .kotlin_builtins files in the classpath and provide definitions of
built-ins from those files.

Also exclude script.runtime from compilation because, as other excluded
modules, it has no dependency on the stdlib and is no longer compilable from
the IDE now, because it cannot resolve built-ins from anywhere
2016-10-26 16:31:09 +03:00
Alexander Udalov 0b59c71340 Add mock runtime to KotlinJpsBuildTest test cases
To prevent test failures once the JVM compiler stops loading definitions of
built-in declarations from itself and starts to rely on their presence in the
library, that the compiled source code depends on
2016-10-26 16:31:07 +03:00
Alexander Udalov 88add3e06d Get rid of some KotlinBuiltIns#getBuiltInsModule usages
There will be no separate module for built-ins soon, they will be resolved as
normal dependencies
2016-10-26 16:31:06 +03:00
Alexander Udalov 484b0e36fb Add KotlinBuiltIns#isBuiltIn, use it instead of other utilities 2016-10-26 16:31:05 +03:00
Alexander Udalov 4effe42f1d Use JvmResolveUtil#createContainer in KotlinOverloadTest and KotlinOverridingTest 2016-10-26 16:31:05 +03:00
Alexander Udalov 8a5c8da757 Simplify module configuration and built-ins dependency in some tests
- In tests on built-ins with no sources, just call
  JvmResolve.analyze(environment) and inspect the resulting module
- In AbstractLocalClassProtoTest, create container via
  TDAForJVM.createContainer
- Inline single module container creation into AbstractDiagnosticsTest
2016-10-26 16:31:04 +03:00
Alexander Udalov 2b34d62848 Extract superclass from FunctionClassScope and CloneableClassScope 2016-10-26 16:31:03 +03:00
Alexey Sedunov 416569c2d2 Introduce Type Parameter: Disable shortcut (to avoid interference with IntelliJ API Watcher plugin) 2016-10-26 15:03:45 +03:00
Alexey Sedunov dc9c988287 Kotlin Facet: Fix serialization/deserialization 2016-10-26 15:03:44 +03:00
Alexey Sedunov 3fcdda2805 Kotlin Facet: Refactor TargetPlatform to sealed class. Move settings-related classes to top level 2016-10-26 15:03:43 +03:00
Alexey Sedunov ea13456bba Kotlin Facet: Add compiler settings to facet configuration 2016-10-26 15:03:42 +03:00
Alexey Sedunov 03f4d9f574 Kotlin Facet: Add extension point for compiler/stdlib version info with implementations for Maven and Gradle project models 2016-10-26 15:03:42 +03:00
Alexey Sedunov e0285b9955 Kotlin Facet: Extract VersionInfo class and getVersionInfo() utility function 2016-10-26 15:03:41 +03:00
Alexey Sedunov 37286d5b06 Kotlin Facet: Add API version setting 2016-10-26 15:03:40 +03:00
Alexey Sedunov 2326e3ed12 Kotlin Facet: Add custom settings and configuration extension point 2016-10-26 15:03:39 +03:00
mglukhikh 73b24f2b20 Build fix: "If then to elvis" inspection test 2016-10-26 14:15:07 +03:00
Michael Bogdanov eaf9c2e8b0 Fix for KT-13890: IllegalAccessError when invoking protected method with default arguments
#KT-13890 Fixed
2016-10-26 12:13:20 +03:00
Michael Bogdanov 1e59161e8f Fix for KT-14201: UnsupportedOperationException: Don't know how to generate outer expression for anonymous object with invoke and non-trivial closure
#KT-14201 Fixed
2016-10-26 12:13:19 +03:00
Nikolay Krasko e41cddd870 Allow to select single word on double click in one line doc comment (KT-14327)
(cherry picked from commit 184d39a)

 #KT-14327 Fixed
2016-10-25 18:18:07 +03:00
Mikhail Glukhikh ba0e36cdb1 (1.1 only) Var can be val: correct handling of delegated local variables #KT-14409 Fixed 2016-10-25 17:57:40 +03:00
Mikhail Glukhikh 66f3e266d9 Var can be val: correct handling of initialization in lambda #KT-14065 Fixed 2016-10-25 17:57:36 +03:00
Mikhail Glukhikh fd9e59ac7b Surround with null check for unsafe things: find first parent statement to surround (which is not used as expression) #KT-13958 Fixed 2016-10-25 17:57:32 +03:00
Mikhail Glukhikh e56a10aa41 "Surround with null check" is now a high-priority action 2016-10-25 17:57:29 +03:00
Mikhail Glukhikh 35d104782e Minor: primary constructor to secondary: do not specify independent property type explicitly 2016-10-25 17:57:25 +03:00
Mikhail Glukhikh a74f010e0f Primary constructor to secondary: always try to build constructor body #KT-14475 Fixed 2016-10-25 17:57:21 +03:00
Mikhail Glukhikh d6eee65d72 Object literal to lambda: more precise shorten references #KT-14289 Fixed 2016-10-25 17:57:17 +03:00
Mikhail Glukhikh dc76f2a62f Lambda to reference: check potential reference arguments by descriptors and not by names #KT-14420 Fixed 2016-10-25 17:57:13 +03:00
Mikhail Glukhikh 97b45569fc Lambda to reference: not-null types are now preferred for platform type receivers #KT-14394 Fixed 2016-10-25 17:57:09 +03:00