Commit Graph

45134 Commits

Author SHA1 Message Date
Alexander Udalov 5d9348eea1 Sanitize compiler version for version requirement checks
Strip everything after (and including) the first '-' character.

The previous approach of skipping the checks if "SNAPSHOT" is in the
version, is subsumed by the new one because "1.2-SNAPSHOT" now becomes
"1.2" with regards to the version requirement checks, which allows the
compiler to use the 1.2-only API
2018-03-29 17:12:18 +02:00
Alexander Podkhalyuzin b78869ecfc Fixed aliased imports cache #KT-23430 Fixed 2018-03-29 16:05:00 +02:00
Nikolay Krasko 6a71f5bd2c Restore JUnit3RunnerWithInners version for JPS and delegate pill to it 2018-03-29 14:14:34 +03:00
Nikolay Krasko 9a831bf7dd Collect statistics for inlay parameter options 2018-03-29 14:14:34 +03:00
Nikolay Krasko 8d4fa8f3e8 Stop running tests from inner classes in JUnit3RunnerWithInners (KT-23234)
Running tests as part of parent class produced test names on
TeamCity that were different from test names obtained when inner classes
were executed first. And it looks like test order execution in Gradle
depends on file walker and file system.

 #KT-23234 Fixed
2018-03-29 14:14:34 +03:00
Nikolay Krasko bf8c7075bc Don't spam to error log from kapt3 successful tests 2018-03-29 14:14:33 +03:00
Dmitry Jemerov 9516c638ea Use more efficient file type check (avoid identifying file type by file) 2018-03-29 13:11:37 +02:00
Dmitry Jemerov 85ebe97597 Avoid unnecessary collection copy (KT-23384) 2018-03-29 13:11:36 +02:00
Dmitry Jemerov 6f1881b9ff Import reference at offset uses existing import fix (KT-23235)
If we have a valid autoimport fix at given offset, don't recalculate
variants; use existing ones
2018-03-29 13:11:36 +02:00
Dmitry Jemerov 5b04d99eeb Return null script if stub tells us file is not a script 2018-03-29 13:11:36 +02:00
Roman Artemev 68e47a9d60 Implement basic IR -> JS class translation 2018-03-29 13:26:04 +03:00
Mikhail Zarechenskiy e70162771d [NI] Fix exception from IDE completion
Fake arguments that are created for completion might have missing PSI parts (see `DummyArgument`)
2018-03-29 13:13:39 +03:00
Mikhail Glukhikh 05db4b3ccf Optimization: LeakingThisInspection 2018-03-29 11:39:10 +02:00
Mikhail Glukhikh 5e9ca6f466 Optimization: AddVarianceModifierInspection 2018-03-29 11:39:09 +02:00
Mikhail Glukhikh 34de241154 Add inspection to detect public API with implicit type 2018-03-29 11:39:01 +02:00
Dmitry Jemerov 6a619d0aa5 Ensure that multiplatform Gradle task runner runs first
In order to have effect, the runner needs to be registered before the
main Gradle runner, which also has order="first" in plugin.xml.
2018-03-29 09:50:34 +02:00
Dmitry Jemerov 8f19e95bd0 Set SDK from JVM module when running JUnit tests for common module 2018-03-29 09:50:34 +02:00
Dmitry Jemerov 6bee25cad2 Reformat 2018-03-29 09:50:34 +02:00
Dmitry Jemerov 20cd193030 Delete remains of external annotations support from compiler 2018-03-29 09:45:07 +02:00
Zalim Bashorov 9349b9bc67 [JS BE] Fix the crash on compound operations with a qualified call on left side
#KT-22001 Fixed
2018-03-28 22:49:09 +03:00
Alexander Udalov c3b6abfb1f Minor, add javadoc to KotlinBuiltIns.isBuiltIn 2018-03-28 19:48:50 +02:00
Zalim Bashorov 4d742c5266 Add more tests to JS IR whitelist and regenerate tests 2018-03-28 20:33:23 +03:00
Zalim Bashorov 0aa0ffc6fd [JS IR BE] Add generating JS AST for more IR elements:
* string concat
* get local value
* set local variable

* block
* composite block
2018-03-28 20:33:22 +03:00
Zalim Bashorov 7ae28a806b [JS IR BE] Add generating JS AST for "while" and "do-while" 2018-03-28 20:33:22 +03:00
Zalim Bashorov 52e2fb7a4e [JS IR BE] Add generating JS AST for "when" 2018-03-28 20:33:22 +03:00
Zalim Bashorov d46bba1521 [JS IR BE] Support must of kinds of constants except Long and Char 2018-03-28 20:33:22 +03:00
Mikhail Zarechenskiy 81ac3a4f2f Add ability to enable new inference in the platform 2018-03-28 18:32:28 +03:00
Ilmir Usmanov 4070f13e26 Do not generate beforeInlineMarker on tailrec jump
Before this change, the codegen used to generate beforeInlineMarker
in order to spill variables later. However, since the tailrec call
is replaced with jump, no afterInlineMarker is generated, leading to
inconsistency of these markers. Thus, the spilling fails.
This change disables generating of beforeInlineMarker.

 #KT-21521: Fixed
2018-03-28 15:50:24 +03:00
Ilmir Usmanov 58bac6882d Fix transforming of coroutine's create when it is suspend lambda with receiver
Unlike ordinary lambdas suspend lambdas has create method which invokes
the constructor of the lambda object (continuation).
The inliner could not cope with this.
The previous change fixed the case of suspend lambda without receiver.
This change adds support of suspend lambdas with receiver.

 #KT-21605: Fixed
2018-03-28 15:48:16 +03:00
Toshiaki Kameyama e96b5f3117 Fix false positive in redundant companion reference #KT-23435 Fixed 2018-03-28 13:27:45 +02:00
Alexander Udalov 3bc7eefad9 Regenerate tests 2018-03-28 12:55:00 +02:00
Mikhail Glukhikh 7e711eaf30 Memory optimization: CanBeParameterInspection 2018-03-28 12:04:58 +02:00
Mikhail Glukhikh 491eeb3d6f Optimization: OverridingDeprecatedMemberInspection 2018-03-28 12:04:56 +02:00
Mikhail Glukhikh b8da1d67d5 Optimize UsePropertyAccessSyntaxInspection 2018-03-28 12:04:55 +02:00
Mikhail Glukhikh 52cd71c3c4 Optimization: ReplaceGetOrSetInspection 2018-03-28 12:04:53 +02:00
Mikhail Glukhikh 9170aa0674 Distinguish PARTIAL_WITH_CFA resolve mode from just PARTIAL
So #KT-23182 Fixed
2018-03-28 12:04:33 +02:00
Mikhail Glukhikh 5d57341ee4 Make cheaper analysis in KtReference.resolveToPsiElements
Related to KT-23182
2018-03-28 12:04:13 +02:00
Dmitry Petrov 3a936c9e27 Minor: drop 'transformTypeArguments' 2018-03-27 17:25:11 +03:00
Dmitry Petrov 47b3152bd0 Throw detailed exceptions for incorrect argument indices 2018-03-27 17:25:11 +03:00
Dmitry Petrov 9a76ee63ab Determine typeArgumentsCount by descriptor 2018-03-27 17:25:11 +03:00
Dmitry Petrov 3b967017f6 Render type arguments by index 2018-03-27 17:25:11 +03:00
Dmitry Petrov b5607e4b3d Store type arguments by indices instead of TypeParameterDescriptor keys 2018-03-27 17:25:11 +03:00
Alexey Sedunov f4936d3e31 JS: Fix NodeJS run configuration support
#KT-16710 Fixed
2018-03-27 13:47:14 +03:00
Alexey Sedunov e604707450 Move: Support "Search references" option in dialogs 2018-03-27 13:47:13 +03:00
Dmitry Savvinov 5b216a0270 Don't throw exception on recursion for class header scope
The root issue here is that when we have some cycle in scopes, the place
where we detect a loop depends on where we've entered that cycle.

Previously, we didn't know about cases where we enter scopes loop
through `ClassResolutionScopesSupport.scopeForClassHeaderResolution` =>
there were no need to handle recursion on `scopeForClassHeaderResolution`
carefully.

It seems that in some very narrow cases (launch of specific
inspection on specficic code with specific caches state), we do manage
to enter loop exactly through `scopeForClassHeaderResolution` (see
KT-23033), which causes exception.

^KT-23033 Fixed
2018-03-27 12:16:54 +03:00
Dmitry Savvinov 148573fcf6 Remove 'DataFlowValueKindUtils.isStable', use 'DataFlowValue.isStable' instead 2018-03-27 10:51:51 +03:00
Anton Bannykh 7b860eab36 Merge kotlin-experimental into kotlin standard library (KT-23055 fixed)
* kotlin-experimental.js has been already merged into kotlin.js
* change library name to kotlin in kotlin-experimental.meta.js in order to produce correct require calls
* concatenate kotlin-experimental.meta.js with kotlin.meta.js
* suppress multiple module declaration warning for such use case
2018-03-26 23:13:28 +03:00
Anton Bannykh d0e71acaa5 JS: fix NaN bug workaround 2018-03-26 20:07:00 +03:00
Anton Bannykh e1233beddc Convert BinaryOperationIntrinsic to Java @FunctionInterface
Also some minor renamings and visibility changes
2018-03-26 20:07:00 +03:00
Anton Bannykh 3a7518cad2 Implemented equality comparison for primitive types 2018-03-26 20:07:00 +03:00