Commit Graph

17360 Commits

Author SHA1 Message Date
Natalia Selezneva 7fe21f3035 Do not throw exception when script template doesn't have required annotation
^KT-23746 Fixed
2018-05-08 11:40:51 +03:00
Natalia Selezneva 522587dc5d Align checkbox labels in scratch panel
^KT-24315 Fixed
2018-05-08 11:40:51 +03:00
Natalia Selezneva e5a40c8c7f Scratch: substring output and print it to separate tool window if it is too long
^KT-24016 In Progress
2018-05-08 11:40:51 +03:00
Natalia Selezneva 613ea94376 Allow reference search in scratches
^KT-23563 Fixed
^KT-23587 Fixed
2018-05-08 11:40:51 +03:00
Natalia Selezneva db2bcff390 Restore scratch options after IDE restart
^KT-23441 Fixed
2018-05-08 11:40:51 +03:00
Natalia Selezneva 178dad3b4e Refactoring: introduce file attribute utils 2018-05-08 11:40:51 +03:00
Natalia Selezneva bed5a3c8f3 Scratch: find correct line to report error at
^KT-23480 Fixed
EA-117936 Fixed
2018-05-08 11:40:51 +03:00
Natalia Selezneva 62fadd9086 Scripts: GradleScriptTemplateProvider should be the first in the contributors list.
This is needed to avoid broking .gradle.kts support by external plugins
2018-05-08 11:40:51 +03:00
Natalia Selezneva 47bafb8c75 Regenerate IntentionTestGenerated 2018-05-08 09:10:51 +03:00
Vyacheslav Gerasimov 838f1f91fc Build: Extract android ide modules from kotlin-plugin.jar to standalone jars
So we could exclude them in IDEs which don't have android plugin (AppCode, CLion)
2018-05-08 00:26:04 +03:00
Vyacheslav Gerasimov ec1a9d9907 Move uast service registration to jvm.xml 2018-05-08 00:25:22 +03:00
Toshiaki Kameyama 534cbae4ef KT-14391 RemoveUnnecessaryParenthesesIntention lost comment
on closing parenthesis

 ^KT-14391 Fixed
2018-05-07 12:40:57 +03:00
Mikhail Glukhikh e76debb12b Report UNUSED_PARAMETER in setter #KT-21129 Fixed 2018-05-04 18:04:57 +03:00
Alexander Udalov c57864e46c Require "-Xuse-experimental=kotlin.Experimental" on usages of Experimental
Since we're not yet sure of the design of Experimental/UseExperimental,
we're making them "experimental" themselves in some sense, in that the
user is required to provide the magic argument
"-Xuse-experimental=kotlin.Experimental" to be allowed to use either
Experimental or UseExperimental. This is more convenient than the
previous approach of "-language-version 1.3
-Xskip-metadata-version-check" because it's simpler and does not cause
pre-release binaries to be produced
2018-05-04 13:48:24 +02:00
Ilya Chernikov 48cf0bd949 Fixes and refactorings after review 2018-05-03 22:15:10 +02:00
Ilya Chernikov 15f9ad9531 Implement quick non-script detection and lazy script discovery..
so ".kt" and ".java" files are not considered as scripts and quickly
filtered out, and for the other files the the checks are implemented
using sequences, mechanisms provided to supply script definitions
lazily, and script discovery is implemented using this mechanisms.
2018-05-03 22:15:09 +02:00
Toshiaki Kameyama b5da48c566 Don't report suspicious callable reference on invoke with parameters
So #KT-23465 Fixed
2018-05-03 18:47:12 +03:00
Toshiaki Kameyama 13356d32fd Redundant SAM-constructor: highlight nested class name with outer class
So #KT-11156 Fixed
2018-05-03 18:32:44 +03:00
Toshiaki Kameyama 204c68070a Reformat RedundantSamConstructorInspection 2018-05-03 18:31:34 +03:00
Toshiaki Kameyama c43311ba9a Move to constructor: change default use-site target: property -> field
So #KT-23801 Fixed
2018-05-03 18:12:11 +03:00
Toshiaki Kameyama 012227dd73 Reformat MovePropertyToConstructorIntention 2018-05-03 18:11:23 +03:00
Toshiaki Kameyama 633679ac16 Preserve comments in "Remove variable" quick fix #KT-23753 Fixed 2018-05-03 18:09:22 +03:00
Toshiaki Kameyama 66d738848b Convert foreach to for loop: place caret on the variable declaration
So #KT-7822 Fixed
2018-05-03 17:54:56 +03:00
Toshiaki Kameyama 3221fbdca9 Don't "Remove explicit type" for callable with function initializer
So #KT-12168 Fixed
2018-05-03 17:46:47 +03:00
Toshiaki Kameyama 5204c73bec Quick-fix "use spread operator": make working with mapOf #KT-14556 Fixed 2018-05-03 17:11:33 +03:00
Toshiaki Kameyama a7110a1517 Add intention to indent a raw string #KT-9943 Fixed 2018-05-03 17:05:14 +03:00
Mikhail Glukhikh e07f83ddbc "Redundant Unit" inspection: new tests, simplification & fixes
Related to KT-23977 and KT-24066
2018-05-03 16:12:20 +03:00
Toshiaki Kameyama 6e150d27f1 "Redundant Unit" inspection: fix for Unit returned as Any
So #KT-24066 Fixed
2018-05-03 16:12:19 +03:00
Toshiaki Kameyama c44cab4565 "Redundant Unit" inspection: Fix for labeled return #KT-23977 Fixed 2018-05-03 16:12:19 +03:00
Natalia Selezneva 49a1788728 Update testData after switching on kotlin internal mode in tests 2018-05-03 11:32:52 +03:00
Alexander Udalov 712a796637 Fix MultiModuleHighlightingTestGenerated.testUseCorrectBuiltInsForCommonModule
Add dependency from a_jvm8 on stdlib. Otherwise, `getEmptyList` from
a_common was resolved to have an error return type
2018-05-02 16:56:54 +02:00
Nicolay Mitropolsky efd743284e CommonIntentionActionsTest.testRemoveConstructorParameters test fix for 181, 182, as32 2018-04-29 11:48:28 +03:00
Nikolay Krasko 398795b832 Fix AddRequireModuleTest in 181
- Application is null before setUp call in individual run
- Inline "module.info.add.requires.family.name" as 181 has other constant
- isScriptDependenciesUpdaterDisabled call seems to be useless
2018-04-28 22:27:35 +03:00
Nikolay Krasko af930b8364 Review and fix raw string quotes inserting and remove (KT-2582)
- Add more tests
 - Fix inserting close quotes after multiline string in file end
 - Use parent instead of parentOfType where possible
 - Add bunch files

 #KT-2582 Fixed
2018-04-28 22:27:34 +03:00
Steven Spungin 8252b35ed5 Add support for closing and deleting raw strings (KT-2582)
#KT-2582 Fixed
2018-04-28 22:27:34 +03:00
Nikolay Krasko 5216dfcc59 Add internal errors to test data in multi module tests
Tests started to fail after 82a21b3955.
2018-04-28 22:24:39 +03:00
Mikhail Glukhikh 2854e6b7a1 Reformat: BranchedFoldingUtils 2018-04-28 18:44:29 +03:00
Toshiaki Kameyama 89981ecbbb Lift Assignment: process lambda assignments in when correctly
So #KT-23346 Fixed
2018-04-28 18:44:29 +03:00
Denis Zharkov 8e1b0c5ab7 Optimize memory footprint for PartialBodyResolveFilter
There is a single PartialBodyResolveFilter instance per module
and each of them were containing just the same sets of available
in project Nothing-typed functions (including duplicating String instances),
in case of Kotlin project it might sum up to 27M of heap.

The solution is to share the global sets between all modules in a project
2018-04-28 17:12:52 +03:00
Denis Zharkov 26714d56d8 Use WeakKeySoftValueMap in ResolveElementCache
Otherwise results are effectively retained in the maps until we're close
to OutOfMemory.
While we mostly need them for a short time (especially in the case we
run resolution during usages search).

The possible problem is that the values may become too short-living,
but now using these maps is a conventional solution for similar tasks in
Java resolve
2018-04-28 17:12:52 +03:00
Mikhail Glukhikh 6e8247f7cf Fix leaking this test in 181 branch 2018-04-28 15:46:37 +03:00
Nikolay Krasko c83ff5e75f Remove files introduced in 181 from 173 branch 2018-04-27 19:45:23 +03:00
Vyacheslav Gerasimov 8c88ac69df Cleanup .181 bunch files 2018-04-27 18:25:21 +03:00
Vyacheslav Gerasimov bc403ce744 Switch to 181 platform 2018-04-27 18:25:17 +03:00
Mikhail Glukhikh df59af8ee8 Move sort modifiers test to inspection local group
This should fix test in 181 branch
2018-04-27 17:26:56 +03:00
Mikhail Glukhikh 8f0c53d0de If then to elvis: handle nullability even with implicit receiver
So #KT-22741 Fixed
2018-04-27 17:26:50 +03:00
Mikhail Glukhikh 49165bdbef Cleanup: better visibility 2018-04-27 17:26:37 +03:00
Mikhail Glukhikh 7601aaf89f Reformat IfThenToElvisIntention 2018-04-27 17:26:36 +03:00
Denis Zharkov b75024e3e0 Fix memory leak related to diagnostics computation within light classes
Before this change, when somebody has requested the exact light class
we also store LazyJvmDiagnostic for it in a map inside DiagnosticHolder.

The problem is that LazyJvmDiagnostic retains a lot of memory:
GenerationState, bindingContext, etc.

At the same time, it commonly happens that light classes are being computed from Java resolve and diagnostics are obviously
unnecessary there.

The solution has two parts:
1. We don't retain diagnostics until somebody explicitly requested them
2. We force computation of LazyJvmDiagnostic to avoid retaining
backend's parts

The solution has a kind of drawback: for an opened in editor Kotlin file,
we'll run back-end twice for contained classes (analysis parts should be reused, though)

 #KT-24048 Fixed
2018-04-27 16:13:59 +03:00
Natalia Selezneva 26f1d6ae7c Update Icon for .kts and .gradle.kts files
^KT-23431 Fixed
2018-04-27 13:52:31 +03:00