Commit Graph

44472 Commits

Author SHA1 Message Date
Yan Zhulanow 3894afcf0b Pill, Minor: Remove the hardcoded repository, use the available utilities 2018-03-02 03:15:30 +03:00
Yan Zhulanow b24d87f7ed Pill: Merge two "root" and "non-root" Pill plugins 2018-03-02 03:15:30 +03:00
Yan Zhulanow 3da479c1d5 Pill, Small: Pass libraries to 'parse()' directly 2018-03-02 03:15:29 +03:00
Yan Zhulanow 07ede20dc5 Pill: Import KotlinPlugin artifact 2018-03-02 03:15:28 +03:00
Yan Zhulanow bc78d2c417 Pill: Move .iml files out of the module structure 2018-03-02 03:15:27 +03:00
Yan Zhulanow 4c12a4cb11 Pill: Add 'unpill' task 2018-03-02 03:15:25 +03:00
Yan Zhulanow df88acaefd Get rid of test-to-production dependencies as it's not supported in plain IDEA projects 2018-03-02 03:15:24 +03:00
Yan Zhulanow e7a2743dcf Pill: Add "Generate All Tests" run configuration 2018-03-02 03:15:23 +03:00
Yan Zhulanow 55164660a8 Pill: Attach asm sources 2018-03-02 03:15:22 +03:00
Yan Zhulanow ad5a42459a Pill: Apply required changes to the default JUnit configuration on import 2018-03-02 03:15:21 +03:00
Yan Zhulanow 868ef262b8 Pill: Add JPS run configurations 2018-03-02 03:15:20 +03:00
Yan Zhulanow a0c105adbe Fixes to make the project compile when using Pill 2018-03-02 03:15:19 +03:00
Yan Zhulanow 8dad2d30f5 Move the compiler.xml back to IDEA (this fixes almost all IDE tests when running on JPS) 2018-03-02 03:15:18 +03:00
Yan Zhulanow 34d1611ed4 Add Pill support to compiler and IDE modules 2018-03-02 03:15:17 +03:00
Yan Zhulanow af60bcfb47 Initial Pill implementation
Pill is a Gradle-to-JPS model generator for compiler + compiler plugins + IDE project parts.
The generated project model does not know anything about Gradle and is fully operable using only JPS.
2018-03-02 03:15:16 +03:00
Yan Zhulanow 0ebcd0ad40 Remove inline function usages that break JPS compilation 2018-03-01 21:30:51 +03:00
Ilmir Usmanov 07ec704228 Fix modifiers generation for companion objects
when language verion is 1.3

 #KT-23002: Fixed
2018-03-01 20:03:26 +03:00
Alexey Sedunov 30314d43d9 Shorten Reference: Disable ${...} shortening inside completion insert handler 2018-03-01 17:41:10 +03:00
Mikhail Glukhikh 68757fff2e Downgrade "Type parameter can have ... variance" to INFORMATION level 2018-03-01 16:19:21 +03:00
Nikolay Krasko a03470d151 Fix test data for JavaMethodUsedInKotlin.kt test after 173.3.4 update
- Ignore empty lines in actual test data
- Don't generate additional //INFO: in final file diff
2018-03-01 15:41:10 +03:00
Renaud Paquay 94ee78c0ca Hitting breakpoint in Kotlin sometimes doesn't work (KT-22205)
Fix KT-22205 and https://issuetracker.google.com/issues/71556313

Hitting breakpoints in Kotlin JUnit test with an Android Gradle
project sometimes(*) does not work in Android Studio 3.1 beta.

(*) The issue is related to various threads running concurrently
with "dumb" mode background code, so the issue reproduces only
on certain configurations.

In a nutshell, the issue is as follows

* On one hand, gradle build finishes, fires an event ("buildFinished")
  that is processed "later" and that causes the IDE to enter "dumb" mode
  for a shot amount of time (about 300-500 msec on a somewhat up to date
  multi-core computer).

* On the other hand, once the JVM of the debuggee is started, breakpoints
  need to be resolved (on the debugger thread, through a call to
  com.intellij.debugger.engine.CompoundPositionManager.createPrepareRequests.
  This code calls into the "KotlinPositionManager.createPrepareRequests",
  which in turns calls into "PerFileAnalysisCache.analyze". That method
  returns "AnalysisResult.EMPTY" is the project is in dumb mode.
  This return value prevents callers from successfully resolving
  the source location into a breakpoint.

Given that the 2 code paths above execute on separate threads without
explicit synchronization, the "failed to resolve breakpoint" issue
occurs sporadically, to the point it happens 100% of the time on
certain configuration.

The fix is so wrap the kotlin breakpoint resolution code inside
a "runReadActionInSmartMode" so that the debugger thread "waits"
for "dumb" mode to terminates before trying to resolve breakpoint
locations.

 #KT-22205 Fixed
2018-03-01 15:41:09 +03:00
Nikolay Krasko b1bcadd762 Add mandatory dependency to com.intellij.modules.remoteServers
Android studio doesn't have this bundled module, so this should
prevent installing plugins for Intellij to AS.

This patch should be reverted in AS branches.
2018-03-01 15:41:07 +03:00
Egor Neliuba 715d5e90ba Clean up test skips after KT-17137
We need to clean these up since primitive array `is` checks work now

(cherry picked from commit b413e9ef51606c51ebfb21bd7ff646b0fb75470a)
2018-03-01 14:26:13 +03:00
Anton Bannykh 4a5e9bbc7f JS: remove -XtypedArraysEnabled flag (always true now) 2018-03-01 14:26:13 +03:00
Dmitry Savvinov 60aae55233 Update changelog for 1.2.30 2018-03-01 14:15:42 +03:00
Pavel V. Talanov a6aea5625a Dsl completion: fix completion when multiple receivers are in scope 2018-02-28 19:48:45 +01:00
Ilya Chernikov 65af137117 (minor) Fix script templates from setting processing 2018-02-28 19:29:05 +01:00
Ilya Chernikov a5278c2184 Get rid of PathUtil dependency in the script_util
reduces transitive dependencies required for the script_util
2018-02-28 19:29:05 +01:00
Ilya Chernikov db7e06aaa4 Make dependencies to the script-runtime directly to the project...
instead to vie projectDist. With the current project bootstrap scheme a
dependency to the simply built script-runtime project via dist is not
needed anymore, but it breaks proper sources navigation in IDEA.
2018-02-28 19:29:05 +01:00
Nicolay Mitropolsky fa1d2a891b KotlinLanguageInjector: getNameReference extracted to work with annotations 2018-02-28 17:19:46 +03:00
Nicolay Mitropolsky 08c41474af KotlinLanguageInjector: "kotlin" injections in annotations handled by injectWithCall 2018-02-28 17:19:46 +03:00
Nicolay Mitropolsky fd4f4ef853 KotlinLanguageInjector: support for nested annotations (#KT-21753) 2018-02-28 17:19:46 +03:00
Mikaël Peltier 5c04264218 Remove unnecessary dependencies from AbstractBoundedValue
- Bounded value is a low-level abstraction for bounded ranges that is
used to generate specialized contains checks and for loop. It only
needs to contains StackValue that will be used to generate code.
- SimpleBoundedValue already have a constructor supporting StackValue
but having only one constructor avoid to pass extra argument that
will be used to only compute another information.
2018-02-28 15:20:03 +03:00
Anton Bannykh ed80252ba8 JS: fix double compareTo behaviour for NaN and +-0 (KT-22723) 2018-02-28 15:01:58 +03:00
Alexander Podkhalyuzin 12c01ef80a Kotlin SDK auto-creation is disabled now #KT-23059 Fixed
(cherry picked from commit f5d8479)
2018-02-28 14:38:29 +03:00
Mikhail Glukhikh 0f029d8f51 Scope function conversion: remove 'can' from description to fix tests 2018-02-28 14:30:32 +03:00
Alexey Sedunov d06f23f2ba Move: Fix replacement of non-code usages with backquoted names
#KT-13986 Fixed
2018-02-28 14:03:43 +03:00
Alexey Sedunov a194eb94cf Remove Redundant Backticks: Fix inspection applicability
#KT-22804 Fixed
2018-02-28 14:03:43 +03:00
Alexey Sedunov f65fe0dd5f Minor: Fix NPE
#KT-22724 Fixed
2018-02-28 14:03:43 +03:00
Alexey Sedunov 883558a4c7 Move/Copy: Fix 'protected' conflict reporting for references in super type entries
#KT-22678 Fixed
2018-02-28 14:03:43 +03:00
Alexey Sedunov 27f5ddcf83 Rename: Report redeclaration conflict between class and type alias
#KT-22751 Fixed
2018-02-28 14:03:42 +03:00
Alexey Sedunov a341392524 Move: Search Java usages when top-level declaration moves to new facade
#KT-22747 Fixed
2018-02-28 14:03:42 +03:00
Alexey Sedunov 91fdc0e967 Move: Drop ${...} around shortened qualified expression
#KT-22692 Fixed
2018-02-28 14:03:42 +03:00
Alexey Sedunov e63e48933d Move: Add import for top-level declarations moved to the default package
#KT-22661 Fixed
2018-02-28 14:03:42 +03:00
Alexey Sedunov 96132a686a Type Hierarchy: Support Kotlin class constructors
#KT-22925 Fixed
 #KT-22926 Fixed
2018-02-28 14:03:41 +03:00
Mikhail Glukhikh 66f3126b20 Scope function conversion: remove forced INFORMATION highlight type 2018-02-28 13:17:39 +03:00
Nicolay Mitropolsky 2f6fb4091b making LambdaArgument methods nullable
overridden `LambdaArgument.getArgumentExpression` removed because it is already nullable in parent

#EA-117013
2018-02-28 12:13:12 +03:00
Mikhail Glukhikh 664a25ce81 Polish KT-22011 inspection: message, level, group, range, etc. 2018-02-28 12:10:24 +03:00
Toshiaki Kameyama 7d6cb7805c Add inspection: Java mutator method used on immutable Kotlin Collections
In particular, fill, reverse, shuffle, sort calls are reported
So #KT-22011 Fixed
2018-02-28 11:52:44 +03:00
Mikhail Glukhikh bec28c8388 Replace with for-each: add new-lines using comment saver
Related to KT-15858
2018-02-28 11:29:44 +03:00