Ilmir Usmanov
8ffb205f1c
Reformat coroutineContext related code
2018-02-01 13:18:43 +03:00
Ilmir Usmanov
18c03f94f8
Move coroutineContext to correct package
...
from kotlin.coroutines.experimental.instrinsics to kotlin.coroutines.experimental
#KT-22400
2018-02-01 13:18:32 +03:00
Natalia Selezneva
efabf80d37
Scratch: do not store psiFile in ScratchFile
2018-02-01 11:07:54 +03:00
Natalia Selezneva
c32a7dd852
Scratch: add logging
2018-02-01 10:21:55 +03:00
Natalia Selezneva
2140b9457d
Minor: fix formatting
2018-02-01 10:21:55 +03:00
Natalia Selezneva
ac7beb41f3
Rearrange checkboxes in scratch panel
2018-02-01 10:21:55 +03:00
Natalia Selezneva
d6d2d4271b
Scratch: restore information about module in scratch panel after ide restart
2018-02-01 10:21:55 +03:00
Natalia Selezneva
0a274a7e61
Align output in scratch file
2018-02-01 10:21:55 +03:00
Natalia Selezneva
8e98f703ac
Change colors for scratch output
2018-02-01 10:21:55 +03:00
Natalia Selezneva
dc71ac09b2
Scratch: do not report errors from generated file to editor
2018-02-01 10:21:55 +03:00
Natalia Selezneva
ad90095dc7
Show multple errors in scratch toolwindow
2018-02-01 10:21:55 +03:00
Natalia Selezneva
d7c6dacc86
Temporary workaround: rename scratch files with kt extension to kts before additional api will be added in IDEA
2018-02-01 10:21:55 +03:00
Natalia Selezneva
c4971de7c1
Scratch: add Make before Run checkbox
2018-02-01 10:21:55 +03:00
Natalia Selezneva
a96cf147fc
Scratch: add multifile tests
2018-02-01 10:21:55 +03:00
Natalia Selezneva
23ef50203e
Use correct check for isRepl checkbox in scratch panel
2018-02-01 10:21:55 +03:00
Natalia Selezneva
654890fac3
Scratch: implement compiling executor
2018-02-01 10:21:55 +03:00
Natalia Selezneva
dda0b38fb9
Scratch: tests for repl execution
2018-02-01 10:21:55 +03:00
Natalia Selezneva
1a84c05db2
Scratch: implement output handlers for displaying execution results
2018-02-01 10:21:55 +03:00
Natalia Selezneva
01e62c9bdb
Scratch: implement run action with repl
2018-02-01 10:21:55 +03:00
Natalia Selezneva
2ccf4b7d7f
Initial support for scratch files
2018-02-01 10:21:55 +03:00
Alexey Sedunov
82a997e0a2
Kotlin Ultimate: Support Jest run configurations for Kotlin sources
...
#KT-21531 Fixed
2018-02-01 04:40:31 +03:00
Alexey Sedunov
2c0af794ea
JS: Drop obsolete "Kotlin (JavaScript)" run configuration
...
#KT-21312 Fixed
2018-02-01 04:40:30 +03:00
Vyacheslav Gerasimov
bb6ab6309a
Fix runIdeTask dependencies for communiti and ultimate
2018-01-31 21:36:03 +03:00
Vyacheslav Gerasimov
3e67bfd9b3
Exclude Kotlin plugin when unzipping intellij sdk
2018-01-31 20:10:25 +03:00
Vyacheslav Gerasimov
e20b6738f6
Extract removing bundled Kotlin plugin to separate task
2018-01-31 18:53:59 +03:00
Vyacheslav Gerasimov
59effef423
Delete bundled Kotlin plugin
...
Idea fails to start with two Kotlin plugins
2018-01-31 17:49:52 +03:00
Vyacheslav Gerasimov
527bdef447
Fix runIdeTask plugin path
2018-01-31 17:49:52 +03:00
Mikhail Glukhikh
babcea9edc
Fix completion test (companion object is allowed in annotation scope)
2018-01-31 14:44:33 +03:00
Nicolay Mitropolsky
cf6e21daad
Light annotations made strictly non-physical (KT-22565)
2018-01-31 14:31:35 +03:00
Mikhail Glukhikh
00ceac54fc
Fix "create enum constant" test (create type alias is no longer here)
2018-01-31 13:56:07 +03:00
Nikolay Krasko
209c66ca1b
Set better defaults on Imports tab in Code Style -> Kotlin (KT-22575)
...
"Top level symbols" and "Java Statics and Enum Members" are always
returned to 2 after saving to not-number option
#KT-22575 Fixed
2018-01-31 13:27:30 +03:00
Nikolay Krasko
607fa30c5a
Can't add import for using with '*' in settings (KT-22570)
...
#KT-22570 Fixed
2018-01-31 13:27:29 +03:00
Nikolay Krasko
894db730b2
Fix modification check for Kotlin import settings (KT-22557)
...
#KT-22557 Fixed
2018-01-31 13:27:29 +03:00
Nikolay Krasko
c0aa2c5469
Lost IF_RPAREN_ON_NEW_LINE settings from Kotlin code style
2018-01-31 13:27:29 +03:00
Nikolay Krasko
17da150bc2
Add ability to customize and save IF_RPAREN_ON_NEW_LINE setting
2018-01-31 13:27:29 +03:00
Ilya Chernikov
d70b9c1d76
Detect new activity after delayed shutdown correctly
...
fixes #KT-22549, test
(cherry picked from commit 50f34db )
2018-01-31 10:25:29 +01:00
Mikhail Glukhikh
98b0f91d84
Fix parcelize delete creator field test (companion is retained now)
2018-01-31 11:48:03 +03:00
Mikhail Glukhikh
294dcf36e8
Fix J2K 'testAnnotationInterface3' (annotation diagnostic changed)
2018-01-31 11:24:40 +03:00
Toshiaki Kameyama
677b05cc8c
KT-22167 "Add annotation target" quick fix does nothing and disappears from menu
2018-01-30 20:25:08 +03:00
Mikhail Glukhikh
6fbf5a8904
Reverts commit 2472966
...
(Remove unused function parameter: minor improvement)
Transformation was not equivalent due to change signature in between
This revert fixes broken quick-fix tests (remove parameter based)
2018-01-30 18:43:25 +03:00
Vyacheslav Gerasimov
d0b232c172
Update readme part about dependencies
2018-01-30 17:06:18 +03:00
Vyacheslav Gerasimov
68b5dc756c
Remove intellij-core from testRuntime if full idea is already there
...
Looks like it makes tests flacky
2018-01-30 17:06:18 +03:00
Vyacheslav Gerasimov
29caa00f23
Add asm-all to jps-plugin dependencies
2018-01-30 17:06:18 +03:00
Vyacheslav Gerasimov
bc86f40fd8
Update kotlinx-coroutines version to 0.20
2018-01-30 17:06:18 +03:00
Vyacheslav Gerasimov
89a07ded1c
Extract versions and remove unnecessary '.jar' extensions
2018-01-30 17:06:18 +03:00
Vyacheslav Gerasimov
3e34b95610
Use KotlinTestUtils.findAndroidSdk() in BuildCacheRelocationIT
2018-01-30 17:06:18 +03:00
Vyacheslav Gerasimov
052be93c97
Add some logging to intellij-sdk build script
2018-01-30 17:06:17 +03:00
Vyacheslav Gerasimov
558a2cb8a8
Explicit intellijUltimateEnabled should override teamcity build
2018-01-30 17:06:17 +03:00
Vyacheslav Gerasimov
3d1e0c3b39
Add dependency versions for 171, 181, AS
2018-01-30 17:06:17 +03:00
Vyacheslav Gerasimov
ca6889b4c6
Fix build script for kotlin-gradle-subplugin-example
2018-01-30 17:06:17 +03:00
Vyacheslav Gerasimov
07b191f460
Update dependency versions after migration to 173
2018-01-30 17:06:17 +03:00
Ilya Chernikov
8ab121b373
Exclude new dependencies locations from CodeConformanceTest
2018-01-30 17:06:17 +03:00
Ilya Chernikov
555e9674b2
Fix dependencies to the cross-project tasks
2018-01-30 17:06:17 +03:00
Ilya Chernikov
434bbafe58
Implement runners without intellij plugin, share common part
2018-01-30 17:06:16 +03:00
Ilya Chernikov
0a95e7b20f
Fix dependencies and artifacts contents after review
2018-01-30 17:06:16 +03:00
Ilya Chernikov
058ef31d7a
Fixes after review
2018-01-30 17:06:16 +03:00
Ilya Chernikov
14e586d5a5
Refactor android sdk preparation project after review
2018-01-30 17:06:16 +03:00
Dmitry Jemerov
e83845ea72
Build changes to support Android Studio
2018-01-30 17:06:16 +03:00
Dmitry Jemerov
b2ca302bf7
Support downloading Android Studio
2018-01-30 17:06:16 +03:00
Dmitry Jemerov
f4feb71ad2
Extract repeated versions to a single location
2018-01-30 17:06:16 +03:00
Dmitry Jemerov
df17f20ec7
Fix project sync when intelliUltimateEnabled is not set
2018-01-30 17:06:16 +03:00
Dmitry Jemerov
a58a6290cc
Fix typo
2018-01-30 17:06:15 +03:00
Ilya Chernikov
5dc094d290
Implement correct and fast ultimate/community sdks handling
2018-01-30 17:06:15 +03:00
Ilya Chernikov
6f1e6f1f1b
Fix tests after rebasing and messing with the dependencies
2018-01-30 17:06:15 +03:00
Ilya Chernikov
246f73c879
Cleanup unused ant-related bits and script constants
2018-01-30 17:06:15 +03:00
Ilya Chernikov
0c35e79283
Fix idea home path usages
2018-01-30 17:06:15 +03:00
Ilya Chernikov
2dc4769c0a
Fixes after rebase
2018-01-30 17:06:15 +03:00
Ilya Chernikov
172a29ba04
Implement NodeJS plugin downloading
2018-01-30 17:06:15 +03:00
Ilya Chernikov
48cbcbc496
Switch jsr305 usages to the maven version
...
since it is not available in the intellij ultimate SDK
2018-01-30 17:06:14 +03:00
Ilya Chernikov
acc84d2524
Rollback incorrect tests fix
2018-01-30 17:06:14 +03:00
Ilya Chernikov
7218bd536c
Implement single idea sdk scheme, some refactoring
2018-01-30 17:06:14 +03:00
Ilya Chernikov
5f7c783bb2
Stop using com.intellij.openapi.components.service functions:
...
they are getting obfuscated in the ultimate SDK, which prevents us
from using ultimate sdk for all modules.
Could probably be rolled back after fixing KT-18563
2018-01-30 17:06:14 +03:00
Ilya Chernikov
d38b1c361a
Add ultimate sdk
2018-01-30 17:06:14 +03:00
Ilya Chernikov
1219572aa0
Extract intellij params to buildSrc's build script
2018-01-30 17:06:14 +03:00
Ilya Chernikov
05f0978865
Fix after review
2018-01-30 17:06:14 +03:00
Ilya Chernikov
fbbece3c86
Fix publishing problem
2018-01-30 17:06:13 +03:00
Ilya Chernikov
7e21573cf4
Convert the rest of the project to intellij repo prepared in buildSrc
2018-01-30 17:06:13 +03:00
Ilya Chernikov
e23b1529b3
Convert intellij usages in the groovy build scripts
2018-01-30 17:06:13 +03:00
Ilya Chernikov
4eb557724c
Convert compiler projects to the new intellij deps
2018-01-30 17:06:13 +03:00
Ilya Chernikov
a418a3ac49
Renaming for easier conversion, some more manual conversion
2018-01-30 17:06:13 +03:00
Ilya Chernikov
6f21c36d68
Switch first project to the new custom dependencies schema
2018-01-30 17:06:13 +03:00
Ilya Chernikov
47507ad694
Switch all usages of dx.jar to the new mechanism, cleanup and refactoring
2018-01-30 17:06:13 +03:00
Ilya Chernikov
eabbebd458
Prepare intellij sdk deps in buildSrc
2018-01-30 17:06:13 +03:00
Yan Zhulanow
59c8f33450
Fix jps android test
2018-01-30 17:06:12 +03:00
Ilya Chernikov
46be5e25be
Rewrite android sdk dependencies to avoid config-time tasks execution
2018-01-30 17:06:12 +03:00
Ilya Chernikov
febab82c7e
Switch jps android test to platform 26
2018-01-30 17:06:12 +03:00
Ilya Chernikov
7120fe190a
Fix overrides of the findViewById in android tests for platform 26
2018-01-30 17:06:12 +03:00
Ilya Chernikov
587f76251e
Fix os-specific downloads in android sdk
2018-01-30 17:06:12 +03:00
Ilya Chernikov
e8494a5371
Fix uast-kotlin dependencies and tests
2018-01-30 17:06:12 +03:00
Ilya Chernikov
a6f8db5d02
Fix script-util tests
2018-01-30 17:06:12 +03:00
Ilya Gorbunov
7710cc455c
Refactor helper tasks for TeamCity builds
...
Invoke them properly from TeamCityBuild.xml acting as a temporary adapter.
Remove obsolete tasks from TeamCityBuild.xml.
Patch plugin version with regex replacement in plugin.xml.
2018-01-30 17:06:12 +03:00
Ilya Chernikov
b5db681e06
Switch tests to android sdk 26
2018-01-30 17:06:11 +03:00
Ilya Chernikov
c153a386ab
Fix tests
2018-01-30 17:06:11 +03:00
Ilya Chernikov
a4f28cd94f
Make all dependencies to idea sdk intransitive
2018-01-30 17:06:11 +03:00
Ilya Chernikov
e76cd802d8
Fix jps tests
2018-01-30 17:06:11 +03:00
Ilya Chernikov
b2926a9322
Add classpath printing tasks to all relevant projects
2018-01-30 17:06:11 +03:00
Ilya Chernikov
0b63e11ea8
Replace android sdk dependencies with custom project build, cleanup update_dependencies.xml
2018-01-30 17:06:11 +03:00
Ilya Chernikov
98204aa2d3
Move jflex download out from update_dependencies, add lexer (ant) tasks to frontend project
2018-01-30 17:06:11 +03:00
Ilya Chernikov
90e5558704
Re-add node.js tests, switch to direct usage of node_utils.xml, remove node parts from update_dependencies.xml
2018-01-30 17:06:10 +03:00
Ilya Chernikov
7f86fb9343
Switch to idea NodeJS plugin usage via intellij gradle plugin
2018-01-30 17:06:10 +03:00
Ilya Chernikov
69787bd0d1
Switch spring usages to regular dependency
2018-01-30 17:06:10 +03:00
Ilya Chernikov
d301938d23
Rewrite TeamCityBuild.xml tasks in gradle, finally drop build.xml files
...
also:
proxying previous tasks from TeamCityBuild.xml to gradle,
cleaning update_dependencies.xml from ant dependencies
2018-01-30 17:06:10 +03:00
Ilya Chernikov
12f0f019da
Switch robolectric usages to regular dependency
2018-01-30 17:06:10 +03:00
Ilya Chernikov
361d8536ac
Switch ant usages to regular dependency
2018-01-30 17:06:10 +03:00
Ilya Chernikov
486c3a2aff
Do not depende on the ideaSdk location in integration tests
...
assume that tests are always run from the project's root
2018-01-30 17:06:10 +03:00
Ilya Chernikov
f96153693e
Make tools.jar search non-throwing
2018-01-30 17:06:09 +03:00
Ilya Chernikov
80ad969f7b
Switch markdown usages to regular (teamcity) dependency
2018-01-30 17:06:09 +03:00
Ilya Chernikov
78d2c655d5
Switch native-platform usages to regular dependency
2018-01-30 17:06:09 +03:00
Ilya Chernikov
4a47fb3ffb
Switch protobuf usages to regular dependency
2018-01-30 17:06:09 +03:00
Ilya Chernikov
a952d797f1
Switch org.json:json usages to regular dependency
2018-01-30 17:06:09 +03:00
Ilya Chernikov
8f96157d7f
Switch kotlinx-coroutines usages to regular dependency
2018-01-30 17:06:09 +03:00
Ilya Chernikov
8bc95295eb
Drop other references to ideaSdk
2018-01-30 17:06:09 +03:00
Ilya Chernikov
9766508512
Drop drop lib folder and all (arguably obsolete) dependent usages
2018-01-30 17:06:09 +03:00
Ilya Chernikov
713fb9a0e7
Drop ideaSdk downloading in update_dependencies
2018-01-30 17:06:08 +03:00
Ilya Chernikov
b490a79d95
Replace direct usages of ideaSdk in tests with property passed from build scripts
2018-01-30 17:06:08 +03:00
Ilya Chernikov
eb8ef6e803
Drop unused sources
2018-01-30 17:06:08 +03:00
Ilya Chernikov
d39d2883e2
Ignore local data dir in idea and git
2018-01-30 17:06:08 +03:00
Ilya Chernikov
26369c3cca
Cleanup obsolete ideaSdk helpers
2018-01-30 17:06:08 +03:00
Ilya Chernikov
28689f631c
Convert instrumentation
2018-01-30 17:06:08 +03:00
Ilya Chernikov
10732a1bdd
Convert ultimate runner to intellij plugin
2018-01-30 17:06:08 +03:00
Ilya Chernikov
5d3579c079
Convert idea ultimate module to intellij plugin
2018-01-30 17:06:08 +03:00
Ilya Chernikov
f0edb602da
Convert ide-runner to intellij plugin
2018-01-30 17:06:07 +03:00
Ilya Chernikov
556287f9bb
Move idea plugin artifacts one dir deeper to simplify runIde task
...
Running idea via specifying plugins dir (instead of plugin.path property
allow idea to select proper plugin version without a need to remove a bundled
plugin. But in order to make it work, the regular and ultimate plugins
should have separate parent dirs.
2018-01-30 17:06:07 +03:00
Ilya Chernikov
06c8cbf7d6
Convert all remaining plugin modules to intellij plugin
2018-01-30 17:06:07 +03:00
Ilya Chernikov
9b51a547d8
Convert generators to intellij plugin, clean up dependencies
2018-01-30 17:06:07 +03:00
Ilya Chernikov
0d264793ce
Convert idea plugin modules to intellij plugin
2018-01-30 17:06:07 +03:00
Ilya Chernikov
3912025e14
Convert jps module to intellij plugin
2018-01-30 17:06:07 +03:00
Ilya Chernikov
8266777bd5
Convert js modules to intellij plugin
2018-01-30 17:06:07 +03:00
Ilya Chernikov
74411d9b9c
Convert all compiler modules to intellij plugin
2018-01-30 17:06:06 +03:00
Ilya Chernikov
6614695616
Convert more projects
2018-01-30 17:06:06 +03:00
Ilya Chernikov
743f599262
Add infrastructure and helpers for using intellij plugin, convert first project
2018-01-30 17:06:06 +03:00
Mikhail Glukhikh
a0d0bc074b
Cleanup: KotlinPullUpHelper
2018-01-30 16:32:20 +03:00
Mikhail Glukhikh
cefa17f877
Reformat: KotlinPullUpHelper
2018-01-30 16:30:08 +03:00
Mikhail Glukhikh
d88b5746c7
Delete companion manually during pull up
2018-01-30 16:29:22 +03:00
Mikhail Glukhikh
7c6a217579
Reformat: KotlinInlineCallableProcessor
2018-01-30 16:03:14 +03:00
Mikhail Glukhikh
6181ba47c8
Delete companion manually during callable inlining
2018-01-30 16:02:32 +03:00
Mikhail Glukhikh
9b1f323118
Retain empty companion in KtNamedDeclarationStub.remove
2018-01-30 15:41:38 +03:00
Mikhail Glukhikh
5abb9dd23e
Create actual fix: handle companions correctly #KT-21114 Fixed
2018-01-30 15:41:37 +03:00
Mikhail Glukhikh
f46fa263ef
Fix two psi checker tests (related to annotation diagnostic / parsing)
2018-01-30 15:41:06 +03:00
Mikhail Glukhikh
86f25bff63
KtVisitor: delegate constructors to KtNamedDeclaration
...
In particular, enables back "Unused symbol" on constructors
2018-01-30 15:24:39 +03:00
Mikhail Glukhikh
460688526d
Fix testAnnotationInterface3 in J2K (error message)
2018-01-30 15:23:41 +03:00
Mikhail Glukhikh
899da99232
Fix testAnnotation in "member visibility can be private"
2018-01-30 14:59:47 +03:00
Dmitry Savvinov
404122654f
Advance bootstrap version to 1.2.30-dev-672
2018-01-30 13:32:07 +03:00
Mikhail Zarechenskiy
c80beea6fd
[NI] Refactoring: extract method to create resolution result out
2018-01-30 13:01:21 +03:00
Mikhail Zarechenskiy
0e31162df4
[NI] Fix substitution for receiver when resolving constructor super call
2018-01-30 13:00:44 +03:00
Mikhail Zarechenskiy
2a0bb68e1c
[NI] Fix substitution of NotNullTypeParameter
2018-01-30 13:00:43 +03:00
Mikhail Zarechenskiy
4cd07f59a0
[NI] Don't fail on captured type that contains type variable
2018-01-30 13:00:42 +03:00
Mikhail Zarechenskiy
145c04e7e2
[NI] Fix substitution of incorporation constraint type
2018-01-30 13:00:40 +03:00
Mikhail Glukhikh
725704e70f
ExclExclCallFixes: reformat
2018-01-30 11:23:18 +03:00
Mikhail Glukhikh
2472966749
Remove unused function parameter: minor improvement
2018-01-30 11:23:18 +03:00
Mikhail Glukhikh
1298ef7fed
Redundant Unit expression: simplify code a bit
2018-01-30 11:18:01 +03:00
Mikhail Glukhikh
cd9e298e53
getParentOfTypesAndPredicate: Class<T> -> Class<out T>
2018-01-30 11:17:27 +03:00
Toshiaki Kameyama
18de0f75ab
Redundant Unit inspection: fix false positive for single expression
...
So #KT-22097 Fixed
2018-01-30 10:03:36 +03:00
Mikhail Glukhikh
30acc224ec
Reformat: redundant setter
2018-01-30 10:00:02 +03:00
Toshiaki Kameyama
69f3f04fe4
Correct report of "redundant setter" for override & empty block cases
...
So #KT-22364 Fixed
2018-01-30 09:59:55 +03:00
Alexander Udalov
0ad3872d1b
Remove unneeded constructor parameters in CallCheckerContext
2018-01-29 19:38:03 +01:00
Dmitry Savvinov
1171fdb14d
Add draft of changelog for 1.2.30
2018-01-29 19:50:04 +03:00
Dmitry Savvinov
a39aba4269
Revert "Add changelog for 1.2.30"
...
This reverts commit 4b70654c7e .
2018-01-29 19:45:08 +03:00
Dmitry Savvinov
4b70654c7e
Add changelog for 1.2.30
2018-01-29 19:42:26 +03:00
Toshiaki Kameyama
28123eaf7b
Add intention for changing setter accessibility #KT-22409 Fixed
2018-01-29 19:09:19 +03:00
Alexey Sedunov
7f97d58970
Type Hierarchy: Do not use JVM class mapping in non-JVM modules
...
#KT-21424 In Progress
2018-01-29 18:56:29 +03:00
Alexey Sedunov
089b34a8a9
Minor: Regenerate tests
2018-01-29 18:56:28 +03:00
Mikhail Glukhikh
1f8e2a1057
Reformat: unfold return to ...
2018-01-29 18:01:10 +03:00
Toshiaki Kameyama
3a81be6cfb
Do not insert returns before Nothing in "Replace return with 'if'"
...
So #KT-22159 Fixed
2018-01-29 17:56:26 +03:00
Mikhail Glukhikh
f28bec0db1
Reformat: if-then utilities
2018-01-29 17:49:34 +03:00
Mikhail Glukhikh
3b8f5bce41
Reformat: "if then to safe access" inspection
2018-01-29 17:44:19 +03:00
Toshiaki Kameyama
fad7818bf0
Fix "if to safe access" false positive for check on incorrect type
...
So #KT-21881 Fixed
2018-01-29 17:43:01 +03:00
Mikhail Glukhikh
5798595206
Cleanup: IntentionDescriptionTest
2018-01-29 16:28:45 +03:00
kenji tomita
a28bc830f5
Add Intention for single character substring #KT-22171 Fixed
2018-01-29 16:23:01 +03:00
Mikhail Glukhikh
29eb594309
Inspection to replace Java Collections methods: simplify type check
...
Related to KT-22038
2018-01-29 15:52:45 +03:00
Mikhail Glukhikh
068f520c01
Inspection to replace Java Collections methods: fix formatting
2018-01-29 15:52:45 +03:00
Toshiaki Kameyama
be4739e65e
Inspection to replace Java Collections methods: extend set of types
...
So #KT-22038 Fixed
2018-01-29 15:52:44 +03:00
Alexey Sedunov
bd8a4d78fa
Line Markers: Don't show test run line markers for top-level functions
...
#KT-13509 Fixed
2018-01-29 14:48:41 +03:00
Mikhail Glukhikh
8cbf364457
Remove braces: add parentheses to if-else in more general case
...
Related to KT-18308
2018-01-29 14:32:36 +03:00
Toshiaki Kameyama
44c15d8311
Remove braces: add parentheses to if-else inside expression
...
So #KT-18308 Fixed
2018-01-29 14:32:36 +03:00
Alexander Udalov
19e38bbc72
Do not run annotation checkers for every non-annotated element
2018-01-29 12:22:41 +01:00
Alexander Udalov
46b8deedf7
Run classifier usage checkers on constructor calls
...
In some cases, REFERENCE_TARGET for annotation entries is the annotation
class descriptor, and in others -- the constructor of that class
2018-01-29 12:22:41 +01:00
Alexander Udalov
8cd7686535
Introduce DeclarationCheckerContext, remove SimpleDeclarationChecker
2018-01-29 12:22:40 +01:00
Alexander Udalov
4cb5483c13
Introduce CheckerContext and ClassifierUsageCheckerContext
...
To reduce the number of parameters in classifier usage checker
implementations, and to unify the API with call checkers
2018-01-29 12:20:36 +01:00
Alexander Udalov
e2def0c60e
Do not report "invalid type of annotation member" on error types
...
In case the referred type is actually an enum that is not found in
dependencies due to a configuration problem, this usage could be valid.
So we can avoid reporting an error here, to reduce the number of
diagnostics.
Also do not report "default value of annotation parameter must be a
compile-time constant" in the same case for the same reason
2018-01-29 12:20:36 +01:00
Natalia Selezneva
c251386fc3
Rearrange script templates in GradleScriptTemplateProvider
...
#KT-22473 Fixed
2018-01-29 11:16:29 +03:00
Alexey Sedunov
b091500adc
Rename: Wrap facade class when renaming file
...
This prevents assertion error (introduced in IDEA 181)
caused by facade light class invalidation
and fixes failing test
2018-01-29 01:34:48 +03:00
Alexey Sedunov
80643c5603
Rename: Fix processing of functions without light methods
...
#KT-22461 Fixed
2018-01-29 01:34:48 +03:00
Alexander Udalov
245d1de2a2
Remove runtime dependency on projectDist(":kotlin-compiler")
...
This dependency makes IDEA reindex kotlin-compiler.jar after every
Gradle build, which takes time and breaks some key IDE features
2018-01-28 10:14:24 +01:00
Dmitry Savvinov
4d951de616
Propagate nullability changes to enhancement for JSR-305 types
...
Fix TypeUtils.makeNullableAsSpecified for SimpleTypeWithEnhancement and
FlexibleTypeWithEnhancement: change nullability of enhancement too. This
fixes several false-positive warnings, like in KT-20855 and KT-20466.
Note that it removes warning in some cases (see testdata change for
uselessElvisRightIsNull.kt). However, this removes warning about
*unnecessary* elvis, i.e. this fixed introduces weak false-negatives, which
is acceptable for the moment.
#KT-20855 Fixed Target versions 1.2.30
#KT-20466 Fixed Target versions 1.2.30
#KT-21238 Fixed Target versions 1.2.30
2018-01-26 12:49:14 +03:00
Nikolay Krasko
4c76dc7287
Forbid modification for KtLambdaExpression in JavaCodeBlockModificationListener
...
See IDEA-185462 for details
2018-01-26 12:42:17 +03:00
Nikolay Krasko
4d2061d836
Minor: reformat coverage
2018-01-26 12:42:17 +03:00
Nikolay Krasko
6d7c779df2
Better diagnostic for file absence in updateJar (KT-22272)
...
#EA-96117 Fixed
#KT-22272 Fixed
2018-01-26 12:42:16 +03:00
Toshiaki Kameyama
7e417272b2
"Join lines" works incorrectly in case of line containing more than one string literal (KT-22374)
...
#KT-22374 Fixed
2018-01-26 12:42:16 +03:00
Mikhael Bogdanov
cc346aef64
Support @JvmStatic for interface companion objects in backend
2018-01-26 10:09:21 +01:00
Mikhael Bogdanov
8bfd6d7404
Support JVM_TARGET in diagnostic tests
2018-01-26 10:09:20 +01:00
Mikhael Bogdanov
c4da370b0b
Allow to use @JvmStatic in interface companion object
2018-01-26 10:09:20 +01:00
Mikhael Bogdanov
2340756b88
Minor. Reformat
2018-01-26 10:09:20 +01:00
Dmitry Savvinov
253cd3871b
Support effect system-related args in platform
2018-01-26 11:30:44 +03:00
Dmitry Savvinov
b29a6e48fb
Refactor language features, which control effect system
...
- Introduce new language feature 'ReadDeserializedContracts', which
allows to deserialize contracts from metadata.
- Introduce new language feature 'AllowContractsForCustomFunctions',
which allows reading contracts from sources.
- Use new features instead of combination 'CallsInPlaceEffect ||
ReturnsEffect'
- Rename 'CallsInPlaceEffect' -> 'UseCallsInPlaceEffect',
'ReturnsEffect' -> 'UseReturnsEffect'. As names suggest, they control
if it is allowed to use corresponding effect in analysis.
We have to introduce separate 'ReadDeserializedContracts' to enable
contracts only in some modules of the project, because libraries are
read with project-wide settings (see KT-20692).
2018-01-26 11:30:44 +03:00
Dmitry Savvinov
78850087be
Revert reformatting for OperationsMapGenerated.kt
2018-01-26 11:00:28 +03:00
Dmitry Petrov
5e34f290ce
Reified 'as?' produces nullable result
...
Previously, this was treated as a regular CHECKCAST, causing KT-22410.
#Fixed KT-22410 Target versions 1.2.30
2018-01-26 10:22:59 +03:00
Dmitry Petrov
bd25bf14df
Minor: reformat code in org.jetbrains.kotlin.codegen.optimization
2018-01-26 10:18:17 +03:00
Yan Zhulanow
e12deb54d6
Android Extensions: Fix "Inconsistent file tree" exception on Activity creation (KT-22349)
2018-01-25 22:03:30 +03:00
Yan Zhulanow
7b055c2172
Kapt: Prefer non-aliased imports over aliased. Make sure the imported short names are unique (KT-22083)
2018-01-25 22:03:29 +03:00
Ilya Gorbunov
233376eef0
Improve min/max specialization for longs and 3-arg overloads in JS
2018-01-25 21:41:18 +03:00
Ilya Gorbunov
2da9f12bc5
Inline findAnyOf(chars) into indexOfAny/lastIndexOfAny
...
This helps to reduce allocation count
#KT-22042
2018-01-25 21:37:22 +03:00
Cuihtlauac ALVARADO
923d9f03fc
Update test results
...
Separated issue reported: KT-22522
#KT-22369 Fixed
2018-01-25 21:15:08 +03:00
Denis Zharkov
31e73e90d6
Explicitly state that PluginDeclarationProviderFactory is source-only
...
Before this change `filesScope` was effectively empty in cases when
module info is a library, thus looking
into PackageIndexUtil.packageExists(name, indexedFilesScope, project)
was kind of redundant since it always returns false for empty scopes
The initial motivation was run by 1716720604
that made PackageIndexUtil::packageExists calls much more frequent
2018-01-25 14:41:28 +03:00
Denis Zharkov
2224f95294
Minor. Avoid wrapping GlobalSearchScope.EMPTY_SCOPE
2018-01-25 14:41:28 +03:00
Denis Zharkov
4d378912bf
Minor. Reformat JVM/JS analyzer facades
2018-01-25 14:41:28 +03:00
Toshiaki Kameyama
4232ad8dfe
"Join lines" works incorrectly in case of line with more than one string literal (KT-22374)
...
#KT-22374 Fixed
2018-01-24 20:09:32 +03:00
Toshiaki Kameyama
c06aaf6128
Some Live Templates should probably be enabled also for "expressions" not only "statements" (KT-19194)
...
Consider if-then, if-else, do-while, while positions without block as
statement position.
#KT-19194 Fixed
2018-01-24 20:09:32 +03:00
Alexander Udalov
543db380d2
Use isJvmInterface in JVM back-end instead of isInterface
...
To support const vals and proper initialization order for companions of
annotations (since 1.3+) as well as interfaces
#KT-16962 Fixed
2018-01-24 15:54:35 +01:00
Alexander Udalov
a46a2b9b1c
Support nested classes in annotation classes
...
#KT-16962 In Progress
2018-01-24 15:54:35 +01:00
Alexey Sedunov
5947b4eb8e
Minor: Fix Maven server url
2018-01-24 17:52:41 +03:00
Alexey Sedunov
c96eb8df85
Minor: Fix test data for ConvertFunctionTypeParameterToReceiverIntention
2018-01-24 17:28:34 +03:00
Sergey Igushkin
a59fd3bc85
Remove the usage of repository.jetbrains.com
2018-01-24 17:12:45 +03:00
Ilya Gorbunov
32b68ae1d5
Rearrange platform specialized functions
...
Place them according to their operation to ArrayOps and Filtering.
2018-01-24 02:10:05 +03:00
Ilya Gorbunov
eda8bbacb3
Remove obsolete JvmVersion annotation from generated functions
...
These functions are already generated in jvm-only file
2018-01-24 02:10:01 +03:00
Sergey Igushkin
20c4775da0
Remove repository.jetbrains.com mirror of Maven Central in libraries.
2018-01-23 23:41:39 +03:00
Sergey Igushkin
0c78a2c026
Remove some of the remaining mentions of repository.jetbrains.com
2018-01-23 23:35:50 +03:00
Alexander Udalov
f516667640
Exclude META-INF/services from kotlin-reflect-sources.jar
2018-01-23 17:11:20 +01:00
Alexander Udalov
3bf5f44b9d
Exclude .proto files from kotlin-reflect.jar
...
#KT-22459 Fixed
2018-01-23 17:11:09 +01:00
Vyacheslav Gerasimov
399282234e
Add changelog for 1.2.21
2018-01-23 17:47:17 +03:00
Ilya Gorbunov
6b9520ec73
KT-16661 Simplify String.split a bit more
...
Check that limit is reached only once in a loop, move nextIndex check to the end of loop.
2018-01-23 13:29:35 +03:00
Vsevolod
510e17246f
KT-16661 Simplify Strings#split
...
Do not search for next occurrence if limit is reached.
2018-01-23 13:29:29 +03:00
Vsevolod
2805371bdc
KT-16661 Provide fast-path for Strings#split with single delimiter
...
Optimize single delimiter split when no matches is found:
Return listOf() of single element instead of adding 'this' to result
because underlying array in ArrayList is created lazily and
by default its size is 16.
Pre-size resulting list in split when limit is known.
2018-01-23 13:29:05 +03:00
Dmitry Petrov
72ffbb9825
Add test for array modification within for-in-array-withIndex loop body
2018-01-23 10:55:24 +03:00
Dmitry Petrov
40d1925e19
Provide optimized code generation for for-in-withIndex for sequences
...
#KT-5177 In Progress
2018-01-23 10:55:24 +03:00
Dmitry Petrov
2399a39414
Provide optimized code generation for for-in-withIndex for CharSequences
...
#KT-5177 In Progress
2018-01-23 10:55:24 +03:00
Dmitry Petrov
9c9e507172
Provide optimized code generation for for-in-withIndex for iterables
...
#KT-5177 In Progress
2018-01-23 10:55:24 +03:00
Dmitry Petrov
08622b0953
Provide optimized code generation for for-in-withIndex for arrays
...
#KT-5177 In Progress
2018-01-23 10:55:24 +03:00
Dmitry Petrov
e07e9c0ea5
Refactor RangeCodegenUtil: introduce isTopLevelExtensionOnType
2018-01-23 10:55:24 +03:00
Dmitry Petrov
fb487b31ba
Minor: format code in RangeCodegenUtil
2018-01-23 10:55:24 +03:00
Dmitry Petrov
5c1321a29f
Minor: format code in org.jetbrains.kotlin.codegen.range
2018-01-23 10:55:24 +03:00
Alexey Tsvetkov
f77586574f
Always sort files in K2JSCompiler
...
Previously files were sorted only when IncrementalDataProvider
was not null to normalize js output in case of incremental compilation.
Because of that an output js file could be different after rebuild
in IC tests.
The issue could be reproduced anywhere, but the tests failed only on
Windows, and it seems tests were not run on Windows for some time.
2018-01-22 18:34:17 +03:00
Alexey Tsvetkov
21f2b68357
Fix BuildLogParserParametrizedTest on Windows: normalize line separators
2018-01-22 18:34:17 +03:00
Alexey Tsvetkov
6fc5c3325c
Minor: rename file to match class name
2018-01-22 18:34:17 +03:00
Alexey Sedunov
737d7dcc2f
Kotlin Facet: Use Kotlin SDK for non-JVM imported modules
2018-01-22 12:21:13 +03:00
Alexey Sedunov
70cb08bfdb
Misc: Update test data (new 'allopen' Spring annotations added)
2018-01-22 12:21:12 +03:00
Denis Zharkov
2e933a165a
Avoid retaining all protobuf objects in DeserializedMemberScope
...
Object model for deserialized protobuf isn't very cheap, so
loading just our stdlib's packages several times (as we do in the IDE)
might lead to ~ 96 MB of retained memory just by these objects.
While in fact many of them remain unused
#KT-21517 Fixed
2018-01-22 10:48:25 +03:00
Nikolay Krasko
b701117ffb
Minor: reformat, and warning fixes in outdated notification subsystem
2018-01-19 22:41:52 +03:00
Nikolay Krasko
2386cfbd07
Do not spell check overridden declaration names (KT-15000)
...
#KT-15000 Fixed
2018-01-19 22:41:51 +03:00
Anton Bannykh
ff00831109
JS: minor fixes in kotlin-test-js-it
...
Jasmine version 2.6.0 doesn't support Promise-based
asynchronous tests.
Also the error message for an unexpected test result was incorrect.
2018-01-19 20:16:31 +03:00
Ilmir Usmanov
f4ad5182b8
Fix OOM error in ReturnUnitMethodTransformer
...
#KT-22345: Fixed
2018-01-19 20:13:23 +03:00
Ilya Gorbunov
40aa2280a5
Replace .. with until or indices where appropriate
...
Replace indices.reversed() with lastIndex..0 as it is not optimized in JS yet
2018-01-19 19:53:09 +03:00
Alexander Udalov
513f50785e
Use processResources task to copy compiler.xml to IDEA plugin
...
This fixes tests broken in 4b2d281bba and 95f9884799
2018-01-19 17:26:33 +01:00
Alexander Udalov
4b2d281bba
Include META-INF/extensions/compiler.xml into IDEA plugin
...
This fixes tests and IDEA run configurations broken in 95f9884799
2018-01-19 15:13:40 +01:00
Mikhail Glukhikh
577c6cde82
KtInvokeFunctionReference: protect from KNPE in getLambdaExpression
...
So EA-114887 Fixed
2018-01-19 16:16:33 +03:00
Mikhail Glukhikh
26c1673da0
J2K: KtInvokeFunctionReference
2018-01-19 16:16:31 +03:00
Mikhail Glukhikh
117c5a29fb
KtInvokeFunctionReference.java -> kt
2018-01-19 16:16:22 +03:00
Mikhail Glukhikh
b1bff24cde
Move lambda inside: protect from KNPE in getLambdaExpression
...
So EA-114888 Fixed
2018-01-19 16:16:21 +03:00
Mikhail Glukhikh
f675d9fd81
Convert reference to lambda: protect from root fq name EA-114907 Fixed
2018-01-19 16:16:19 +03:00
Mikhail Glukhikh
3c19af3645
Convert reference to lambda: reformat
2018-01-19 16:16:18 +03:00
Mikhail Glukhikh
9d9b2b2a58
Fix stub inconsistency in "inline type parameter fix"
...
Fixes one quick-fix test
2018-01-19 16:16:17 +03:00
Mikhail Glukhikh
1924172189
Inline type parameter fix: reformat
2018-01-19 16:16:16 +03:00
Mikhail Glukhikh
ee3f89df87
Remove unused function parameter: delete empty constructor accurately
...
So #KT-22221 Fixed
Fixes also some quick-fix tests
2018-01-19 16:16:15 +03:00
Mikhail Glukhikh
c4ef95dbf7
Remove empty primary constructor: reformat
2018-01-19 16:16:13 +03:00
Mikhail Glukhikh
ac1c40c0e6
Add function to supertype fix: get rid of incorrect type comparator
...
So EA-100297 Fixed
2018-01-19 16:16:12 +03:00
Mikhail Glukhikh
7f947bed1e
Add function to supertype fix: reformat
2018-01-19 16:16:11 +03:00
Mikhail Glukhikh
925e4e0a67
KotlinUnusedImportInspection: use LocalQuickFixOnPsiElement
2018-01-19 16:16:10 +03:00
Mikhail Glukhikh
a3dda258c8
KotlinUnusedImportInspection (minor): specify platform type
2018-01-19 16:16:09 +03:00
Mikhail Glukhikh
dade8deea6
KotlinUnusedImportInspection: reformat
2018-01-19 16:16:07 +03:00
Mikhail Glukhikh
c54dd6385c
KotlinUnusedImportInspection: check for disposal of progress indicator
...
So #KT-22335 Fixed
2018-01-19 16:16:06 +03:00
Mikhail Glukhikh
c52fcdde70
Remove explicit type: reformat
2018-01-19 16:16:05 +03:00
Mikhail Glukhikh
512e287f3a
Remove setter parameter type: do not suggest if type is empty
...
So #KT-22339 Fixed
2018-01-19 16:16:04 +03:00
Mikhail Glukhikh
f0b172ca35
Remove setter parameter type: reformat
2018-01-19 16:16:02 +03:00
Sergey Igushkin
c8900d672f
Update Gradle plugins build instructions
2018-01-19 12:58:39 +03:00
Mikhael Bogdanov
4c1eb21805
Minor. Add assertion message
2018-01-19 10:42:02 +01:00
Nicolay Mitropolsky
2623ae714c
Uast: consistency updates for ULambdaExpression
2018-01-19 10:45:58 +03:00
Nicolay Mitropolsky
25cd54713b
Uast: consistency for imports-expressions
2018-01-19 10:45:58 +03:00
Nicolay Mitropolsky
d5d49c65b4
Uast: tests for UClass.uastSuperTypes
2018-01-19 10:45:58 +03:00
Mikhael Bogdanov
7b212c5650
Add support for android MPP
...
#KT-18462 Fixed
2018-01-18 15:21:19 +01:00
Toshiaki Kameyama
2a10d8e837
KT-15176 Remove "Create type alias" intention when called on java class
2018-01-18 16:23:40 +03:00
Dmitry Savvinov
44920f42d8
[NI] Fix unit coercion
...
Consider following case:
fun foo(): Unit = run { "hello" }
Previously, NI would analyze lambda body without expected type, because
it is a type variable 'R' from 'run', which hasn't been fixed yet. This
leads to treating "hello" as lambda-return argument and adding bogus
'String' constraint on 'R', and, consequently, type mismatch.
Now, we peek into current constraint system and check if return-type of
lambda is type variable with upper-Unit constraint (which is exactly
condition for its body to be Unit-coerced). If so, then we provide
expected Unit-type for body explicitly, and the rest will be done
automatically (in particular, in aforementioned example "hello" wouldn't
be treated as lambda return argument).
2018-01-18 15:13:45 +03:00
Alexander Udalov
b3eeb2f735
Remove unneeded members of ConstantValueFactory
2018-01-18 12:49:38 +01:00
Alexander Udalov
82574cb570
Do not store ClassDescriptor in EnumValue
...
Only store the ClassId of the enum class and the Name of the entry, and
resolve the needed descriptor in getType() instead, which now takes the
module instance where that descriptor should be resolved
2018-01-18 12:49:38 +01:00
Alexander Udalov
9290d58ed0
Improve "firstArgumentValue" and "argumentValue" extension functions
...
Using the argument value, which is of type "Any?", is more implicit and
thus difficult to read than using the ConstantValue instance and casting
it to the needed constant value implementation before taking the value
2018-01-18 12:49:38 +01:00
Alexander Udalov
899002b681
Refactor JavaEnumValueAnnotationArgument and implementations
...
Only require implementations to be able to compute the enum class name
and the corresponding entry name. Only this should be necessary to
correctly resolve the argument; the resolvers will find the
corresponding class descriptor if necessary
2018-01-18 12:49:38 +01:00
Alexander Udalov
907f53e539
Refactor ConstantValue implementations
...
Remove KotlinBuiltIns and take a ModuleDescriptor instance in getType
instead. This will allow to create constant values in contexts where
there's no module or built-ins accessible (such as, deserialization of
module annotations during indexing of .kotlin_module files in IDE).
Note that some values (KClassValue, EnumValue, AnnotationValue) still
take module-dependent objects (KotlinType, ClassDescriptor and
AnnotationDescriptor respectively). This is to be refactored later
2018-01-18 12:49:38 +01:00
Alexander Udalov
5e97517c8b
Fix bug in StringValue.equals
...
Also simplify equals() implementations of other constant values
2018-01-18 12:49:38 +01:00
Alexander Udalov
95f9884799
Move META-INF/extensions/compiler.xml to module 'cli'
2018-01-18 12:48:04 +01:00
Alexander Udalov
02857dbfdb
JS: support "LANGUAGE" directives in box tests
2018-01-18 12:46:27 +01:00
Alexander Udalov
8b3d439d5b
JS: minor, simplify code locating default argument values
...
At the only call site of getDefaultArgument it is checked that the
parameter actually _declares_ default value, so it's not necessary to
try to load that value from supertypes
2018-01-18 12:46:27 +01:00
Nikolay Krasko
ae2d67a5b1
Update "Kotlin configured but no stdlib" status on file update (KT-22356)
...
Provide feedback before project re-import is finished.
#KT-22356 Fixed
2018-01-18 12:13:54 +03:00
Nikolay Krasko
2637a36e22
Inspection doesn't suggest Maven Plugin for kotlin-stdlib-jre8 (KT-18007)
...
#KT-18007 Fixed
2018-01-18 12:13:53 +03:00
Nikolay Krasko
4a2440ea0f
Reformat and cleanup idea-maven_main module
2018-01-18 12:13:53 +03:00
Mikhael Bogdanov
7f1cc81d39
Support test directives in android tests
2018-01-18 10:08:58 +01:00
Mikhael Bogdanov
ef1a3ec32d
Convert CodegenTestsOnAndroidGenerator to Kotlin
2018-01-18 10:08:58 +01:00
Mikhael Bogdanov
7e6542b8c8
Renema CodegenTestsOnAndroidGenerator.java to CodegenTestsOnAndroidGenerator.kt
2018-01-18 10:08:57 +01:00
Denis Zharkov
1716720604
Optimize declaration providers for case of non-existing packages
...
Avoid creating memoized function nodes when the value is obviously null
Otherwise, it may lead to about 25M retained by empty concurrent hashmap
nodes
2018-01-18 11:40:26 +03:00
Denis Zharkov
0f74bb4a7a
Get rid of compile dependency to 'compiler-embeddable' from :idea
...
Previously, it's been added transitively from :kotlin-compiler-runner
as a compile dependency instead of runtime as it's declared in compiler-runner
2018-01-18 11:39:34 +03:00
Alexey Tsvetkov
72f2406083
Turn IC on by default for MPP projects
2018-01-17 21:23:43 +03:00
Sergey Igushkin
5deb20543f
Get rid of gradle-api artifacts uploaded to and used from JB repo
...
Remove redundant Maven dependency to `gradle-api` scoped as provided
2018-01-17 18:45:26 +03:00
Vyacheslav Gerasimov
d16883deaa
Build: Clean previous output before instrumentation
...
Otherwise it may lead to unnecessary classes (left from previous plugin build) being packed to plugin
2018-01-17 16:57:56 +03:00
Dmitry Savvinov
c704f2de9a
Reformat 'resolution' module according to new codestyle
2018-01-17 16:47:45 +03:00
Vyacheslav Gerasimov
e2b83aecd7
Fix publishing to Gradle plugin portal
2018-01-17 15:33:15 +03:00
Anton Bannykh
7b0070ea62
Promise-based async integration test for kotlin-test-js
2018-01-17 14:46:13 +03:00
Dmitry Jemerov
ca57309374
Temp revert fix for KT-10591 as it causes non-obvious test breakage
2018-01-17 11:39:35 +01:00
Alexey Sedunov
a752f3f38e
Misc: Rename class
2018-01-17 12:54:39 +03:00
Alexey Sedunov
62580a47dc
Misc: Add test for KT-7316
...
#KT-7316 Fixed
2018-01-17 12:53:57 +03:00
Alexey Sedunov
54f4f5ff24
Configuration: Add Kotlin SDK for non-JVM projects
...
#KT-16976 Fixed
2018-01-17 12:52:51 +03:00
Alexey Sedunov
af1d6124ce
JS: Do not specify NodeJS path in Gradle projects
...
We rely on node_modules directory content which must be populated
by the build script itself
2018-01-17 12:45:45 +03:00
Alexey Sedunov
c6a9c36275
Analyze Data Flow: Support cross-language analysis
...
#KT-16833 Fixed
2018-01-17 12:40:34 +03:00
Dmitry Petrov
6cb68531ae
Minor: add missing "'"
2018-01-17 12:31:07 +03:00
Dmitry Petrov
bba8168150
Add test for extension properties declaration in IR
2018-01-17 12:31:07 +03:00
Dmitry Petrov
1f841e35bc
Formatting: psi2ir
2018-01-17 12:31:07 +03:00
Dmitry Petrov
432c743771
Formatting: ir.tree and some common code
2018-01-17 12:31:07 +03:00
Dmitry Petrov
fdd000c94f
Update testData to new format
2018-01-17 12:31:07 +03:00
Dmitry Petrov
4d54036d21
Use declaration properties in RenderIrElementVisitor
2018-01-17 12:31:07 +03:00
Dmitry Petrov
7dc15b15bb
Add basic properties to IR declarations
2018-01-17 12:31:07 +03:00
Dmitry Petrov
2f09c51dca
Formatting: IR test classes
2018-01-17 12:31:07 +03:00
Nikolay Krasko
704ce121bc
Use other property name in Java with Kotlin static import tests
2018-01-17 12:05:06 +03:00
Nikolay Krasko
1c7e42f1d4
Collapsed comments containing * get removed in the summary line (KT-21994)
...
#KT-21994 Fixed
2018-01-17 12:05:05 +03:00
Nikolay Krasko
a1b20535b2
Search same place for it usages in rainbow highlighter (KT-22242)
...
Reuse KotlinTargetElementEvaluator for getting same declaration
context for implicit 'it' parameter.
#KT-22242 Fixed
2018-01-17 12:05:04 +03:00
Vyacheslav Gerasimov
f86b77083f
Add sources and javadoc to kotlin-annotations-android
2018-01-16 21:19:46 +03:00
Alexey Tsvetkov
d1d786dffa
Fix lookup tracking in JPS with enabled daemon
...
#KT-21962 fixed
2018-01-16 21:09:57 +03:00
Alexey Tsvetkov
220fab0d3f
Test JPS with Daemon and IC
2018-01-16 21:09:57 +03:00
Alexey Tsvetkov
ca09be1411
Minor: move 'KotlinJpsBuildTestIncremental' to separate file
2018-01-16 21:09:57 +03:00
Nicolay Mitropolsky
b4db744a9b
Uast: KotlinStringULiteralExpression.getExpressionType() made always return String
2018-01-16 20:38:00 +03:00
Dmitry Jemerov
e46f69bb36
Disable "Decompile" button if bytecode generation threw exception
...
#KT-13791 Fixed
2018-01-16 17:54:49 +01:00
Dmitry Jemerov
404f9cc7d8
KotlinBytecodeToolWindow: convert to .kt
2018-01-16 17:54:48 +01:00
Dmitry Jemerov
bad76eb5c2
KotlinBytecodeToolWindow: rename to .kt
2018-01-16 17:54:47 +01:00
Dmitry Jemerov
5b3ab97b4e
Highlight 'var' primary constructor parameters as mutable
...
#KT-11467 Fixed
2018-01-16 17:54:45 +01:00
Dmitry Jemerov
571b424b33
Use DescriptorToSourceUtilsIde.getAnyDeclaration in super navigation
...
#KT-16333 Fixed
2018-01-16 17:54:44 +01:00
Dmitry Jemerov
cc90dfa65b
GotoSuperActionHandler: convert to .kt
2018-01-16 17:54:43 +01:00
Dmitry Jemerov
690c3433d6
GotoSuperActionHandler: rename to .kt
2018-01-16 17:54:42 +01:00
Dmitry Jemerov
106e1b8661
Don't include unindented comments preceding a function into its text range
...
#KT-10591 Fixed
2018-01-16 17:54:29 +01:00
Dmitry Jemerov
075541da21
Show location info for members defined in object literals
...
#KT-22179 Fixed
2018-01-16 17:54:27 +01:00
Dmitry Jemerov
564490c9d4
Don't require presence of PropertiesComponent
...
#KT-22214 Fixed
2018-01-16 17:54:19 +01:00
Dmitry Jemerov
1b6f6e8bf7
Don't indent block comments of typealiases
...
#KT-22230 Fixed
2018-01-16 17:54:16 +01:00
Dmitry Savvinov
c2b532b167
Reformat the rest of 'frontend'-module according to new codestyle
2018-01-16 18:26:21 +03:00
Dmitry Savvinov
e5f0ffb0c2
Reformat 'frontend' module according to new codestyle
2018-01-16 17:51:51 +03:00
Kirill Rakhman
b567817d1f
Make completion for overriding functions respect suspend modifier
...
Fixes #KT-22200
2018-01-16 15:42:03 +01:00
Kirill Rakhman
8bc020f31b
Fix modifier order in generated overriden functions
...
Fixes #KT-21600
2018-01-16 15:42:02 +01:00
Alexey Sedunov
99be75cbfc
Refactoring: Use modifier list in CallableInfo where possible
2018-01-16 17:06:53 +03:00
Alexey Sedunov
ba0a91d74c
Quick Fixes: Drop deprecated KotlinCommonIntentionActionsFactory
...
Also update relevant test to use new action factory API
2018-01-16 17:06:53 +03:00
Alexey Sedunov
908bf71ae6
Quick Fixes: Support cross-language "Create from Usage" with Kotlin target
2018-01-16 17:06:53 +03:00
Alexey Sedunov
d44313876c
Create from Usage: Support primary constructor insertion
2018-01-16 17:06:52 +03:00
Alexey Sedunov
877874978f
Misc: Add action text assertions to CommonIntentionActionsTest
2018-01-16 17:06:52 +03:00
Toshiaki Kameyama
113e9f496e
Add quickfix for UnsafeCastFromDynamicInspection #KT-20915 Fixed
2018-01-16 17:06:51 +03:00
Vyacheslav Gerasimov
f709a382ae
Update changelog for 1.2.20
2018-01-16 16:13:54 +03:00
Alexey Sedunov
05b618eec8
Gradle: Use copyable user data for compiler plugin options
...
#KT-22227 Fixed
2018-01-16 16:09:18 +03:00
Alexey Sedunov
5892944bfc
Convert Enum to Sealed Class: Support expect/actual classes
2018-01-16 16:09:17 +03:00
Alexey Sedunov
9d5d85a1c5
Convert Sealed Class to Enum: Support expect/actual classes
...
#KT-18912 Fixed
2018-01-16 16:09:17 +03:00
Natalia Selezneva
dbd7ceb5fd
Fix Evaluate Expression for inline functions from multifile package class.
...
Find main class generated for debugger by its name instead of relativePath length.
#KT-22311 Fixed
2018-01-16 16:00:32 +03:00
Cuihtlauac Alvarado
c5982e7ff5
Avoid pick environement variables test failures ( #1467 )
...
Remove all lines containing a "Picked up <ENVIRONMENT_VARIALBE>: ..."
Remove empty ERR: section
FIX: KT-22241
2018-01-16 12:33:19 +01:00
Mikhael Bogdanov
b539adf105
Support simple capturing in IR inliner
2018-01-16 11:53:25 +01:00
Mikhael Bogdanov
ca22bc57fd
Don't capture primary constructor variables
2018-01-16 11:53:25 +01:00
Mikhael Bogdanov
28f4cc5b18
Generate parameter name in assertion for lateinit properties
2018-01-16 11:53:24 +01:00
Mikhael Bogdanov
e58558dffd
Support mapped companions
2018-01-16 11:53:24 +01:00
Mikhael Bogdanov
e57efc7233
Support external functions
2018-01-16 11:53:23 +01:00
Mikhael Bogdanov
c1a1a7f9fb
Code clean
2018-01-16 11:53:22 +01:00
Mikhael Bogdanov
9d7eca1376
Support throwNpe intrinsic
2018-01-16 11:53:22 +01:00
Mikhael Bogdanov
d62a7cc9d1
Unwrap fake override on field access
2018-01-16 11:53:21 +01:00
Mikhael Bogdanov
dfbe92344f
Skip setter accessors for val
2018-01-16 11:53:21 +01:00
Mikhael Bogdanov
2b95e6bc0d
Generate proper vararg array
2018-01-16 11:53:20 +01:00
Mikhael Bogdanov
724f3bf714
Return proper type after coercion
2018-01-16 11:53:20 +01:00
Mikhael Bogdanov
77b93ab7ad
Add classType property in IrClassReference, support class references in codegen
2018-01-16 11:53:19 +01:00
Mikhael Bogdanov
b2970ef771
Skip noinline lambdas during inline
2018-01-16 11:53:19 +01:00
Mikhael Bogdanov
ab96e0102a
Support IrGetClass
2018-01-16 11:53:18 +01:00
Mikhael Bogdanov
9a1f484771
Fix equals
2018-01-16 11:53:18 +01:00
Nicolay Mitropolsky
d7f0695a51
Uast: KotlinNullabilityUAnnotation.javaPsi type set to PsiAnnotation?
2018-01-16 13:26:22 +03:00
Ilya Chernikov
c7f8312e1b
Shade kotlinx.coroutines in embeddable artefacts
...
fixes #KT-22196
2018-01-16 09:03:53 +01:00
Sergey Igushkin
3ed7df506b
Bump bootstrap to 1.2.30-dev-441
2018-01-15 22:38:28 +03:00
Nicolay Mitropolsky
9ce9b434fe
Uast: testdata fix for KotlinUastTypesTest.testEa101715
2018-01-15 20:58:18 +03:00
Denis Zharkov
886d3ef3a6
Optimize KotlinScriptDefinitionFromAnnotatedTemplate::isScript
...
Avoid multiple pattern compilation for script file regex
2018-01-15 18:20:27 +03:00
Denis Zharkov
b4e5f8cf1c
Optimize collecting module info in IDE
...
The problem was that there is no special entity for libraries
in the IntelliJ model, and when we have an element for a library
we have to search through all of its dependencies
(see getOrderEntriesForFile call in collectInfosByVirtualFile)
But for popular library there could be quite a lot of dependencies,
while in most cases we need only the first one to obtain module
info for library itself (see changed usage in resolverForElement).
So it's worth replacing List with Sequence here
2018-01-15 18:20:27 +03:00
Denis Zharkov
d848238a46
Add cache for Module::languageVersionSettings
...
It might be useful because getExtraLanguageFeatures might be
rather expensive to compute
#KT-21450 Fixed
2018-01-15 18:20:27 +03:00
Dmitry Jemerov
60874f29fe
Inspection for scope functions conversion
...
#KT-17047 Fixed
2018-01-15 15:37:36 +01:00
Dmitry Jemerov
0b24be9460
Don't enclose 'this' in braces inside string templates
2018-01-15 15:03:39 +01:00
Dmitry Jemerov
560dc920e4
Don't increase nesting level if we aren't processing current expression
2018-01-15 15:03:39 +01:00
Dmitry Jemerov
3a7e4acf22
Reformat and cleanup
2018-01-15 15:03:39 +01:00
Dmitry Jemerov
d15fa83749
API for building visitors from lambdas
2018-01-15 15:03:39 +01:00
Nikolay Krasko
46ac14198c
Don't try to cast light element to KtElement (EA-114820)
2018-01-15 14:05:51 +03:00
Nikolay Krasko
adf6ad6283
Check file before cast in KotlinCompletionContributor (EA-101984)
2018-01-15 14:05:50 +03:00
Nikolay Krasko
eae79e96ee
Fix NPE in PlainTextPasteImportResolver.tryResolveReferences (EA-10589)
2018-01-15 14:05:50 +03:00
Nikolay Krasko
93d40b0492
Fix NPE in SourceNavigationHelper.findFirstMatchingInIndex (EA-91517)
2018-01-15 14:05:50 +03:00
Nikolay Krasko
2ca7045228
Rewrite KotlinNameSuggesterTest test with KotlinLightCodeInsightFixtureTestCase
...
Use proper project descriptors and avoid reconfigure for test project.
2018-01-15 14:05:50 +03:00
Ilmir Usmanov
ed11528664
Ignore unreachable code on tail call optimization
...
#KT-21759: Fixed
2018-01-15 12:57:10 +03:00
Ilmir Usmanov
25998c1f9b
Reformat tail call optimization related code
2018-01-15 12:56:54 +03:00
Yan Zhulanow
2ee23ddd02
EA-101715: Handle also case with IntegerValueTypeConstructor
2018-01-15 12:39:35 +09:00
Yan Zhulanow
108e91f2a2
Kapt: Be less strict when it's impossible to add a generated Kotlin source directory for Android project (KT-22056, EA-114271)
2018-01-15 12:39:34 +09:00
Yan Zhulanow
283c762b8b
Kapt: Remove laziness from diagnosticFactory and javacMessages, use factory from supertype (KT-22189)
...
writeDiagnostic() may be invoked after the 'context' is cleared, and lazy implementations will fail.
2018-01-15 12:39:34 +09:00
Yan Zhulanow
192489ae66
Minor: Remove bulk class added by mistake
2018-01-15 12:39:33 +09:00
Yan Zhulanow
1c5cd1b3a0
Minor: Fix problem in IDE with @TestOnly annotation resolution
2018-01-15 12:39:32 +09:00
Yan Zhulanow
81aae03b57
Use Gradle API to import annotations from compiler plugins instead of nasty data storage tasks
...
Tasks itself will be left for some time until all users migrate to the newer IDE plugin versions.
2018-01-15 12:39:31 +09:00
Yan Zhulanow
e7c1d94c0f
Minor: Fix red code in IDE
2018-01-15 12:39:30 +09:00
Yan Zhulanow
e978c42e52
SamWithReceiver: Add Maven/Gradle importers for SamWithReceiver
2018-01-15 12:39:30 +09:00
Yan Zhulanow
0a3a493f25
AllOpen: Fix incorrect 'accessing non-final property in constructor' warning (KT-16619)
2018-01-15 12:39:29 +09:00
Yan Zhulanow
df19162c8c
Kapt: Store line information in a file doc comment, instead of annotations (KT-21936)
2018-01-15 12:39:28 +09:00
Yan Zhulanow
c66947ba40
NoArg: Parse 'invokeInitializers' option in Maven importer (KT-19900)
2018-01-15 12:39:27 +09:00
Yan Zhulanow
3512675d96
Compiler plugins: Refactor Maven import handlers in order to support other plugin options
2018-01-15 12:39:26 +09:00
Yan Zhulanow
a85b4ddb0f
Kapt: Clear stubs directory on non-incremental stub generation (KT-21735)
2018-01-15 12:39:25 +09:00
Nicolay Mitropolsky
f4a7ecc1bb
Uast: Fix for missing local variables in ctor-s bodies
...
similar to how it is done in `KotlinUBlockExpression`
2018-01-12 22:32:52 +03:00
Dmitry Jemerov
322ac6340a
Fix GradleConfigureProjectByChangingFileTestGenerated
2018-01-12 18:58:04 +01:00
Anton Bannykh
c6d7ffb3eb
JS DCE: drop unknown file report severity to WARNING
...
*.kjsm and other files might be received when FileCollection is
used in Gradle as a dependency.
Example: `testCompile project(":$coroutines_core").sourceSets.test.output`
(a popular-ish solution to introduce dependencies between tests)
2018-01-12 20:00:34 +03:00
Anton Bannykh
5d6d321fb2
Reformat K2JSDce.kt
2018-01-12 20:00:34 +03:00
Dmitry Jemerov
ce5b1acfa7
Regenerate tests
2018-01-12 16:59:31 +01:00
Alexander Podkhalyuzin
b8dded2685
Simple implementation for kt paste into project view #KT-8352 Fixed
2018-01-12 15:57:34 +03:00
Alexander Udalov
b925b6ef9f
Add test for obsolete issue
...
#KT-10494
2018-01-12 12:50:38 +01:00
Nikolay Krasko
aee7329b89
Modify incremental test in 173 branch - files are not created anymore
2018-01-12 13:54:45 +03:00
Nikolay Krasko
5a6d58a799
Update to 2017.3.2 (173.4127.27)
2018-01-12 13:54:43 +03:00
Nikolay Krasko
4c09a6cf06
Allow different diagnostics in Javac tests - workaround for IDEA-184289
2018-01-12 13:54:42 +03:00
Nicolay Mitropolsky
27b3cdf1fa
Uast: KotlinAccessorCallExpression made implement JvmDeclarationUElement
2018-01-12 13:54:41 +03:00
Nicolay Mitropolsky
254caef0e6
Idea version set to 173.3942.27
2018-01-12 13:54:39 +03:00
Nicolay Mitropolsky
f8601479de
Uast: handling @receiver annotations
2018-01-12 13:54:38 +03:00
Nicolay Mitropolsky
f91f42c253
Uast: Constructors.kt testdata fixes
2018-01-12 13:54:36 +03:00
Nicolay Mitropolsky
2c81362ce1
Uast: uastParent made final in KotlinAbstractUElement
2018-01-12 13:54:35 +03:00
Nicolay Mitropolsky
e7200d16c3
Uast: no more need to exclude UIdentifier from JvmDeclarationUElement check
2018-01-12 13:54:33 +03:00
Nicolay Mitropolsky
e22e466485
Uast: making AbstractKotlinUClass not inherit from AbstractJavaUClass
2018-01-12 13:54:32 +03:00
Nicolay Mitropolsky
084da3665a
Uast: removing java-uast usage from KotlinUastLanguagePlugin and KotlinEnumConstantClassReference
2018-01-12 13:54:31 +03:00
Nicolay Mitropolsky
260c549cd7
Uast: AbstractKotlinUVariable annotations now are retrieved from Kotlin Psi, not from compiled (KT-21025)
...
and `KotlinNullabilityUAnnotation` now is created for every `AbstractKotlinUVariable`
2018-01-12 13:54:29 +03:00
Nicolay Mitropolsky
f0723a5c07
Uast: WrappedUAnnotation as replacement for usage of JavaUAnnotation (KT-21025)
2018-01-12 13:54:28 +03:00
Vyacheslav Gerasimov
53d6c17417
Set correct until-build for Idea 173 plugin
2018-01-12 13:54:26 +03:00
Nicolay Mitropolsky
a278e4ccef
Fixing non-running tests, that used MockApplication environment
2018-01-12 13:54:25 +03:00
Alexey Sedunov
c1cf03d89c
Data Inflow: Support grouping by expression nullability
2018-01-12 13:54:23 +03:00
Nicolay Mitropolsky
0a1580159f
Uast: Constructors.kt testData fixes
2018-01-12 13:54:22 +03:00
Alexey Sedunov
683bbe396d
Data Inflow: Support grouping by leaf expressions
2018-01-12 13:54:20 +03:00
Alexey Sedunov
b46784ab86
Safe Delete: Suppress walking through light field initializer
...
This fixes some tests failing in 173 branch
#KT-21508 Fixed
2018-01-12 13:54:19 +03:00
Nikolay Krasko
cbfd7088bf
Fix inAnnotation test in 173 branch
2018-01-12 13:54:17 +03:00
Nikolay Krasko
c0582ed732
Update file name replace in QuickFix tests
2018-01-12 13:54:16 +03:00
Nicolay Mitropolsky
502a6fa9f1
Uast: SuperCalls.render.txt testdata fix
2018-01-12 13:54:14 +03:00
Nicolay Mitropolsky
5f6e5c5779
Uast: AbstractKotlinUClass compilation fix
2018-01-12 13:54:13 +03:00
Nicolay Mitropolsky
b51a7c6957
Spring: fix for package-completion tests
...
because otherwise `java` package name interfere with `java` directory name completion from somewhere
2018-01-12 13:54:12 +03:00
Nicolay Mitropolsky
1fd8abb0bb
Spring: removing needless EP-s because they ported to UAST in platform
2018-01-12 13:54:10 +03:00
Nicolay Mitropolsky
79abc8743e
KotlinSpringComponentScanInspection made to support platform JamReferenceContributor
2018-01-12 13:54:09 +03:00
Vyacheslav Gerasimov
0cad41bb0c
Drop missing gradle extensions from gradle.xml
2018-01-12 13:54:07 +03:00
Nikolay Krasko
23bd0b3db5
Update test data because of changed action name in 173
2018-01-12 13:54:06 +03:00
Nicolay Mitropolsky
29fd34d1de
Idea version set to 173.3727.22(RC1)
2018-01-12 13:54:05 +03:00
Nicolay Mitropolsky
8c27bf98f4
UAST: StringTemplateComplex testdata fix
2018-01-12 13:54:03 +03:00
Alexey Sedunov
f3dad53ad4
Line Markers: Respect subclass module when filtering out duplicates
...
#KT-21010 Fixed
2018-01-12 13:54:02 +03:00
Alexey Sedunov
d37c8397f5
Move: Fix applicability check in IDEA 173
2018-01-12 13:54:00 +03:00
Vyacheslav Gerasimov
ab50ccf995
Fix formatting for new kotlin dsl gradle project build script
2018-01-12 13:53:59 +03:00
Vyacheslav Gerasimov
560e2d1ced
Drop new Kotlin Dsl gradle project wizard which has been merged to idea
2018-01-12 13:53:58 +03:00
Nicolay Mitropolsky
aa43bebbf1
SpringTestFixtureExtension: option to forbid facet autoconfigure added
2018-01-12 13:53:56 +03:00
Nicolay Mitropolsky
3a06b8fe3b
SpringKotlinAutowiringInspection: getting rid of SpringJavaInjectionPointsAutowiringInspection
2018-01-12 13:53:55 +03:00
Nicolay Mitropolsky
bef100b46e
AbstractIntentionTest: isApplicableOnPooled made run under ProgressIndicator
2018-01-12 13:53:53 +03:00
Vyacheslav Gerasimov
09f31076e6
Update ideaVersion to 173.3415.22
2018-01-12 13:53:52 +03:00
Nicolay Mitropolsky
2f30ca3fac
Ultimate-plugin: UAST added as dependency
2018-01-12 13:53:51 +03:00
Nicolay Mitropolsky
f4a8a98157
Ultimate-plugin: multiplePropertiesAnnotationConfig.kt test data fixes
...
`@Qualifier` should not be there. It was a bug in platform
2018-01-12 13:53:49 +03:00
Nicolay Mitropolsky
6cb556dd6b
AbstractQuickFixTest: FORCE_PACKAGE_FOLDER directive added
...
It was added as workaround for IDEA-176033 (IDEA-176032 in particular)
2018-01-12 13:53:48 +03:00
Nicolay Mitropolsky
ab0c081897
AbstractExtractionTest: fix for invalid files
...
`configureByFile` should be run after other configurations (like `configureKotlinRuntimeAndSdk`) because they could make configured file invalid
2018-01-12 13:53:46 +03:00
Nicolay Mitropolsky
dd45780de9
RecursiveMethodCallMarkerInfo and SuspendCallMarkerInfo forced to target Leaf-elements
...
because of restriction added in IDEA 173
2018-01-12 13:53:45 +03:00
Nicolay Mitropolsky
34bdc04fbe
AbstractNavigateToLibraryTest: fix for invalid files
...
otherwise current file is invalidated by `configureAs` and `additionalConfig`
2018-01-12 13:53:44 +03:00
Nicolay Mitropolsky
7758875955
EdtTestUtil.runInEdtAndWait fix for proper user action emulation
...
changed because `com.intellij.ide.IdeEventQueue` doesn't consider events from `SwingUtilities.invokeAndWait` as user interaction
2018-01-12 13:53:42 +03:00
Nicolay Mitropolsky
0acfce55a8
KotlinCoreEnvironment: set ideaCompatibleBuildNumber = "173.1"
2018-01-12 13:53:41 +03:00
Nicolay Mitropolsky
6bfe168dd7
UAST: SimpleKotlinRenderLogTest.testWhenAndDestructing testdata fix
2018-01-12 13:53:39 +03:00
Nicolay Mitropolsky
8a23a62c90
AbstractJavaToKotlinConverterForWebDemoTest: setup fix: JvmElementProvider and JavaModuleSystem added
2018-01-12 13:53:38 +03:00
Mikhail Glukhikh
8810e15f08
ExpressionOfTypeProcessor: get member name in read action
2018-01-12 13:53:36 +03:00
Mikhail Glukhikh
3f9054b28b
Fix find usages tests in 173 (run via ProgressIndicator)
2018-01-12 13:53:35 +03:00
Nicolay Mitropolsky
cfcee0a1fe
Workaround for CoreEnvironment initialization: explicitly setting versions for extensions
2018-01-12 13:53:34 +03:00
Nicolay Mitropolsky
6b656d4da5
Spring gutter icons SpringApiIcons -> SpringApiIcons.Gutter fix.
...
Following the patch in idea https://upsource.jetbrains.com/IDEA/revision/ultimate-527b9189219f191b62eed59d699f57acccda05c3
2018-01-12 13:53:32 +03:00
Nicolay Mitropolsky
099c1a84ec
Idea version set to 173.3302.8
2018-01-12 13:53:31 +03:00
Nikolay Krasko
60149e3021
Update file structure tests as FileStructurePopup api was changed in 173
2018-01-12 13:53:29 +03:00
Nicolay Mitropolsky
f5e3a5faa4
Spring-Kotlin: Gutter repaired (KT-20550, KT-20566)
...
Platform now allows Gutter to be placed only on leafs elements, this patch fixes it for `KotlinSpringClassAnnotator`.
2018-01-12 13:53:28 +03:00
Ilya Gorbunov
9e21744bf5
streamex version was changed in 173-snapshot to 0.6.5
2018-01-12 13:53:27 +03:00
Nicolay Mitropolsky
208a986eab
UAST: support for JvmDeclarationUElement
2018-01-12 13:53:25 +03:00
Nicolay Mitropolsky
f1579d01af
UAST test data fixes: LocalVariableWithAnnotationKt fix for variable type
...
it is not clear for me why it was not `String`
2018-01-12 13:53:24 +03:00
Nicolay Mitropolsky
7c3c59de00
UAST test data fixes: @null in render
...
as a "nullability" annotation for primitive types
2018-01-12 13:53:22 +03:00
Nicolay Mitropolsky
9fed8f1d24
idea-version set to since-build="173.1" until-build="181.*"
2018-01-12 13:53:21 +03:00
Vyacheslav Gerasimov
ceaa34201e
Fix GradleNoduleBuilder use qualified names check
2018-01-12 13:53:19 +03:00
Nicolay Mitropolsky
4c775a9516
JvmFacade-related tests repair
2018-01-12 13:53:18 +03:00
Simon Ogorodnik
7da9268e10
Fix proguard settings for 173 (ignore com.intellij.util.io.TarUtil)
2018-01-12 13:53:16 +03:00
Simon Ogorodnik
f940c0b86f
Fix compilation in 173 (GradleModuleBuilder.java)
2018-01-12 13:53:15 +03:00
Anton Bannykh
4f97040ce5
Fix compilation (MockParameterInfoUIContext.java)
...
(cherry picked from commit 21b0956)
2018-01-12 13:53:14 +03:00
Nicolay Mitropolsky
7eb2d0d185
KotlinLanguageInjector using Registry to enable annotation injections
...
(cherry picked from commit 8bdfeb7)
2018-01-12 13:53:12 +03:00
Simon Ogorodnik
12daf4389e
Fix compilation in 173 (MockParameterInfoUIContext.java)
2018-01-12 13:53:11 +03:00
Dmitry Jemerov
53a3d08a0e
Fix compatibility with BuildScriptDataBuilder API changes
2018-01-12 13:53:09 +03:00
Nicolay Mitropolsky
d7fcc69315
KotlinLanguageInjector#injectInAnnotationCall optimization: using PsiClassNamePatternCondition to avoid calling getResolvedCall
2018-01-12 13:53:08 +03:00
Nicolay Mitropolsky
81b6a61edf
KotlinLanguageInjector can inject into files modified for autocompletion
2018-01-12 13:53:07 +03:00
Nicolay Mitropolsky
1435911437
KotlinLanguageInjector understands patterns-injections into Java annotations
2018-01-12 13:53:05 +03:00
xiexed
743dc80b4d
KtLightAbstractAnnotation build fix for 173 (#1283 )
2018-01-12 13:53:04 +03:00
Dmitry Jemerov
70caae4c6f
Register new service and EPs added in 173
2018-01-12 13:53:02 +03:00
xiexed
defb5a9d10
Fixes for 173 after 28.08.17 changes in IDEA ( #1271 )
...
* `JarFileSystem.getJarRootForLocalFile` now is nullable in IDEA
* Spring-related renamings following ones in IDEA
2018-01-12 13:53:01 +03:00
Nicolay Mitropolsky
6690f9f1da
Build fix for KotlinSpringClassAnnotator after collectNavigationMarkers nullability changes in IDEA 173
2018-01-12 13:52:59 +03:00
Vyacheslav Gerasimov
3f15f7a394
UAST: Fix testPropertyWithAnnotation
2018-01-12 13:52:58 +03:00
Vyacheslav Gerasimov
e6efaaf752
UAST: Add testConvertTypeInAnnotation
2018-01-12 13:52:56 +03:00
Vyacheslav Gerasimov
92c23aa0ed
UAST: override getFunctionalInterfaceType + test
2018-01-12 13:52:55 +03:00
Vyacheslav Gerasimov
8eddb10870
UAST: Properly handle annotations on local variables
2018-01-12 13:52:54 +03:00
Vyacheslav Gerasimov
35fa8efbf3
Fix compilation after moving to idea 173
2018-01-12 13:52:52 +03:00
Vyacheslav Gerasimov
8f7a354592
Download IDEA 173.3188.16
2018-01-12 13:52:51 +03:00
Nikolay Krasko
2a0b7e293f
Minor: KotlinCodeFragmentFactory.kt cleanup
2018-01-11 22:08:18 +03:00
Natalia Selezneva
4d6c83b5b9
Debugger: do not fail if j2k couldn't convert expression creating codeFragment from text
2018-01-11 22:08:17 +03:00
Ilmir Usmanov
c023831a00
Ignore open modifier on top-level suspend function when generating light classes
...
#KT-21642: Fixed
2018-01-11 19:33:47 +03:00
Nikolay Krasko
5da156e93c
Setup modules before test configuration in NavigateToStdlibSourceTest.kt
2018-01-11 15:03:03 +03:00
Nikolay Krasko
91a9d3cf80
Search class after full test configuration in AbstractHierarchyWithLibTest
2018-01-11 15:02:14 +03:00
Nikolay Krasko
2f817662d5
Process only project scope in AbstractHierarchyWithLibTest
2018-01-11 15:01:47 +03:00
Nikolay Krasko
8ade03ac0b
Avoid using mock JDK because of bad cast in ProjectJdkTableImpl.getState
...
com.intellij.openapi.projectRoots.impl.MockSdk cannot be cast to com.intellij.openapi.projectRoots.impl.ProjectJdkImpl
2018-01-11 15:00:57 +03:00
Nikolay Krasko
e710cbb0bb
Don't fail during error reporting on invalid elements
2018-01-11 14:56:32 +03:00
Alexander Udalov
2593ce73f1
Update copyright in generated sources
...
To fix tests that are checking that the generated data is up to date
2018-01-11 12:45:36 +01:00
Nicolay Mitropolsky
9cb62d66cb
KtLightAnnotation: handling vararg with single arg (EA-114679)
...
It is deprecated but yet possible form of usage
2018-01-11 14:05:15 +03:00
Ilya Gorbunov
6197c5bf7f
Add sample for coerceIn with floating point range
...
#KT-20357
2018-01-11 09:05:28 +03:00
Ilya Gorbunov
8fc83e3ff5
Add samples for coerceIn, coerceAtLeast, coerceAtMost for comparable types
...
#KT-20357
2018-01-11 09:05:28 +03:00
shiraji
17573a3c21
Add samples for coerceIn
...
#KT-20357
2018-01-11 09:05:28 +03:00
shiraji
4559da9848
Add samples for coerceAtMost
...
#KT-20357
2018-01-11 09:05:28 +03:00
shiraji
db607e231c
Add samples for coerceAtLeast
...
#KT-20357
2018-01-11 09:05:27 +03:00
kenji tomita
1db0e5c23e
Add samples for reversed list views
...
#KT-20357
2018-01-11 09:05:27 +03:00
AdamMc331
2fc26ba08f
Added samples for property delegates as part of KT-20357.
2018-01-11 09:05:27 +03:00
Vyacheslav Gerasimov
892e901f35
Update changelog for 1.2.20
2018-01-10 20:32:05 +03:00
Ilmir Usmanov
32a94c70e9
Use tail call optimization if ARETURN has multiple sources
...
#KT-21977: Fixed
2018-01-10 20:14:32 +03:00
Ilmir Usmanov
5dbab2f907
Disable tail call optimization, if the call is inside try block
...
#KT-21165: Fixed
2018-01-10 20:13:55 +03:00
Denis Zharkov
3cfe43f83a
Add -Xsupport-compatqual-checker-framework-annotations flag
...
It's implemented through Jsr305State while it's not related
to jsr-305 becasue currently it's the most convenient way
to introduce the flag.
Probably, it's worth renaming Jsr305State to something more abstract
like NullabilityAnnotationsConfiguration
#KT-21982 Fixed
2018-01-10 17:02:46 +03:00
Simon Ogorodnik
40706de3db
Add ability to resolve kdoc links from package view
2018-01-10 16:37:07 +03:00
Alexey Sedunov
75ce68197f
Configuration: Fix API version UI update on language version change
...
#KT-21979 Fixed
#KT-21980 Fixed
2018-01-10 16:24:30 +03:00
Alexey Sedunov
9d1fbbd1c6
Move: Correctly determine target module for deferred files
2018-01-10 16:24:28 +03:00
Alexey Sedunov
253c5f2d9b
Gradle: Compile Gradle models/model builders for plugins under JVM 1.6
...
This prevents imports failure in projects using older versions of Gradle
2018-01-10 16:24:27 +03:00
Alexey Sedunov
258bd1e8c0
Maven: Fix <args> parsing on import to the Kotlin facet
...
#KT-22153 Fixed
2018-01-10 16:24:25 +03:00
Ilya Chernikov
6f135e89d7
Make daemon starting more tolerant to the failures - retry
...
(cherry picked from commit 386cfec)
2018-01-10 13:38:20 +01:00
Ilya Gorbunov
c8bd623d69
Samples: add some operations to do with the constructed ranges
2018-01-10 15:32:51 +03:00
kenji tomita
4cb2b12f01
Add samples for range construction operators
2018-01-10 15:32:50 +03:00
Andre Perkins
31d650a041
Add sample for emptySet
2018-01-10 15:32:50 +03:00
Jake Wharton
11696ac4c0
Implement String.toBoolean() for JS.
...
#KT-16348
2018-01-10 15:32:49 +03:00
Dmitry Jemerov
86c10b635a
Initial implementation of method separators
...
#KT-13029 Fixed
2018-01-10 13:17:33 +01:00
Dmitry Jemerov
fd01351740
Implement display of code construct start for Kotlin
...
#KT-20470 Fixed
2018-01-10 13:17:33 +01:00
Dmitry Jemerov
968e6ecde4
KotlinPairMatcher: convert to .kt
...
(cherry picked from commit 0bc4f26)
2018-01-10 13:17:33 +01:00
Dmitry Jemerov
0c429857de
KotlinPairMatcher: rename to .kt
...
(cherry picked from commit e386c35)
2018-01-10 13:17:33 +01:00
Nicolay Mitropolsky
4a4bf5635d
Uast: KtLightAnnotation converting support (KT-21702)
2018-01-10 15:12:12 +03:00
Dmitry Jemerov
99a9634609
Don't generate references to eap-1.1 and eap-1.2 repositories
...
Now all Kotlin EAP releases are published only to kotlin-eap on Bintray
2018-01-10 12:13:02 +01:00
Dmitry Petrov
5ffd6a737e
Closures in scripts have outer expression
...
#KT-22029 Fixed Target versions 1.2.30
2018-01-10 14:08:56 +03:00
Dmitry Petrov
d25ebadf53
Minor: formatting
2018-01-10 14:08:56 +03:00
Dmitry Jemerov
e80dae1802
Update copyright in generated tests
2018-01-10 11:55:28 +01:00
Dmitry Jemerov
5ec5807399
TestGenerator: J2K
2018-01-10 11:20:57 +01:00
Dmitry Jemerov
993db696ec
TestGenerator: rename to .kt
2018-01-10 11:19:25 +01:00
Dmitry Jemerov
da678a4be2
Use new JRE chooser in Kotlin script run configuration
2018-01-09 18:43:21 +01:00
Dmitry Jemerov
ebc9c217c1
Get rid of PluginJetFilesProvider, use a more sane impl instead
2018-01-09 18:43:20 +01:00
Dmitry Jemerov
685d38218d
Extension point for detecting build system type used in project
...
Now we use a non-deprecated way to detect Maven modules
2018-01-09 18:43:19 +01:00
Dmitry Jemerov
0ca2117ac7
Remove the usages of some of the deprecated APIs
2018-01-09 18:43:11 +01:00
Dmitry Jemerov
361824e170
Fix HighlightingTestGenerated and LambdaImplicitHintsTest
2018-01-09 18:04:39 +01:00
Dmitry Jemerov
8c7f57ca83
Honor "Use continuation indent in argument lists" for indent by Enter
...
#KT-22121 Fixed
2018-01-09 15:41:21 +01:00
Dmitry Jemerov
d79ac58340
Refactoring: replace WrappingStrategy interface with lambda
2018-01-09 15:41:20 +01:00
Dmitry Jemerov
67897d9b3d
Don't wrap argument list containing anonymous functions
...
Just like for objects and lambdas, don't consider line breaks inside
anonymous functions as line breaks inside argument list
2018-01-09 15:41:18 +01:00
Dmitry Jemerov
a5cc9809ac
Improved logic for chained lambda indentation
...
#KT-22071 Fixed
2018-01-09 15:41:17 +01:00
Dmitry Jemerov
54c262c505
Use receiver type of extension members as qualifier in Goto Symbol
...
#KT-17217 Fixed
2018-01-09 15:41:15 +01:00
Dmitry Jemerov
0104ed7d44
Show line marker navigation actions in Alt-Enter menu
...
#KT-14951 Fixed
2018-01-09 15:41:09 +01:00
Dmitry Jemerov
63af3c8e03
Delegate Ctrl-Shift-Enter to plain handler if needed
...
#KT-11503 Fixed
2018-01-09 15:32:22 +01:00
Dmitry Jemerov
f36f85f55c
Don't require documentation in test sources
...
#KT-21837 Fixed
2018-01-09 13:54:56 +01:00
Dmitry Jemerov
165ac97c4b
SortModifiersInspection detects modifiers before annotations
...
#KT-22013 Fixed
2018-01-09 13:54:56 +01:00
Dmitry Jemerov
408c753837
Check that a file with .kt extension is actually a KtFile
...
#KT-22111 Fixed
2018-01-09 13:54:56 +01:00
Dmitry Jemerov
69c8da7403
Cleanup: apply all inspection quickfixes
2018-01-09 13:54:56 +01:00
Dmitry Jemerov
6f722d647f
Reformat
2018-01-09 13:54:56 +01:00
Dmitry Jemerov
6299e0e941
Check correct element to determine if 'if' rbrace needs wrapping
...
#KT-22093 Fixed
2018-01-09 13:54:56 +01:00
Dmitry Jemerov
e9ca6a6038
Call arguments should not affect parameter names returned in MethodInfo
...
The parameter names are only used for blacklist filtering, and should
correspond only to the function being called; the order and number of
actually provided arguments does not matter.
2018-01-09 13:49:03 +01:00
Dmitry Jemerov
599bb878f1
Rename test to correspond to the name of code under test
2018-01-09 13:49:02 +01:00
Dmitry Jemerov
78682ac493
Respect imports when rendering class names in type hints
...
#KT-19524 Fixed
2018-01-09 13:49:01 +01:00
Dmitry Jemerov
45282af38b
Prototype of inlay hints for suspending calls (KT-20187)
2018-01-09 13:48:31 +01:00
Dmitry Jemerov
d060203896
Don't show type hints for SAM constructors
...
#KT-22050 Fixed
2018-01-09 13:34:11 +01:00
Dmitry Jemerov
0991dba626
Better position of argument name hint for multiline varargs
...
#KT-20614 Fixed
2018-01-09 13:34:10 +01:00
Dmitry Jemerov
6c23d3a220
Show inlay hints for implicit parameters and receivers of lambdas
...
#KT-20533 Fixed
2018-01-09 13:34:09 +01:00
Dmitry Jemerov
da157fafdc
Add inlay hints for values returned from lambdas
...
#KT-20067 Fixed
2018-01-09 13:34:01 +01:00
Dmitry Jemerov
e558837214
Cleanup: better function name
2018-01-08 14:41:49 +01:00
Toshiaki Kameyama
3b212558e2
KT-21949 Please add a separate Color Scheme settings for properties synthesized from Java accessors ( #1458 )
2018-01-08 13:04:43 +01:00
Toshiaki Kameyama
19c35ef48c
KT-21213 multiline kdoc - intellij joins lines together without space ( #1459 )
...
* KT-21213 multiline kdoc - intellij joins lines together without space
* Use \n directly as a line separator #KT-21213
* Remove unused import #KT-21213
2018-01-05 15:29:11 +01:00
Dmitry Jemerov
d51dd97156
Avoid exception from DocumentImpl.setInBulkUpdate in reformat inspection
...
#KT-21036 Fixed
2018-01-04 19:03:55 +01:00
Toshiaki Kameyama
266b40b654
KT-21974 Editor color scheme option for Kotlin typealias names ( #1457 )
2018-01-04 17:39:39 +01:00
Sergey Igushkin
06903f803b
(minor) Separate the Gradle annotations from CompilerArgumentAware
2018-01-03 22:14:23 +03:00
Sergey Igushkin
d881efdeb1
Improve disambiguation of subplugin option inputs
...
The original approach required evaluating the existing input properties
of the task. This led to evaluation of the property values, and could
execute incorrectly if the task was not properly initialized at that
moment.
The new approach fixes that by first grouping options from each
subplugin by key and then adding disambiguating index suffixes.
2018-01-03 22:14:23 +03:00
Sergey Igushkin
1be9e04797
Move conditional task caching setup into the task constructors;
...
Add 'kotlin.caching.enabled' flag to switch the caching for all tasks;
Rename and change semantics of cache support checks: make two instead
of one, `isBuildCacheSupported` and `isBuildCacheEnabledForKotlin`;
Remove FileOptionKind entries that are redundant at the moment;
Improvements in BuildCacheIT.kt and other refactoring suggestions from
the review
https://upsource.jetbrains.com/kotlin/review/KOTLIN-CR-1647
2018-01-03 22:14:22 +03:00
Sergey Igushkin
fd066ea4d5
Fix top-level property of an API-level-dependent class: move to the body
2018-01-03 22:14:22 +03:00
Sergey Igushkin
c5a88c5fb7
Add BuildCacheRelocationIT, remove same files testing as redundant.
2018-01-03 22:14:22 +03:00
Sergey Igushkin
6bea643176
Fix JS DCE classpath duplicated in two input properties
...
* Do not add the classpath elements to source to avoid them being
treated as task inputs without proper classpath normalization
* Move resolution of the classpath configuration to execution time
2018-01-03 22:14:22 +03:00
Sergey Igushkin
67b5527c68
Fix Kotlin destination dir added to Java task without normalization.
...
Issue #KT-20604 Fixed
2018-01-03 22:14:22 +03:00
Sergey Igushkin
97edda44c8
Turn on relocatable build cache -- change PathSensitivity to RELATIVE
2018-01-03 22:14:22 +03:00
Sergey Igushkin
c852d0b6cb
Subplugin options refactoring & Gradle input improvements
...
Introduce FilesSubpluginOption Special kind of SubpluginOption that
holds a list of files together with the kind of these files with respect
to the task.
Add a logic for handling such options and converting them into
task inputs.
Refactor CompilerPluginOptions: make it store subplugin options to be
able to add options from KotlinCompile to the kapt tasks.
Introduce WrapperSubpluginOption for encoded and complex options.
Remove pluginOptions from the Gradle inputs built from the
compiler args.
Do not cache Kotlin compilation with kapt1 enabled: since we are going
to drop kapt1 it anyway, there's no point in implementing
proper cache for it, so just disable the caching of the task in case
kapt1 is used.
2018-01-03 22:14:22 +03:00
Sergey Igushkin
93097014a0
Add integration tests for Gralde build cache support.
...
Add an up-to-date'ness test for subplugin options.
2018-01-03 22:14:21 +03:00
Sergey Igushkin
57f710c931
Explicit opt-in switch for Kapt caching.
2018-01-03 22:14:21 +03:00
Sergey Igushkin
7ee3b81939
Add Kotlin sources output as a separate output directory for kapt.
2018-01-03 22:14:21 +03:00
Sergey Igushkin
4a69d1545b
Disable IC when IC cache is missing
...
Check task build directory for any files
2018-01-03 22:14:21 +03:00
Sergey Igushkin
14c80baec8
Make the tasks cacheable, add logic that decides whether to cache them
2018-01-03 22:14:21 +03:00
Sergey Igushkin
26c158cbae
Annotate the properties with @PathSensitive (+ override source)
2018-01-03 22:14:21 +03:00
Sergey Igushkin
e46b56acbc
Add @LocalState of buildServicesWorkingDir to KotlinCompile
2018-01-03 22:14:21 +03:00
Sergey Igushkin
627fe52858
Map compiler arguments to Gradle inputs.
2018-01-03 22:14:20 +03:00
Sergey Igushkin
a8ba8fbf77
Make pluginOptions.classpath a separate input in the Gradle tasks
...
(cherry picked from commit b03e758)
2018-01-03 22:14:20 +03:00
Sergey Igushkin
a752d30f12
Move CompilerArgumentAware to the <...>.internal package.
2018-01-03 22:14:20 +03:00
Sergey Igushkin
62f2876230
Refactor compiler arguments in Gradle tasks:
...
Pull create/setup args functions up to CompilerArgumentsAware interface
Remove diamond-shaped CompilerArgumentsAware inheritance
Provide the default implementation for serialization in the interface
Make KotlinJsDce implement CompilerArgumentsAware
Implement the compiler args logic for Kapt & GenerateStubs tasks
2018-01-03 22:14:20 +03:00
Toshiaki Kameyama
6b2c22aff1
Add intention to specify all types explicitly in destructuring assignment
...
#KT-16260 Fixed
2018-01-03 17:23:31 +01:00
Dmitry Jemerov
3529d61a7d
Exclude generated test classes from language statistics
2018-01-03 14:57:01 +01:00
Toshiaki Kameyama
eb12cfd444
KT-18674 Join Lines should join strings ( #1305 )
...
* Join Lines should join strings #KT-18674 Fixed
* #KT-18674 Fixed
2018-01-03 11:27:16 +01:00
Toshiaki Kameyama
16695c1af5
KT-21929 Inappropriate quick fix for a sealed class instantiation ( #1444 )
2018-01-03 11:20:58 +01:00
Toshiaki Kameyama
de185b79d0
KT-21780 Wrong redundant setter inspection ( #1453 )
2018-01-03 11:14:23 +01:00
Toshiaki Kameyama
640c28ceaf
KT-14670 Support kotlinPackageName() macro in live templates ( #1455 )
...
* KT-14670 Support kotlinPackageName() macro in live templates
* Use context.psiElementAtStartOffset.containingFile #KT-14670
2018-01-03 10:41:28 +01:00
Dmitry Jemerov
84d63051f9
Add a rule for invalid characters in names
2018-01-02 13:17:31 +01:00
Dmitry Jemerov
f83c5344d7
Apply same style for top-level and object properties
...
#KT-20437 Fixed
2018-01-02 12:46:03 +01:00
Dmitry Jemerov
1c7d97289b
Naming convention inspection for test functions
...
#KT-21547 Fixed
2018-01-02 12:46:02 +01:00
Dmitry Jemerov
37d2ff2d4d
Report more friendly messages from naming conventions inspection
...
#KT-19736 Fixed
2018-01-02 12:46:01 +01:00
Dmitry Jemerov
429bf5bb98
Reformat
2018-01-02 12:46:00 +01:00
Toshiaki Kameyama
79ff36592d
KT-15320 Live templates: please add function which returns the "outer" class name
2018-01-02 12:35:20 +01:00
Ilya Gorbunov
e2306ecf94
Keep exception primary constructors for binary compatibility in JS
...
Resort to a workaround for KT-22053 in direct Throwable inheritors.
2017-12-29 21:21:20 +03:00
Ilya Gorbunov
3825187e93
Update expected reachable node count
2017-12-29 21:20:59 +03:00
Ilya Gorbunov
a1f67e347f
Relax nullability of UninitializedPropertyAccessException constructor parameters
...
To make it consistent with other exception types
2017-12-29 21:16:17 +03:00
Ilya Gorbunov
4e26ca5659
Add missing exception constructors to common and JS declarations
...
Add test to validate exception properties after calling various constructors.
Make NumberFormatException a descendant of IllegalArgumentException in all platforms.
#KT-21861 Fixed
#KT-21191 Fixed
2017-12-29 21:16:17 +03:00
Ilya Gorbunov
496df371f4
Provide the guide for sample authoring
2017-12-29 20:42:46 +03:00
Pavel V. Talanov
03a8ce63b2
Scripts: fix any file deletion potentially leading to reindex
2017-12-29 20:14:59 +03:00
Dmitry Jemerov
25ea53457e
Send source code in exceptions as attachments, not text (common cases)
...
#KT-17678 In Progress
2017-12-29 15:35:53 +01:00
Toshiaki Kameyama
817dadc120
Specify type: do not suggest nullable type if not null is overridden
...
So #KT-12814 Fixed
2017-12-29 17:28:44 +03:00
Mikhail Glukhikh
50eaca1ac4
Add modifier fix: improve style a bit
2017-12-29 17:17:38 +03:00
Toshiaki Kameyama
184651d366
Do not suggest "add inner" quick fix for interfaces etc. #KT-18396 Fixed
2017-12-29 16:43:47 +03:00
Toshiaki Kameyama
84a6ef6ac4
Add inspection to detect is checks for object types #KT-21741 Fixed
2017-12-29 16:24:18 +03:00
Dmitry Jemerov
247881baf9
Apply style guide and enable reformat inspection
2017-12-29 13:51:53 +01:00
Mikhail Glukhikh
0df3ffbe36
Build fix: convert reference to lambda
...
Related to KT-19283 (fixes mistake in 3f005924 )
2017-12-29 14:36:10 +03:00
Dmitry Jemerov
896246a7f5
More cleanup after J2K
2017-12-29 10:19:50 +01:00
Dmitry Jemerov
d0e8e176c4
Catch exceptions from decompiler service
...
EA-108937 - RE: InvocationExprent.toJava
2017-12-29 10:19:50 +01:00
Dmitry Jemerov
9a61abfb9f
Don't add null module info to list
...
EA-113650 - TCE: LazyModuleDependencies.getModulesWhoseInternalsAreVisible
2017-12-29 10:19:50 +01:00
Dmitry Jemerov
2c4180222a
Check if containing file is KtFile
...
EA-109460 - CCE: KtElementImplStub.getContainingKtFile
2017-12-29 10:19:50 +01:00
Dmitry Jemerov
4b6efe3eb0
Take read action in KtLightParameter.isEquivalentTo()
...
EA-109775 - (OperatorReferencesSearcher) assert: PsiFileImpl.getStubTree
2017-12-29 10:19:50 +01:00
Dmitry Jemerov
7f1dd88600
KtLightParameter: convert to .kt and cleanup
2017-12-29 10:19:50 +01:00
Dmitry Jemerov
98d26ae59f
KtLightElementParameter: rename to .kt
2017-12-29 10:19:50 +01:00
Dmitry Jemerov
cde84a7923
Handle I/O exceptions when updating library jars
...
EA-101940 - FNFE: FileUtil.openOutputStream
2017-12-29 10:19:50 +01:00
Dmitry Jemerov
254f766aaf
Take longer read action in forEachKotlinOverride()
...
EA-114124 - assert: CompositeElement.getChildrenAsPsiElements
2017-12-29 10:19:50 +01:00
Dmitry Jemerov
768fce4722
Check for project disposed when reporting outdated libraries
...
EA-106858 - assert: ComponentManagerImpl.getPicoContainer
2017-12-29 10:19:50 +01:00
Dmitry Jemerov
cc2faa67f9
Don't pass null element to RefactoringFactory.createRename()
...
EA-114286 - IAE: RenameProcessor.$$$reportNull$$$
2017-12-29 10:19:50 +01:00
Dmitry Jemerov
9a156541c1
Don't try to read attribute for files with no ID
...
(EA-114351 - CCE: PersistentFSImpl.getFileId)
2017-12-29 10:19:50 +01:00
Toshiaki Kameyama
5e765c525e
Do not suggest quickfix 'Specify type explicitly' with existing type
...
So #KT-15180 Fixed
2017-12-28 21:06:48 +03:00
Mikhail Glukhikh
5475f99cec
Elvis -> if-then: handle case with safe cast separately #KT-17816 Fixed
2017-12-28 20:31:55 +03:00
Mikhail Glukhikh
ec60c92fe9
Lambda -> reference: build bound reference for complex qualified
...
So #KT-19073 Fixed
2017-12-28 20:31:53 +03:00
Mikhail Glukhikh
73bca21f94
Allow using add modifier quick-fixes in batch mode #KT-21950 Fixed
2017-12-28 20:31:47 +03:00
Mikhail Glukhikh
2e71691ab2
Fix potential leak in "unused lambda expression body" fix
2017-12-28 20:31:45 +03:00
Mikhail Glukhikh
8e23ca597d
Add extra tests for KT-20429, simplify code a bit
2017-12-28 20:31:44 +03:00
Toshiaki Kameyama
a65304556c
CFG: provide "used as expression" in enum constant constructor
...
This allows to avoid
"unused return value of a function with lambda expression body"
for such a situation
So #KT-20429 Fixed
2017-12-28 20:31:42 +03:00
Mikhail Glukhikh
e10fa218f5
Extend range of "use expression body" to left brace..end of return
...
Range is extended iff we are in DO_NOT_SHOW case,
otherwise just return is highlighted to avoid ugly highlighting
So #KT-19771 Fixed
2017-12-28 20:31:41 +03:00
Mikhail Glukhikh
95e7d29743
Minor: improve style in "operator to function"
2017-12-28 20:31:40 +03:00
Toshiaki Kameyama
52df70a576
Do not suggest replacing comparison to null with function call
...
So #KT-20620 Fixed
2017-12-28 20:31:38 +03:00
Mikhail Glukhikh
d7807b5ae3
Do not report "redundant Unit return type" on expression bodies
...
So #KT-21983 Fixed
2017-12-28 20:31:37 +03:00
Mikhail Glukhikh
232ec63121
Inline dialog: handle case with unknown occurrence number correctly
...
So #KT-21963 Fixed
2017-12-28 20:31:36 +03:00
Mikhail Glukhikh
947e853d9e
Inline dialog: show "inline all and keep" for occurred once declarations
...
So #KT-21964 Fixed
2017-12-28 20:31:35 +03:00
Mikhail Glukhikh
d5bb7e457e
Inline dialog: unify messages with each other #KT-21965 Fixed
2017-12-28 20:31:33 +03:00
Mikhail Glukhikh
3f00592443
Do not suggest "convert ref to lambda" for reflect types #KT-19283 Fixed
2017-12-28 20:31:27 +03:00
Mikhail Glukhikh
fc93e7a727
Do not report "redundant suspend" on override / open #KT-21938 Fixed
2017-12-28 20:31:24 +03:00
Sergey Igushkin
276a6acc3e
Use .withDependencies { ... } to set up default versions with Gradle 4.4
...
+ Improve the test for omitted Kotlin module versions.
Issues: #KT-21806 Fixed, #KT-21203 Fixed
2017-12-28 19:47:02 +03:00
Vyacheslav Gerasimov
8b7a8f7bef
Update changelog for 1.2.20
2017-12-28 16:15:54 +03:00
Dmitry Jemerov
fc51673c83
Update copyright profile
2017-12-28 10:47:43 +01:00
Ilya Chernikov
efc470df2b
Reading KOTLIN_HOME only once
...
may fix #KT-21145, or at least make it less flaky
2017-12-28 09:43:44 +01:00
Ilya Chernikov
945da50b61
Add kotlin-compiler-client-embeddable to the plugin's lib since...
...
it's used in the `KotlinJsr223JvmScriptEngine4Idea`
Fixes #KT-18613
2017-12-28 09:43:43 +01:00
Vyacheslav Gerasimov
6116b5c497
Update coroutines version to 0.20
2017-12-28 00:35:15 +03:00
Ilya Gorbunov
042f81f23b
Fix Volatile usages in common and JS code
2017-12-27 21:55:24 +03:00
Ilya Gorbunov
a33a3867b8
JS: Move declaration to match their packages in JVM and Common stdlib
...
Mostly internal, but also two public annotations
2017-12-27 21:55:24 +03:00
Ilya Gorbunov
d2eb8b4a3f
Do not compile SynchronizedLazyImpl for platforms other than JVM
2017-12-27 21:55:24 +03:00
Ilya Gorbunov
b6595d661d
Improve expect declarations in kotlin.text
...
- Replace overloads with default parameters in expect declarations by suppressing errors
- Remove meaningless inline modifier
2017-12-27 21:55:24 +03:00
Ilya Gorbunov
824b506abe
Remove inheritance between LinkedHashSet/Map and HashSet/Map
2017-12-27 21:55:24 +03:00
Ilya Gorbunov
c5c6eed170
Make common ArrayList declaration not open and implementing RandomAccess
2017-12-27 21:55:24 +03:00
Ilya Gorbunov
fb13347864
Extract kotlin.collections expect classes into separate files
...
Add missing expect declarations for AbstractMutableMap/Set.
2017-12-27 21:55:24 +03:00
Ilya Gorbunov
93ef16deaf
Move expect declarations to the appropriate packages
...
So that they match actual declarations in Kotlin/JVM stdlib.
2017-12-27 21:55:24 +03:00
Pavel V. Talanov
dd32c4e66a
Revert minor semantic differences introduced in c030a047aa
...
Fix 'pull members up' and 'kotlin injected into kotlin' tests
2017-12-27 20:24:26 +03:00
Anton Bannykh
2df85ae4a9
kotlin-test-js: pass test function result to test framework (e.g. Promise)
2017-12-27 19:57:49 +03:00
Anton Bannykh
3e0d83b7d1
Make :js:npm a separate project to avoid calling update_dependencies
2017-12-27 17:35:34 +03:00
Alexander Udalov
129fad6ade
Minor, merge two KotlinCoreEnvironment-creating functions
2017-12-27 14:50:04 +01:00
Alexander Udalov
613297ad60
Rename ModuleScriptData -> ModuleChunk and refactor related code
...
Use the term "build file" instead of the old "module"/"module script"
2017-12-27 14:50:03 +01:00
Alexander Udalov
f3f8db989a
Fix test data for annotations on DefaultImpls members
...
After ea5505f80c , the annotations are now generated correctly
2017-12-27 14:12:14 +01:00
Chris Povirk
ac87ad422d
Recognize Checker Framework declaration annotations.
...
We are migrating Guava to use these annotations rather than jsr305's
@Nullable. We can't use the Checker Framework's _@Nullable_ yet because
we promise compatibility with Java 7, which doesn't support type
annotations. This is related to but distinct from
https://youtrack.jetbrains.com/issue/KT-21408 , which is about a
different jsr305 annotation we use, @ParametersAreNonnullByDefault.
I've also updated some docs to mention Kotlin's existing support for the
Checker Framework _@NonNull_.
2017-12-27 13:23:06 +01:00
Anton Bannykh
79359b7bc2
JS: test kotlin-test as box tests, support nested, fix mpp
...
Support tests inside nested classes and companion objects (KT-21850
fixed).
Don't launch multiplatform tests twice (KT-21567 fixed).
2017-12-27 15:22:26 +03:00
Nikolay Krasko
3bf8436895
Fix licence check after "jetbrains/kotlin/idea/copyright" package move
2017-12-27 13:44:55 +03:00
Nikolay Krasko
b7ff00ec34
Remove author tag from JavaSdkUtil to fix CodeConformanceTest
2017-12-27 13:27:59 +03:00
Nikolay Krasko
419abadcda
Search for Kotlin sources in project too in fallback scope
...
When debugging in Gradle or Maven we may miss debug scope completely,
but still want to be responsible for building source positions for all
Kotlin source files (other PositionManagers may produce unexpected
results).
2017-12-27 01:09:53 +03:00
Ilya Gorbunov
f468990f97
Add racing version of each Lazy test
...
Run several concurrent accesses to a lazy value
many times and validate invariants.
2017-12-26 23:14:11 +03:00
Ilya Gorbunov
4827aadcfd
Improve stability of lazy test, make some tests take less time
2017-12-26 23:14:09 +03:00
Ilya Gorbunov
934b3cc54e
Do not read volatile _value field second time it is already initialized
2017-12-26 23:14:07 +03:00
Ilya Gorbunov
5d62277fa5
Make SafePublicationLazyImpl.initializer volatile
...
This establishes happens-before relation between nulling out the initializer and
checking whether it is null. This will prevent the subsequent _value reads
being reordered before the initializer reads.
#KT-21868 Fixed
2017-12-26 23:13:14 +03:00
Sergey Igushkin
685b138f79
(minor) Fix testAndroidExtensionsIncremental() ambiguous file operation
2017-12-26 21:38:15 +03:00
Sergey Igushkin
01931c2ae6
Fix Kotlin internal files created in 'build/' ignoring custom buildDir
...
Issue #KT-10537 Fixed
2017-12-26 21:38:15 +03:00
Ilya Chernikov
953a485fe7
Increment repl line generation on compilation error
...
fixes #KT-17921 and #KT-21141
Tests added to the JSR223 local eval example
2017-12-26 19:27:32 +01:00
Ilya Chernikov
2d8e73f3f6
Make JSR 223 examples compatible with embeddable compiler, strip ...
...
some dependencies.
Fixes #KT-17561 and related issues
Warning: API changed slightly
2017-12-26 19:27:31 +01:00
Sergey Igushkin
d51b17c1b2
Fix @OutputFile annotation on a String property outputFile.
2017-12-26 20:29:45 +03:00
Sergey Igushkin
9d1091cdaa
Add java-gradle-plugin for kotlin-gradle-plugin tasks validation;
...
Make task properties validation fail on warnings; run it during IT
2017-12-26 20:29:45 +03:00
Sergey Igushkin
7031087a93
Mark Gradle task properties with input/output annotations.
2017-12-26 20:29:45 +03:00
Sergey Igushkin
d62ced3a82
Compile against gradleApi()
2017-12-26 20:29:45 +03:00
Mikhail Glukhikh
72ec55769b
Improve wording for "change package" fix for source root case
2017-12-26 18:39:51 +03:00
Mikhail Glukhikh
429c31c010
Improve wording in some inspections
2017-12-26 18:39:51 +03:00
Mikhail Glukhikh
1534488dd1
Test minor: output all available fixes in local inspection tests
2017-12-26 18:39:51 +03:00
Mikhail Glukhikh
2f987f08fa
Forbid word 'can' in local inspections with level > INFORMATION
...
Inspection texts were changed accordingly
2017-12-26 18:39:51 +03:00
Mikhail Glukhikh
56230420f8
AbstractApplicabilityBasedInspection: move visitor inside base class
2017-12-26 18:39:51 +03:00
Mikhail Glukhikh
3268189215
Cache intention inside IntentionBasedInspection
...
So intention is created only once.
Case with multiple intentions is no more allowed.
So #KT-21137 Fixed
2017-12-26 18:39:50 +03:00
Mikhail Glukhikh
5affb9a25c
Refactoring: "package matching directory" is now an inspection
2017-12-26 18:39:50 +03:00
Mikhail Glukhikh
3f1a3dfeb2
Refactoring: make "loop to call chain" AbstractKotlinInspection
2017-12-26 18:39:50 +03:00
Mikhail Glukhikh
f44fba746e
Refactoring: make "unnecessary variable" inspection applicability-based
2017-12-26 18:39:50 +03:00
Mikhail Glukhikh
221aac9820
J2K registerInspectionBasedProcessing: use correct target for applyTo
2017-12-26 18:39:50 +03:00
Mikhail Glukhikh
5a1a35bb35
Refactoring: "replace put with assignment" is now applicability-based
2017-12-26 18:39:49 +03:00
Mikhail Glukhikh
9e919829c8
Refactoring: "simplify assert not null" is now an inspection
2017-12-26 18:39:49 +03:00
Mikhail Glukhikh
8ebe16c9b2
Minor: reformat XML
2017-12-26 18:39:49 +03:00
Mikhail Glukhikh
bc361363d5
Refactoring: "simplify negated binary expression" is now an inspection
2017-12-26 18:39:49 +03:00
Mikhail Glukhikh
35d85ddd1f
Refactoring: "replace with operator assignment" is now an inspection
2017-12-26 18:39:49 +03:00
Mikhail Glukhikh
c995f70631
J2K processing: simplify (minor)
2017-12-26 18:39:48 +03:00
Mikhail Glukhikh
6b5aeaa9a6
J2K inspection-based processing: use more accurate isApplicable
...
Information level is taken into account in both base and pre-fix
isApplicable calls
2017-12-26 18:39:48 +03:00
Mikhail Glukhikh
ada7287c66
Refactoring: make "replace call with binary operator" an inspection
2017-12-26 18:39:48 +03:00
Mikhail Glukhikh
6d4b5bc48f
Refactoring: "introduce when subject" is now an inspection
2017-12-26 18:39:48 +03:00
Mikhail Glukhikh
a8b01a6b00
Refactoring: make "if-then to safe access" an inspection
2017-12-26 18:39:47 +03:00
Mikhail Glukhikh
91bcfb97c6
Refactoring: make "replace get or set" an inspection
2017-12-26 18:39:47 +03:00
Mikhail Glukhikh
756cb32eaf
Refactoring: make "replace array equality ..." an inspection
2017-12-26 18:39:47 +03:00
Mikhail Glukhikh
33d94cd5e1
J2kPostProcessing: add inspection-based processing #KT-21635 Fixed
2017-12-26 18:39:46 +03:00
Mikhail Glukhikh
67b78bce39
Introduce AbstractApplicabilityBasedInspection
...
Related to KT-21635, KT-21137
2017-12-26 18:39:46 +03:00
Nikolay Krasko
bf393505a9
More nullability update in selectors for compatibility in 181
2017-12-26 17:37:38 +03:00
Nikolay Krasko
e66e8bcd07
Use platform types to prepare for nullability check in 181
2017-12-26 17:08:11 +03:00
Joscha Alisch
809cc220ed
Select lambda after other args when it's outside argument list (KT-21214)
...
#KT-21214 Fixed
2017-12-26 13:09:17 +03:00
Nikolay Krasko
976a158ce1
Support alternative source popup for Kotlin files (KT-21958)
...
#KT-21958 Fixed
2017-12-26 12:49:27 +03:00
Nikolay Krasko
449fee74e8
Skip all same line locations when stepping over inline call (KT-20351)
...
#KT-20351
2017-12-26 12:46:45 +03:00
Nikolay Krasko
f39250c9a2
Fix irrelevant additional stops on breakpoint on line with inlines (KT-21945)
...
#KT-21945 Fixed
2017-12-26 12:46:45 +03:00
Nikolay Krasko
f38a4f509d
Minor: code rearrange
2017-12-26 12:46:45 +03:00
Nikolay Krasko
c5886bc7a2
Remove sleep() from soSuspendableCallInEndOfFun and guarantee suspending
2017-12-26 12:46:45 +03:00
Ilya Gorbunov
10639eaf6a
Add pattern and options properties to common Regex
...
And add a test that accesses them and checks they work as expected.
2017-12-26 05:40:37 +03:00
Ilya Gorbunov
d9edc5f221
Replace Regex constructor-like functions with secondary constructors
...
Historically secondary constructors were not supported in Kotlin/JS, so they had to
be emulated with constructor-like top level functions, now they can be rewritten
as true secondary constructors.
#KT-22003 Fixed
2017-12-26 05:40:35 +03:00
Ilya Gorbunov
053f3b6ac0
Tests: use helper function to assert compile-time and run-time type check
...
To cleanup warnings about useless cast or type check that is always true.
2017-12-26 04:55:44 +03:00
Ilya Gorbunov
ecd42f14b3
Compile common stdlib tests against common stdlib
...
Declare platform-specific test utilities as expect.
2017-12-26 04:55:40 +03:00
Pavel V. Talanov
c030a047aa
Fix getting ModuleResolver by element for script files
...
Fixes EA-105435 (some isntances)
JavaResolveExtension: refactor API
2017-12-25 20:12:51 +03:00
Pavel V. Talanov
2af0bf4c71
Drop JsProjectDetector
...
It leads to undesired behaviour
such as returning library source when only binaries are queried
It is redundant since js libraries do not include kotlin source files
(real binary format is used for this purpose for along time now)
2017-12-25 20:12:48 +03:00
Pavel V. Talanov
6551ee5403
Test completion in script files
...
Test for 'JavaResolutionUtils.getJavaDescriptorResolver' failing with AE
Tests ebd3ac6dc8
See EA-105435
2017-12-25 20:12:46 +03:00
Sergey Igushkin
149b197b24
Fix unconditional warning in JS compilation with sourceMap disabled.
2017-12-25 15:30:01 +03:00
Sergey Igushkin
66d3c94193
Fix both moduleFile and destination passed to the compiler
...
when it is run not in daemon from Gradle; don't pass the destination in
such case.
Issue #KT-21637 Fixed
2017-12-25 15:29:34 +03:00
Sergey Igushkin
00d7150944
Fix warning check in tests:
...
* Fix the regex that could not actually find warnings
* Suppress an unused parameter warning in the test project
* Add allWarningsAsErrors to ExecutionStrategyIT
2017-12-25 15:28:33 +03:00
Sergey Igushkin
41086f26ae
Fix duplicate classpath entry in JS Gradle compilation causing warnings
...
Issue #KT-21943 Fixed
2017-12-25 15:15:54 +03:00
Nikolay Krasko
93e7e9b28c
Minor: regenerate tests
2017-12-22 17:06:12 +03:00
Alexey Tsvetkov
d7edbb8dfc
Track changes in inline function when friend paths are disabled in JS
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
a4d122478b
Replace testCancelLongKotlinCompilation with less flaky test
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
ee94a64718
Explicitly request rebuild when untracked java file is removed
...
Previously a rebuild was happenning because FileNotFoundException
was thrown when getting psiFile of removed file.
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
61cb39a600
Include tests from incremental-compilation-impl in compiler tests
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
50bf74b909
Turn off class redeclaration test for JS IC temporarily
...
So the tests could be run on TC.
Turn on after KT-19846 is fixed.
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
5b646ba4fa
Generate source maps in JS IC tests
...
#KT-21700 fixed
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
0fee7883ed
Recompile only files from last iteration after compile error
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
3914c1b0e9
Allow to edit non-JPS build logs in "Show difference" window for non-JPS IC tests
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
ff2e3ecfc4
Add JS specific IC build log in test
...
JS IC compares proto using a source file path as a key,
so moving file causes recompilation of its usages
unlike JVM IC that uses a class file path as a key.
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
7712044146
Fix IC test build log diverged from JPS
...
JPS marks dirty direct usages of removed classes since 172.* before a build.
Generic IC also marks dirty all subclasses and their usages.
That is necessary because a method from a removed class could be used
through a subclass.
JPS and generic IC logs diverged in 172 branch, but non-JPS tests
were not run on CI.
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
ad1978940b
Recompile inline function usages in JS when offset is changed
...
Otherwise source maps would differ after rebuild
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
a31f503fa5
Recompile all subclasses of removed classes
2017-12-22 16:12:19 +03:00
Alexey Tsvetkov
e8162cd99d
Unify processing of removed files for JS and JVM IC
2017-12-22 16:12:19 +03:00
Alexey Tsvetkov
d0ca0dca2b
Avoid processing incremental changes after first build for JVM
2017-12-22 16:12:19 +03:00
Alexey Tsvetkov
91bb57c5a3
Make general IC logs similar to JPS IC logs
2017-12-22 16:12:19 +03:00
Alexey Tsvetkov
fec2d08d22
Compile actual and expected declarations together
...
#KT-20840 fixed
2017-12-22 16:12:19 +03:00
Alexey Tsvetkov
123fd64a34
Fix stdlib usages in IC tests
...
* Use stdlib from dist
* Check that stdlib exists
* Don't add stdlib for JS, because compiler adds one by default
(stdlib would be read twice which is slow)
2017-12-22 16:12:19 +03:00
Alexey Tsvetkov
e3a9ad5a74
Minor: remove unused variable
2017-12-22 16:12:19 +03:00
Alexey Tsvetkov
dfe176efca
Avoid computing source files changes in IC for Gradle
2017-12-22 16:12:19 +03:00
Nikolay Krasko
5a8c0f8f42
Minor: fix compile error in test data
2017-12-22 15:27:11 +03:00
Toshiaki Kameyama
9fad40b586
KT-21928 Structure view doesn't show default constructor
2017-12-22 15:27:10 +03:00
Dmitry Jemerov
3178dee759
Insert line break before elvis when converting if to elvis
...
This ensures correct indentation
2017-12-22 10:35:23 +01:00
Dmitry Jemerov
6208c69c72
Add option for wrapping closing paren in multiline if conditions
2017-12-22 10:35:23 +01:00
Dmitry Jemerov
7711f8e3a7
Add predefined code style for Kotlin style guide
2017-12-22 10:35:23 +01:00
Dmitry Jemerov
d69382f129
Don't apply indent on Enter after modifier list
...
#KT-9562 Fixed
2017-12-22 10:35:23 +01:00
Dmitry Jemerov
43ef113b7a
Correctly apply annotation wrap before modifier keyword
...
#KT-20314 Fixed
2017-12-22 10:35:22 +01:00
Dmitry Jemerov
fa19bd6d9b
Apply indent of continuation call start to its children
...
#KT-15099 Fixed
2017-12-22 10:35:22 +01:00
Dmitry Jemerov
5652fa762f
Force no line break after dot in chained calls
...
#KT-20362 Fixed
2017-12-22 10:35:22 +01:00
Dmitry Jemerov
06fa61bb6f
Line breaks in objects and lambdas don't trigger call paren wrapping
...
#KT-19727 Fixed
2017-12-22 10:35:22 +01:00
Dmitry Jemerov
79a509df7b
Option to apply normal indent to children of 'if' expressions
2017-12-22 10:35:21 +01:00
Dmitry Jemerov
640bf22e4f
Refactoring: extract 'continuationIf' method
2017-12-22 10:35:21 +01:00
Dmitry Jemerov
44ee228ac9
Don't wrap parentheses in long argument list containing only object
2017-12-22 10:35:21 +01:00
Dmitry Jemerov
a2175c2ef5
KotlinFormattingModelBuilder: J2K
2017-12-22 10:35:21 +01:00
Dmitry Jemerov
57844968b0
KotlinFormattingModelBuilder: rename to .kt
2017-12-22 10:35:20 +01:00
Mikhael Bogdanov
ea5505f80c
Generate annotations in proper order in DefaultImpls
2017-12-22 10:02:04 +01:00
Mikhael Bogdanov
c9d0ab38cf
Generate proper java parameter names for DefaultImpls
...
#KT-21919 Fixed
2017-12-22 10:02:04 +01:00
Alexander Podkhalyuzin
12a8048bf7
Fixed exception reporting in Kotlin plugin and IDEA releases
2017-12-22 11:33:36 +03:00
Sergey Igushkin
a88206c5ea
(minor) Fix platform-dependent line separators in source maps test
2017-12-21 20:49:58 +03:00
Ilya Gorbunov
94a0e508d9
Use empty array instead of presized for Collection.toArray
...
#KT-21918
2017-12-21 20:10:28 +03:00
Alexander Podkhalyuzin
8203d1c3fe
Extracted Kotlin.JVM IDE into separate module
...
This change is required to have possibility to build plugin against
minor IDEs, which don't have Java. So we want to extract idea-jvm
2017-12-21 18:34:02 +03:00
Alexander Podkhalyuzin
2bb02beb84
Do not report exceptions/errors in very specific case
...
In IDEA special property can be used for that, Kotlin plugin should honor that
2017-12-21 18:34:00 +03:00
Alexander Podkhalyuzin
5e21dc5560
Removed non ASCII char to reduce pain in compilation.
2017-12-21 18:34:00 +03:00
Ilmir Usmanov
c8904b1c7c
Replace POP with ARETURN if it pops Unit and ARETURN shall return Unit
...
#KT-16880: Fixed
2017-12-21 18:08:39 +03:00
Toshiaki Kameyama
2cdc246a27
Inspection to highlight usages of Collections.sort() and replace them with .sort() method from Kotlin stdlib
...
#KT-11023 Fixed
2017-12-21 15:05:48 +01:00
Alexey Sedunov
4ac870500f
Minor: Fix test data
2017-12-21 16:01:29 +03:00
Emmanuel Duchastenier
a8ddf03b53
README: IntelliJ IDEA 2017.3 is not early access anymore
...
update README.md with direct download link to IntelliJ IDEA latest version
2017-12-21 13:51:24 +01:00
Nikolay Krasko
e6aeb66875
Sort files according to given scope in debugger (KT-21931)
...
#KT-21931 Fixed
2017-12-21 15:46:28 +03:00
Nikolay Krasko
7c73356893
Early exit from getSourcePosition() for non-kotlin source files
2017-12-21 15:46:28 +03:00
Mikhael Bogdanov
50608d0844
Don't delete nested default lambda classes during inline transformation
2017-12-21 12:52:29 +01:00
Mikhael Bogdanov
b65dcf27ee
Provide test source mapping data for separate and non-separate compilation
...
Compilation in same module or in separate ones
2017-12-21 12:52:28 +01:00
Mikhael Bogdanov
f4f7c83eeb
Copy nested objects of default lambda during inline
2017-12-21 12:52:28 +01:00
Mikhael Bogdanov
3513f1a86a
Properly process default lambda source mapping
...
#KT-21827 Fixed
2017-12-21 12:52:27 +01:00
Nicolay Mitropolsky
657123f2c0
LightClassUtil.extractPropertyAccessors refactoring to fix KotlinShortNamesCacheTest.testGetMethodsByNameWithCustomPropertyAccessors test
...
After light classes caching the test started to fail.
Also refer Simon Ogorodnik.
2017-12-21 12:25:51 +03:00
Sergey Igushkin
710c726c9a
Improve kapt arguments & javac options usability with Kotlin DSL
...
Issue #KT-21596 Fixed
2017-12-20 20:49:30 +03:00
Toshiaki Kameyama
411feab9ae
KT-21698 Create interface shouldn't suggest to declare it inside a class which implements it
2017-12-20 18:14:55 +01:00
Vyacheslav Gerasimov
1deed28464
Add missing changelog for [1.2.20 - 1.1.60] versions
2017-12-20 19:10:26 +03:00
Pavel V. Talanov
aec893180e
Minor, JvmAnalyzerFacade: drop logging
...
Prevent log spam
2017-12-20 17:19:09 +03:00
Dmitry Jemerov
78a87ac0cf
Regenerate test
2017-12-20 15:03:25 +01:00
Mikhail Glukhikh
484bf0115f
Fix "fake JVM field" inspection test XML
2017-12-20 16:31:10 +03:00
Kirill
7842fa4796
Support callable references in "implicit this" inspection
...
Second part of #KT-21510
2017-12-20 14:16:39 +03:00
Kirill
74e5a9425a
Support callable references in "explicit this" inspection
...
So #KT-21510 Fixed
2017-12-20 14:16:33 +03:00
Dmitry Jemerov
d3adf57145
Don't apply highlighting to zero-length elements
...
#KT-19820 Fixed
2017-12-20 12:02:04 +01:00
Dmitry Jemerov
52ccfcecfc
Fix highlighting of TODO calls in lambdas
...
#KT-19915 Fixed
2017-12-20 12:02:04 +01:00
Dmitry Jemerov
0159d19539
Apply rainbow highlighting in anonymous initializers
...
#KT-18839 Fixed
2017-12-20 12:02:04 +01:00
Dmitry Jemerov
94a7673c2d
Don't show type hints for destructuring declarations with explicit type
...
#KT-21833 Fixed
2017-12-20 12:02:04 +01:00
Dmitry Jemerov
b0b69b2ad0
Put argument name hint before spread element
...
#KT-21645 Fixed
2017-12-20 12:02:04 +01:00
Dmitry Jemerov
c336159b2b
Don't show argument name hints for dynamic calls.
...
Mark function descriptors created for dynamic calls as having
synthesized parameter names.
#KT-21275 Fixed
2017-12-20 12:02:04 +01:00
Dmitry Jemerov
3e7e01dc4d
Add mapOf() to default parameter name hints blacklist
...
#KT-18829 Fixed
2017-12-20 12:02:04 +01:00
Dmitry Jemerov
fd7aaa1579
Add single-arg 'assert' method to parameter name hints blacklist
...
#KT-17965 Fixed
2017-12-20 12:02:04 +01:00
Dmitry Jemerov
cf6b71aa05
Don't show type hint for local variable initialized with object
...
#KT-17964 Fixed
2017-12-20 12:02:04 +01:00
Dmitry Jemerov
77c186442a
Don't show parameter name hints when calling Java methods with unknown
...
parameter names
#KT-17843 Fixed
2017-12-20 12:02:04 +01:00
Dmitry Jemerov
6d63dd9d83
Enable "Configure Kotlin plugin updates" with no open project
...
#KT-20380 Fixed
2017-12-20 12:02:04 +01:00
Dmitry Jemerov
1a9d2ab4ee
Fix name of inspection description file
2017-12-20 11:56:04 +01:00
kenji tomita
3cd4d90bf8
Use BodyResolveMode.PARTIAL and ProblemHighlightType.GENERIC_ERROR_OR_WARNING
2017-12-20 11:56:04 +01:00
kenji tomita
37351c344f
code style inspection: to -> Pair function used not in infix form
2017-12-20 11:56:04 +01:00
Mikhail Glukhikh
41739602bc
Inline handler: fix reference detection for properties
2017-12-20 13:54:36 +03:00
Mikhail Glukhikh
ce441e2163
Extract common class from two KotlinInline<...>Dialogs #KT-17212 Fixed
2017-12-20 13:54:30 +03:00
Mikhael Bogdanov
3e1f471121
Rollback change in 'usesDefaultArguments'
2017-12-20 10:58:35 +01:00
Mikhael Bogdanov
32b90a1cae
Generate type checker barriers in bridges
2017-12-20 10:48:52 +01:00
Mikhael Bogdanov
be18cb9b16
Fix default methods visibility
2017-12-20 10:48:51 +01:00
Mikhael Bogdanov
9365d1d859
Remove redundant extra default mask for function with N*32 parameters
2017-12-20 10:48:51 +01:00
Mikhael Bogdanov
ef5c3512cd
Skip FAKE_OVERRIDE fields
2017-12-20 10:48:50 +01:00
Mikhael Bogdanov
aeb74f7e70
Skip bridge generation for non real declaration on first step they would be processed later
...
~
~
2017-12-20 10:48:50 +01:00
Mikhael Bogdanov
4657ae06f4
Don't cast receiver to super type on super calls
2017-12-20 10:48:49 +01:00
Mikhael Bogdanov
a936f75423
Fix empty vararg processing in intrinsics
2017-12-20 10:48:49 +01:00
Mikhael Bogdanov
420b9fdaa9
Support interface companion object lowering
2017-12-20 10:48:48 +01:00
Mikhael Bogdanov
24336113a2
Support class companion object lowering
2017-12-20 10:48:48 +01:00
Mikhael Bogdanov
224adfabc5
Support synthetic accessors for constructors
2017-12-20 10:48:47 +01:00
Mikhael Bogdanov
5cbfdf6024
SyntheticAccessorLowering refactoring
2017-12-20 10:48:47 +01:00
Mikhael Bogdanov
7da847e943
Fix coercion after call
2017-12-20 10:48:46 +01:00
Mikhael Bogdanov
4df0a1bb1f
Fix parameter indices on lowering
2017-12-20 10:48:46 +01:00
Mikhael Bogdanov
0729566458
Support javaClass for Void type
2017-12-20 10:48:45 +01:00
Mikhael Bogdanov
f7968e1b61
Fix inner class lowering: don't try to process nested classes on processing outer
2017-12-20 10:48:45 +01:00
Mikhael Bogdanov
dde0535c5a
Fix cast for IMPLICIT_NOTNULL
2017-12-20 10:48:44 +01:00
Mikhael Bogdanov
05b56b0c4a
Update ArrayConstructor to support inline
2017-12-20 10:48:44 +01:00
Mikhael Bogdanov
665a697093
Support simple function inlining in ir
2017-12-20 10:48:43 +01:00
Mikhael Bogdanov
54dc828c8e
Rename ExpressionLambda to PsiExpressionLambda
2017-12-20 10:48:43 +01:00
Mikhael Bogdanov
0e2bd46124
Remove cycle check and resolvedCall from 'preformInline' method
2017-12-20 10:48:42 +01:00
Mikhael Bogdanov
4711e2f9da
Don't use kind for static check
...
Lowers should perform proper transformations
2017-12-20 10:48:42 +01:00
Mikhael Bogdanov
3432014971
Add 'generateModule' method to CodegenFactory
2017-12-20 10:48:41 +01:00
Mikhael Bogdanov
06fd996266
Switch LocalFunctionLowering to LocalDeclarationLowering
2017-12-20 10:48:41 +01:00
Mikhael Bogdanov
1f053be289
Support default function lowering
2017-12-20 10:48:40 +01:00
Mikhael Bogdanov
83710a8ed6
HACK: process unbound symbols
2017-12-20 10:48:40 +01:00
Mikhael Bogdanov
5032064bf0
Enable tailrec lower
2017-12-20 10:48:39 +01:00
Mikhael Bogdanov
84e960b3a4
Enable lateinit lowering
2017-12-20 10:48:39 +01:00
Mikhael Bogdanov
039e036e22
Support IrExpressionBody in codegen
2017-12-20 10:48:38 +01:00
Mikhael Bogdanov
4017195ff1
Always include stdlib in IrTests
2017-12-20 10:48:38 +01:00
Mikhael Bogdanov
e16bdd4287
Switch JvmBackendContext to CommonBackendContext
...
(cherry picked from commit 5d4736c)
2017-12-20 10:48:37 +01:00
Nikolay Krasko
f963b8bd42
Fix QuickFixTestGenerated$DeprecatedSymbolUsage$TypeAliases
...
Revert asking super isAvailable in DeprecatedSymbolUsageInWholeProjectFix
2017-12-20 12:27:36 +03:00
Nikolay Krasko
b80403cf13
Consistency for replace string quick fix message
...
https://youtrack.jetbrains.com/issue/KT-21746#comment=27-2634335
2017-12-20 12:27:36 +03:00
Vyacheslav Gerasimov
95cc3fe1b7
Fix availability of AddFunctionParametersFix
...
fixes RenameTestGenerated.testAutomaticVariableRenamerWithQuotation_AutomaticVariableRenamerWithQuotation
2017-12-19 21:23:38 +03:00
Nicolay Mitropolsky
bb4d6d1059
LightClassEqualsTest fix by creating lightclasses with createNoCache
2017-12-19 20:03:59 +03:00
Nicolay Mitropolsky
4c5cf0f7e7
*kapt3-idea* added to test-dependencies in *uast-kotlin*
2017-12-19 18:22:14 +03:00
Mikhael Bogdanov
ef433d163e
Apply common header directives to second file in AbstractCompileKotlinAgainstKotlinTest
2017-12-19 16:11:39 +01:00
Mikhael Bogdanov
819a3a95b3
Add support for contract feature in inliner
2017-12-19 16:11:39 +01:00
Pavel V. Talanov
4890979476
ScriptDefinitionsManager: ignore reloadDefinitionsBy calls
...
If definitions are not loaded yet
2017-12-19 17:15:39 +03:00
Pavel V. Talanov
106f571814
scriptTemplatesFromCompilerSettings: fix ScriptDefinitionsManager access
...
#KT-21545 Fixed
2017-12-19 17:15:36 +03:00
Mikhail Glukhikh
4bff0fb338
Unused symbol: revert entry point check optimization to fix regression
...
E.g. JUnit 3 tests was highlighted as unused after it
2017-12-19 15:59:30 +03:00
Mikhail Zarechenskiy
9eca8cd451
[NI] Fix hierarchy of resolution atoms for lambda with non-local return
2017-12-19 15:11:04 +03:00
Mikhail Zarechenskiy
c6d8b39b4f
[NI] Prioritize type variables related to output type for fixation
2017-12-19 15:11:04 +03:00
Mikhail Zarechenskiy
d818af5287
[NI] Don't forget to analyze whole block for last postponed expression
2017-12-19 15:11:03 +03:00
Anton Bannykh
8ed8e05a68
JS: honor ignoreTestFailures flag and report failures to TC (KT-20735
...
fixed)
2017-12-19 14:38:15 +03:00
Alexey Sedunov
0ab924a298
Change Signature: Fix overrider search for suspend functions
...
#KT-21288 Fixed
2017-12-19 13:47:02 +03:00
Alexey Sedunov
b5bd5942e7
Kotlin Facet: Do not auto-advance version in imported projects
...
#KT-21879 Fixed
2017-12-19 13:47:02 +03:00
Alexey Sedunov
88540360b4
Misc: Fix NPE on external project import
2017-12-19 13:47:02 +03:00
Nicolay Mitropolsky
4a6cc3913d
Fix for "safe delete" after caching added to light elements
2017-12-19 13:32:23 +03:00
Alexey Tsvetkov
18fae9e16d
Allow override removing temporary module files after build
...
For debug purposes
2017-12-18 21:19:15 +03:00
Alexey Tsvetkov
5bffef6de7
Allow customizing directory for temporary module files
2017-12-18 21:19:15 +03:00
Alexey Tsvetkov
37b00b91fc
Avoid generating too long path for temp module file
...
#KT-21841 fixed
2017-12-18 21:19:15 +03:00
Toshiaki Kameyama
a4fbe95112
KT-21770 Pasting into an interpolated string shouldn't escape $
2017-12-18 18:25:43 +01:00
Toshiaki Kameyama
eb25ac44e6
KT-17928 Support code folding for primary constructors
2017-12-18 18:14:27 +01:00
Dmitry Jemerov
18cb9593c8
Add 'reformat' flag to DeprecatedSymbolUsageFixBase
2017-12-18 18:10:36 +01:00
Dmitry Jemerov
48021ce5a1
Disallow formatting in KotlinQuickFix.isAvailable()
2017-12-18 18:10:34 +01:00
Dmitry Jemerov
64f01e53af
Check that add() method is in fact MutableCollection.add()
...
#KT-18881 Fixed
2017-12-18 18:10:33 +01:00
Dmitry Jemerov
94b8614fb8
Don't suggest mapTo() transformation over range literals
...
#KT-18816 Fixed
2017-12-18 18:10:32 +01:00
Dmitry Jemerov
09d27ca61c
Don't generate .forEach { return } when converting loop to call chain
...
#KT-17161 Fixed
2017-12-18 18:10:31 +01:00
Dmitry Jemerov
b775b901cc
Fix incorrect replacement with 'any' instead of 'all'
...
#KT-17730 Fixed
2017-12-18 18:10:24 +01:00
Dmitry Jemerov
ba4cf4dcc6
Delete unused class
2017-12-18 18:10:21 +01:00
Dmitry Jemerov
d0a8dd7dc8
Update EAP channel names in plugin update check dialog
2017-12-18 18:10:14 +01:00
Ilya Chernikov
3e2003e60d
Do not log daemon connection errors as exceptions - may reduce number of ...
...
redundant report if the problem is corrected on retry
(cherry picked from commit 260fe36)
2017-12-18 17:08:15 +01:00
Ilya Chernikov
f83dc0a067
Make daemon session retrieval more robust to the daemon failures
2017-12-18 16:49:53 +01:00
Ilya Chernikov
1101bb7fb4
Treat "daemon is dying" state as a case for fallback compilation strategy in jps
2017-12-18 16:49:52 +01:00
Ilya Chernikov
6e34f57acf
Retry socket connection on connection errors, number of retries and...
...
retry interval are configurable via the system props
2017-12-18 16:49:51 +01:00
Ilya Chernikov
1cd14f00eb
Ignore connection error on the (optional) daemon.clearJarCache call
...
May fix issues with NoSuchObjectException and UnmarshalException - the
stacktraces often point to this place
2017-12-18 16:49:50 +01:00
Mikhail Glukhikh
0d64ab4846
Fix corner cases (override/script/null/etc.) in "might be const"
...
Related to KT-20644
2017-12-18 17:23:41 +03:00
Alexey Tsvetkov
3f082346ae
Do not set api version to language version when language version is null
...
#KT-21852 fixed
#KT-21574 fixed
2017-12-18 16:22:07 +03:00
Dmitry Petrov
17b4d4a973
Differentiate accessors by FieldAccessorKind
...
Otherwise accessors for backing fields (as in '{ field }') clash with
accessors for properties (as in '{ prop }').
#KT-21258 Fixed Target versions 1.2.30
2017-12-18 16:15:52 +03:00
Ilya Gorbunov
d8cd926a8c
Do not leak primitiveness of an array wrapped with asList
...
A primitive array wrapped in a List with asList had incorrect implementation of toArray method:
while it declares that an object array is returned, it returned a primitive array.
Therefore the methods such as `Collection.toTypedArray()` and its dependents
`ArrayList(collection)`, `Collection + Iterable` might behave incorrectly
having relied on `toTypedArray` returned an object array.
#KT-21828 Fixed
2017-12-18 15:50:15 +03:00
Sergey Igushkin
c55f08a166
Optimize embeddable JARs
...
Exclude the compiler dummy JAR from the resulting shadow JAR
2017-12-18 15:46:23 +03:00
Alexander Udalov
3a807cb39b
Support Void.TYPE as underlying Class object for KClass
...
#KT-20875 Fixed
2017-12-18 11:57:05 +01:00
Anton Bannykh
46a631a654
Ignore license in the downloaded node_modules and nodejs
2017-12-18 13:46:25 +03:00
Yan Zhulanow
1692d1a087
Kapt: Add missing 'flush()', otherwise the serialized data can be empty
2017-12-18 18:57:38 +09:00
Nikolay Krasko
f67eb90dfb
Don't show file root if it's same as the only declaration (KT-21200)
...
#KT-21200 Fixed
2017-12-18 11:50:50 +03:00
Nikolay Krasko
a3028beca9
Fix smart step into to Kotlin SAM adapter (KT-21538)
...
#KT-21538 Fixed
2017-12-18 11:50:49 +03:00
Denis Zharkov
adfee2086a
Update bootstrap to 1.2.20-dev-814
2017-12-16 18:56:26 +03:00
Yan Zhulanow
d4be55df0e
Kapt, Minor: Fix empty option parsing
2017-12-16 02:17:24 +09:00
Simon Ogorodnik
7c5897c1ab
Skip deprecated for org.junit package in kotlin.test
2017-12-15 20:09:51 +03:00
Simon Ogorodnik
c2e706db6c
Enable generation of docs for deprecated declarations
2017-12-15 20:09:49 +03:00
Simon Ogorodnik
c5c52dbda5
Fix annotations docs for kotlin.test
2017-12-15 20:09:48 +03:00
Simon Ogorodnik
430aad3651
Set LV = 1.2 in Dokka for generating stdlib docs
2017-12-15 20:09:47 +03:00
Simon Ogorodnik
3c78156f0f
Suppress kotlin.reflect.jvm.internal
2017-12-15 20:09:46 +03:00
Simon Ogorodnik
fb3cf212ce
Suppress docs for org.junit.Test header in kotlin.test
2017-12-15 20:09:45 +03:00
Simon Ogorodnik
99951db7e3
Add module docs for kotlin.test
2017-12-15 20:09:44 +03:00
Simon Ogorodnik
978a7fdfaa
Add stdlib to kotlin.test docs classpath
2017-12-15 20:09:43 +03:00
Simon Ogorodnik
773fca5245
Use correct task to build builtins.jar
2017-12-15 20:09:42 +03:00
Simon Ogorodnik
640ce213cf
Compile stdlib builtins ant pass it to Dokka
...
We need builtins to allow linking to type-aliased classes
such as Exception
2017-12-15 20:09:41 +03:00
Simon Ogorodnik
697b358293
Make local dokka run easier
2017-12-15 20:09:40 +03:00
Simon Ogorodnik
9ab48d8374
Suppress whole org.w3c
2017-12-15 20:09:38 +03:00
Simon Ogorodnik
99af2372c3
Suppress undocumented warnings for third-party js packages
2017-12-15 20:09:37 +03:00
Simon Ogorodnik
17106d6546
Use makeurl to create package-list URL in ant
2017-12-15 20:09:36 +03:00
Ilya Gorbunov
cc139856c8
List all source folders instead of project folder
2017-12-15 20:09:34 +03:00
Ilya Gorbunov
9b1867ce64
Docs: run gradle project and wrapper from the root dir
...
Build docs for kotlin-stdlib-jdk7/8 instead of jre7/8.
2017-12-15 20:09:33 +03:00
Simon Ogorodnik
a19e229a72
Minor: prepare for documentation generation
2017-12-15 20:09:32 +03:00
Ilya Chernikov
775eeb75c9
Treat daemon startup timeout/error exceptions the same way as RMI errors
...
will result on regular retry cycle on them, hopefully eliminating or
reducing appropriate exception reports
2017-12-15 15:24:38 +01:00
Mikhail Glukhikh
ea5a52f918
Restrict search scope in some inspections to avoid testData search
...
Affected inspections: can be private, can be parameter, unused symbol.
Related to KT-21756. May fix EA-113712.
2017-12-15 17:07:37 +03:00
Mikhail Glukhikh
2b5bbf0fdd
Fix tests for "may be constant" inspection
2017-12-15 17:07:35 +03:00
Sergey Igushkin
3b4f82c9b9
Advance Gradle version -> 4.4
...
(cherry picked from commit 2fc7628)
2017-12-15 16:59:37 +03:00
Nikolay Krasko
6456f4ed98
Test step into for Java constructor with SAM conversion
...
Additional test for KT-21538
#KT-21538 Fixed
2017-12-15 16:14:50 +03:00
Nikolay Krasko
d6cface66f
Make isFromJava check work for SAM adapter extension descriptors (KT-21538)
...
Consider all callable descriptor in JavaClassDescriptor to be from Java.
This is used to check if smart step into should be intercepted by Kotlin
handler or delegated to Java.
#KT-21538 Fixed
2017-12-15 16:14:50 +03:00
Nikolay Krasko
26413acf33
Refactoring: introduce method for reuse file for single class logic
2017-12-15 16:14:50 +03:00
Nikolay Krasko
5c33e4a32d
Minor: remove warnings in KotlinStructureViewFactory
2017-12-15 16:14:49 +03:00
Nikolay Krasko
c79386594d
Don't show useless fold icon in structure view (KT-17254, KT-21200)
...
#KT-21200 In Progress
#KT-17254 Fixed
2017-12-15 16:14:49 +03:00
Nikolay Krasko
1688f6fdbd
Minor: inline method in KotlinStructureViewElement and rewrite with when
2017-12-15 16:14:49 +03:00
Nikolay Krasko
7bf071b69f
Precount 'isPublic' property if descriptor available
2017-12-15 16:14:49 +03:00
Nikolay Krasko
c28a7d8f6d
Fix structure view auto-update (KT-21733, KT-19519)
...
- Fixed by subclassing PsiTreeElementBase instead of StructureViewTreeElement
- Warnings cleanup
#KT-19519 Fixed
#KT-21733 Fixed
2017-12-15 16:14:48 +03:00
Nikolay Krasko
b133189309
Rename: MyFunctionDescriptor -> SamAdapterExtensionFunctionDescriptorImpl
2017-12-15 16:14:48 +03:00
Toshiaki Kameyama
d719d06020
Don't suggest "convert to array literal" for *arrayOf #KT-21726 Fixed
2017-12-15 15:01:22 +03:00
Anton Bannykh
f68d639c63
Add @Target's to kotlin.test annotations
2017-12-15 14:14:00 +03:00
Toshiaki Kameyama
5680405531
"Redundant spread operator" inspection: support array literal
...
So #KT-21727 Fixed
2017-12-15 13:50:53 +03:00
Mikhail Glukhikh
df4bf73033
Convert lambda to reference: minor cleanup
2017-12-15 13:37:00 +03:00
Toshiaki Kameyama
0071ca64c7
Convert lambda to reference produces: fix case with qualified this
...
So #KT-19977 Fixed
2017-12-15 13:36:32 +03:00
Mikhail Glukhikh
50dc9a14a6
May be constant: fix corner case with getter & initializer
2017-12-15 13:31:49 +03:00
Mikhail Glukhikh
7358980cbc
Add inspection to detect non-const vals used as Java annotation args
...
So #KT-20615 Fixed
2017-12-15 13:31:41 +03:00
Mikhail Glukhikh
70b7e5eb68
Introduce inspection to detect vals might be marked as const
...
So #KT-20644 Fixed
2017-12-15 13:05:50 +03:00
Yan Zhulanow
4ec20ad595
Minor: Fix build, remove inline function usage
2017-12-15 17:39:17 +09:00
Nicolay Mitropolsky
da98b7e07b
Uast: type-mapper checks deeper for local classes (KT-21546, EA-100195)
2017-12-15 09:16:46 +03:00
Yan Zhulanow
f9813e3276
Kapt, Minor: Add kapt-runtime to sources for kotlin-annotation-processing-maven
2017-12-15 02:35:17 +09:00
Yan Zhulanow
187182e46f
Noarg, Minor: Include IDEA 'testRuntime' dependency as in other compiler plugins
2017-12-15 02:35:16 +09:00
Yan Zhulanow
db4c441573
Kapt, Maven: Fix path for kapt3 compiler plugin sources
2017-12-15 02:35:16 +09:00
Yan Zhulanow
4d067ab9ce
Kapt, Maven: Support passing javac/annotation processor options (KT-21565, KT-21566)
2017-12-15 02:35:15 +09:00
Yan Zhulanow
1af93b8342
Kapt: Consider all 'kapt' configuration dependencies as KaptTask dependencies.
2017-12-15 02:35:14 +09:00
Yan Zhulanow
6941065e2c
Fix EA-1005833: Try to find a field using also the receiver type (KT-21820)
2017-12-15 02:35:13 +09:00
Yan Zhulanow
d58665b5a8
Kapt: Remove duplicating check, this also removes the senseless warning (KT-21425)
2017-12-15 02:35:12 +09:00
Yan Zhulanow
4c96453a4b
Kapt: Annotations on enum constants are not kept on the generated stub (KT-21433)
2017-12-15 02:35:12 +09:00
Yan Zhulanow
c6f922fb64
EA-110813: Resolve the parent directory safely
2017-12-15 02:08:03 +09:00
Yan Zhulanow
e5a2be4f3c
EA-96041: Make error message more user-friendly
2017-12-15 02:08:00 +09:00
Denis Zharkov
fa6285d32a
Fix NPE in JavaNullabilityChecker when checking equals-calls
...
This NPE was introduced in ce41b5745a
Prior to the latter change there was a synthetic PSI element for each
equals-related call, thus callOperationNode was not null here.
== are intentionally treated as safe calls, but for nullability checker
it's not relevant, it only should report warnings on real safe-calls
2017-12-14 19:15:41 +03:00
Denis Zharkov
d64e8e3b33
Revert "Update bootstrap to 1.2.20-dev-732"
...
This reverts commit f7ccc4144c .
2017-12-14 19:15:41 +03:00
Nicolay Mitropolsky
6ac345df51
Caching KtLightClassForSourceDeclaration (KT-21701)
...
to make their UserData survive for longer, because otherwise a new LightClass with empty UserData comes to Spring every time, but Spring stores a lot of important things in UserData
2017-12-14 18:05:47 +03:00
Anton Bannykh
6bee5699a0
Migrate node_utils.xml to Gradle
2017-12-14 17:41:20 +03:00
Dmitry Jemerov
40184f053e
Don't invoke formatter while checking availability of intentions
...
#KT-21632 Fixed
2017-12-14 12:02:39 +01:00
Dmitry Jemerov
54d626fe7d
Change vendor to JetBrains to always enable exception reporting
...
#KT-17838 Fixed
2017-12-14 12:02:39 +01:00
Dmitry Jemerov
ba21bae653
Get rid of forced index rebuild on version change
...
#KT-17367 Fixed
2017-12-14 12:02:39 +01:00
Denis Vnukov
52ccd67ec1
Remove duplicate parameter null checks in JvmStatic delegate methods.
...
Remove unnecessary non-null parameter checks inside static delegate methods
created for @JvmStatic companion object methods. Allows function generation
strategy decide if such checks need to be injected.
#KT-7188 Fixed
2017-12-14 13:48:50 +03:00
Alexander Udalov
9e82ab38f0
Fix lookup tracker tests after 2be7116b0b
...
Standard library is no longer automatically added to the classpath when
-Xbuild-file is used. Before 2be7116b0b , these tests worked because no
matter whether -Xbuild-file was used or not, the automatically computed
classpath (which erroneously was used to populate content roots in the
compiler) contained the standard library (see
K2JVMCompiler.configureContentRoots)
2017-12-14 11:37:56 +01:00
Alexander Udalov
46fa5cfae0
Add dependency on compiler dist from jps-tests
...
Otherwise, because there's no explicit dependency and the JPS plugin
loads the compiler from dist, the compiler jar is not rebuilt between
changes in compiler code and running jps-tests
2017-12-14 11:37:56 +01:00
Yan Zhulanow
5116f598df
Kapt: Fix error message when no annotation processors were found (KT-21729)
...
Error message says "androidProcessor", it should be "annotationProcessor"
2017-12-14 19:28:51 +09:00
Denis Zharkov
f7ccc4144c
Update bootstrap to 1.2.20-dev-732
2017-12-14 11:11:23 +03:00
Dmitry Petrov
1aab4e643c
Add overflow-related tests for 'reversed'
2017-12-14 10:41:51 +03:00
Dmitry Petrov
65b5cdbb8d
Maintain bounds evaluation order in intrinsics for 'reversed'
...
Makes sense for 'rangeTo', 'downTo', and 'until' with non-const bounds.
2017-12-14 10:41:51 +03:00
Dmitry Petrov
9fa9a8748b
Check that qualified const expressions are recognized properly in 'for'
2017-12-14 10:41:51 +03:00
Dmitry Petrov
bf97b332cf
Support const-bounded for loop generation for reversed 'until'
2017-12-14 10:41:51 +03:00
Dmitry Petrov
54cceac99b
Intrinsics for 'reversed': until
2017-12-14 10:41:51 +03:00
Dmitry Petrov
5f7460a8c7
Support const-bound counter loop generation for 'downTo'
2017-12-14 10:41:51 +03:00
Dmitry Petrov
2f0df832c0
Minor: pull up helper methods for const-bounded for-in-range generation
2017-12-14 10:41:51 +03:00
Dmitry Petrov
a4c29b3587
Support Long and Char in const-bounded counter loop generation
...
If the loop end value is a compile-time constant (best we can do now),
and it is safe to iterate over a given range using "naive" for loop
(using '<=' or '>=' in loop condition),
generate such loops for Longs and Chars as well Ints (Bytes, Shorts).
2017-12-14 10:41:51 +03:00
Dmitry Petrov
df2b8d01d8
Extract common code in PrimitiveNumberRangeLiteralRangeValue
2017-12-14 10:41:51 +03:00
Dmitry Petrov
455a1c0f53
Intrinsics for 'reversed': downTo
...
#KT-21323 In Progress
2017-12-14 10:41:51 +03:00
Dmitry Petrov
64ba811b7f
Intrinsics for 'reversed': CharSequence.indices
...
#KT-21323 In Progress
2017-12-14 10:41:51 +03:00
Dmitry Petrov
7ba73c1635
Intrinsics for 'reversed': collection.indices
...
#KT-21323 In Progress
2017-12-14 10:41:51 +03:00
Dmitry Petrov
5bcbe25469
Intrinsics for 'reversed': array.indices
...
#KT-21323 In Progress
2017-12-14 10:41:51 +03:00
Dmitry Petrov
beff4a1b92
Intrinsics for 'reversed': support non-literal range expressions
...
#KT-21323 In Progress
2017-12-14 10:41:51 +03:00
Dmitry Petrov
1493805f8e
Take into account step sign in pre-condition for simple progression
...
So far, all non-end-inclusive progressions had step > 0.
With intrinsics for 'reversed' this will change.
2017-12-14 10:41:51 +03:00
Dmitry Petrov
821843e13f
Intrinsics for 'reversed': generate in-const-bound ranges as countable
...
#KT-21323 In Progress
2017-12-14 10:41:51 +03:00
Dmitry Petrov
1775f294f4
Intrinsics for 'reversed': infrastructure & primitive range support
...
#KT-21323 In Progress
2017-12-14 10:41:51 +03:00
Mikhail Glukhikh
83ae34bb29
Fix leak in matchAndConvert (loopToCallChain)
2017-12-14 10:38:28 +03:00
Ilya Gorbunov
479f293edc
Expose internal getProgressionLastElement to public api
...
To be used in compiler loop optimizations.
#KT-18869 Fixed
2017-12-14 07:22:08 +03:00
Ilya Chernikov
c453ff01cd
Increase daemon socket queue size, make it controllable via system prop
...
Hopefully fixes #KT-15562
Also some minor refactoring
2017-12-13 17:34:13 +01:00
Ilya Chernikov
8f42aa1eda
Improve parallel daemon start test:
...
- move asserts to the end to collect all diagnostics before it
- disable compilation by default for better testing the startup logic
- minor refactorings
2017-12-13 17:34:12 +01:00
Alexander Udalov
c5c4c9cfcc
Support "-module-name" argument for common code compiler
...
#KT-20892 Fixed
2017-12-13 11:49:58 +01:00
Alexander Udalov
3ede503042
Minor, remove empty K2JSCompilerArguments.java
2017-12-13 11:49:58 +01:00
Alexander Udalov
cc9ebb26de
Minor, improve "-module-name" argument description
2017-12-13 11:49:58 +01:00
Alexander Udalov
dc23a53116
Enumerate module roots directly in ModuleHighlightUtil2.getModuleDescriptor
...
This is faster than going through FilenameIndex which would call
GlobalSearchScope.accept for all "module-info.java" files in the
project, and there can be many of those.
Also see https://github.com/JetBrains/intellij-community/pull/670
2017-12-13 11:49:51 +01:00
Alexey Sedunov
38d3362bcb
Configuration: Support selection of "Latest stable" version vs specific one
...
#KT-21229 Fixed
2017-12-12 20:48:26 +03:00
Mikhail Glukhikh
5252cd4da4
Lift return or assignment: use register...WithoutOfflineInformation
2017-12-12 19:47:52 +03:00
Mikhail Glukhikh
a375500a33
Spelling: MemberVisibilityCanPrivate > MemberVisibilityCanBePrivate
2017-12-12 19:47:46 +03:00
Dmitry Jemerov
db8147bd79
Regenerate test
2017-12-12 17:13:35 +01:00
Denis Zharkov
e24e711208
Avoid rebuilds after changes of layouts xml-files
...
This commit makes IC react more granularly on these changes
Precisely, it marks dirty only kt-files that having lookups into
synthetic package built upon a changed layout-file
#KT-21622 Fixed
2017-12-12 16:17:58 +03:00
Denis Zharkov
58123f2103
Enable kotlin.incremental.usePreciseJavaTracking in gradle.properties
2017-12-12 16:17:58 +03:00
Denis Zharkov
a079b92ea0
Add property for precise version of Java tracking in Gradle IC
...
The flag name is kotlin.incremental.usePreciseJavaTracking
By default precise version is disabled
#KT-17621 Fixed
2017-12-12 16:17:58 +03:00
Denis Zharkov
a978c6be35
Fix precise Java IC for multi-module projects
...
The problem may happen in case of multi-module projects:
If a Java class was effectively unused in one module (A),
but it's used in kt-files from the dependent module (B) then
we wouldn't track the changes of the class while compiling A
and don't recompile its usages in B.
It happens because now we track only Java classes that were
resolved by out frontend instead of all classes in the module
that would be more correct but it might be rather slow.
The idea is that whenever we see change in an untracked Java file
we start tracking the classes in it and for the first time we mark
all its content as changed.
2017-12-12 16:17:58 +03:00
Denis Zharkov
d9cfdf2f63
Add assertion to JavaClassesTrackerImpl::onCompletedAnalysis
2017-12-12 16:17:58 +03:00
Denis Zharkov
8dd5c2f895
Avoid serlialization for unrelated Java source-based classes
...
There is no need to track unknown (not being tracked before)
classes content of which we didn't request
#KT-17621 Fixed
2017-12-12 16:17:58 +03:00
Denis Zharkov
f33255c990
Add jetbrains annotations to javac classpath in IncrementalJvmCompilerRunnerTest
...
Before this change some of these tests were failing
2017-12-12 16:17:58 +03:00
Denis Zharkov
df533053f9
Record special name lookup when trying use interface as a SAM
...
It was already working in JPS, because it see our synthetic classes
as subclasses for SAM's, but with non-JPS build we have to manually
tracking places that should be recompiled after SAM members are changed
2017-12-12 16:17:58 +03:00
Denis Zharkov
ae6421476d
Refine dirty files computation in case of Java source changes
...
#KT-17621 In Progress
2017-12-12 16:17:58 +03:00
Denis Zharkov
26393d738f
Drop IncrementalCompilerRunner::markDirty and its override
2017-12-12 16:17:58 +03:00
Denis Zharkov
1702775738
Introduce JavaClassesSerializerExtension
...
It will be used to track java classes changes for incremental compilation
#KT-17621 In Progress
2017-12-12 16:17:58 +03:00
Denis Zharkov
c86dc0d7af
Add protobuf extensions to serialized Java descriptors
...
#KT-17621 In Progress
2017-12-12 16:17:58 +03:00
Denis Zharkov
34452f4f4a
Introduce JavaClassesTracker interface into java resolution components
...
It's purpose is passing java classes being used during analysis
to incremental compilation to let it track diffs
Potentially it might be done the other way:
incremental compilation could build a separate container to analyze
necessary classes, but it's rather hard to implement now
#KT-17621 In Progress
2017-12-12 16:17:58 +03:00
Alexey Sedunov
9ed0b49746
Gradle: Compile Gradle models/model builders under JVM 1.6
...
This prevents imports failure in projects using older versions of Gradle
#KT-21610 Fixed
2017-12-12 15:38:40 +03:00
Dmitry Petrov
a1a1972a04
Provide DescriptorUtils.isAnonymousFunction (for IR-based BE)
2017-12-12 15:29:45 +03:00
Anton Bannykh
0566366895
Make project wizards produce kotlin-test-js testDependency in all Kotlin/JS projects
2017-12-12 14:25:24 +03:00
Alexander Udalov
3c98274006
Move -Xjsr-305 argument parsing out of K2JVMCompilerArguments
...
To simplify K2JVMCompilerArguments, which is mostly a data holder
2017-12-11 18:02:37 +01:00
Alexander Udalov
5092758acb
Improve help message on -Xjsr305 CLI argument
2017-12-11 18:02:04 +01:00
Dmitry Jemerov
900ec82614
Fix indent of expressions following elvis operator
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
87d2d16cda
"Use continuation indent for expression body" for prop initializers
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
eacd010e7e
Option to wrap elvis expressions
...
#KT-21720 Fixed
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
d1daca2560
No line break before = in property initializer and function expr body
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
ab99bf843a
Implement option for wrapping assignment statements
...
#KT-21718 Fixed
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
947833cad6
Add wrap option for expression body functions
...
#KT-21470 Fixed
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
3394d675e5
Option to use continuation indent in argument lists
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
3038f87105
Move two continuation indent wrapping options to wrapping page
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
dc4e673fb1
Initial support for chained call wrapping options
...
#KT-21529 Fixed
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
1a93d10697
Refactoring: use more specific block type in signatures
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
3233d650c1
Refactoring: cleanup access to code style settings
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
ff99b921b7
Refactoring: work with ASTNodes in functional style
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
389729cc50
Option for normal indent in supertype lists
...
#KT-21527 Fixed
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
67cd4ed17a
Don't indent closing parenthesis in conditions
...
#KT-21485 Fixed
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
26d47a034e
Don't indent closing parenthesis of a destructuring declaration
...
#KT-20758 Fixed
2017-12-11 17:58:02 +01:00
Dmitry Jemerov
4068b3d9b9
Add continuation indent for wrapped type aliases
...
#KT-21078 Fixed
fixup type alias
2017-12-11 17:58:02 +01:00
Nikolay Krasko
1ada284a03
Better folding for mulitline strings (KT-21441)
...
#KT-21441 Fixed
2017-12-11 18:28:01 +03:00
Nikolay Krasko
ab7ba3ae46
Add exit point highlighting for accessors (KT-21318)
...
#KT-21318 Fixed
2017-12-11 18:28:00 +03:00
Alexey Andreev
93f8542fc4
JS: serialize location of JsCase/JsDefault
...
See KT-21699
2017-12-11 17:20:15 +03:00
Alexey Andreev
25e56874c1
JS: readable error when source maps change in IC tests
2017-12-11 17:20:15 +03:00
Alexey Tsvetkov
c13b2a6bbc
Test incremental recompilation of enum usage in JS
2017-12-11 17:20:14 +03:00
Andrey Mischenko
e1dbb90fdd
KT-21729 Error message says "androidProcessor" should be "annotationProcessor"
2017-12-11 09:29:06 +08:00
Toshiaki Kameyama
4563cf250d
"Add type" quick fix incorrectly processes vararg modifier with primitive type array initializer #KT-21544 Fixed
2017-12-08 15:46:45 +01:00
Dmitry Jemerov
846e50dcaa
Wording fix
2017-12-08 15:44:18 +01:00
Toshiaki Kameyama
270b41dc66
KT-13378 Provide ability to configure highlighting for !! in expressions and ? in types
2017-12-08 15:44:18 +01:00
Dmitry Jemerov
ab619c5655
Improve wording; mark inspection as cleanup tool
2017-12-08 15:41:22 +01:00
Toshiaki Kameyama
0e2bdf8995
Add inspection to sort modifiers #KT-21560 Fixed
2017-12-08 15:41:22 +01:00
Alexander Udalov
2be7116b0b
Deduplicate classpath roots in compiler when -Xbuild-file is used
...
In kotlin-gradle-plugin, the compiler is invoked with a
K2JVMCompilerArguments instance where both the classpath is set, and the
buildFile is used (containing the same classpath entries in XML).
Previously, the compiler concatenated those two classpaths, which
resulted in duplicated entries, which could slow down compilation. Now,
if buildFile is used, the classpath passed explicitly is ignored
(exactly as, for example, destination ("-d"), which is also stored in
the XML build file).
No test added because there doesn't seem to be any change in
user-visible behavior
2017-12-08 12:07:22 +01:00
Alexander Udalov
d65b999c2c
Minor, rename variable for clarity
2017-12-08 12:07:22 +01:00
Ilya Gorbunov
0b9830248d
Restore original accessor signature as deprecated
...
The deprecated function is not operator because it covers cases where it was used in explicit form.
#KT-18789
2017-12-07 20:26:53 +03:00
Ilya Gorbunov
7efaa7cabc
Allow delegating val properties to out-projected MutableMap
...
Change generic signature of MutableMap.getValue, use 'out @Exact V' and `V1: V` types instead of single `in V`.
Fix affected IR generation tests.
#KT-18789 Fixed
2017-12-07 20:26:53 +03:00
Mikhail Glukhikh
e503c1d411
Suspend call detector: fix delegated properties checking
2017-12-07 15:54:47 +03:00
Mikhail Glukhikh
24bd31457c
Has suspend calls: fix suspend iterator case
2017-12-07 15:54:47 +03:00
Mikhail Glukhikh
4404439521
Introduce "redundant suspend" inspection #KT-19103 Fixed
2017-12-07 15:54:47 +03:00
Mikhael Bogdanov
edefb45585
Copy sam wrappers during inline
...
#KT-21671 Fixed
2017-12-07 12:57:43 +01:00
Mikhael Bogdanov
4eb30b6626
Code clean
2017-12-07 12:57:42 +01:00
Mikhail Zarechenskiy
d47130eff8
[NI] Don't check type for constants too early to avoid mismatch
2017-12-07 14:18:20 +03:00
Mikhail Zarechenskiy
6c27a49114
[NI] Use effective variance for equal approximated type
...
It's totally safe from the point of type system and reduces extra `out` projections that can add problems with subtyping
2017-12-07 14:18:17 +03:00
Dmitry Savvinov
874267b79d
Report cyclic scopes properly
...
This commit introduces proper handling of recursion in scopes, which
could occur when some of companion object supertypes are members of
that companion owner:
```
class Container {
open class Base
companion object : Base()
}
```
To resolve `Base`, we have to build member scope for `Container`.
In the member scope of `Container`, we see all classifiers from
companion and his supertypes
So, we have to resolve companion objects supertype, which happens to be
`Base` again - therefore, we encounter recursion here.
Previously, we created `ThrowingLexicalScope` for such recursive calls,
but didn't checked for loop explicitly, which lead to a wide variety of
bugs (see https://jetbrains.quip.com/dc5aABhZoaQY and KT-10532).
To report such cyclic declarations properly, we first change
`ThrowingLexicalScope` to `ErrorLexicalScope` -- the main difference is
that latter doesn't throws ISE when someone tries to resolve type in it,
allowing us to report error instead of crashing with exception.
Then, we add additional fake edge in supertypes graph (from
host-class to companion object) which allows us to piggyback on existing
supertypes loops detection mechanism, and report such cycles for user.
2017-12-07 14:14:08 +03:00
Dmitry Savvinov
33f9576dd1
[NI] Turn off KnownTypeParameterSubstitutor for NI
...
The main consequence of it is that TYPE_MISMATCH range for control
structures became wider.
Also, for extra safety, don't change behaviour of OI.
2017-12-07 14:05:42 +03:00
Denis Zharkov
4ed6928e6b
Avoid building stubs in KtFile::getClasses for compiled files
...
In Gradle, JavaPsiFacade finds Kotlin compiled files as KtFile instances
and tries to obtain classes from them.
And while it returns an empty array anyway, it starts building
unnecessary stub when calling `isScript`
2017-12-07 12:53:33 +03:00
Denis Zharkov
6007d244f3
Optimize LazyJavaAnnotations::isEmpty
2017-12-07 12:53:33 +03:00
Denis Zharkov
07df29dfbf
Optimize LazyJavaScope::getPropertyType
...
Avoid running hasConstantNotNullInitializer for non-primitive fields
2017-12-07 12:53:33 +03:00
Denis Zharkov
5e334550eb
Optimize entry point check in UnusedSymbolInspection
...
It helps to avoid return types calculation for light-class element
2017-12-07 12:53:33 +03:00
Denis Zharkov
dd3dbda719
Optimize computation of default excluded import in IDE
...
Prior to this change, it was rather slow since it would lead
to a ModuleDescriptor::packageFragmentProviderForWholeModuleWithDependencies
computation, that would force the computation of libraries'
dependencies, that actually was the major bottleneck here.
The idea is that we do not need to search through dependencies
of dependencies, but only need contents of one of the modules
direct content.
This commit is made under the assumption that if a module has may see
some runtime parts, than runtime jar should be among its direct
depenencies.
2017-12-07 12:53:33 +03:00
Denis Zharkov
4b96311600
Add faster get*Names overrides in LazyClassMemberScope
2017-12-07 12:53:33 +03:00
Denis Zharkov
ac56965a99
Do not force loading all kt-files inside LazyPackageDescriptor constructor
...
Effectively it leads to all stubs being built for any once used package
The idea is that they only were used for FILE_TO_PACKAGE_FRAGMENT
that is mostly read in backend and rarely in the IDE, so we can replace
its usages with searching through related package-fragments
2017-12-07 12:53:33 +03:00
Denis Zharkov
d655c4075c
Introduce index for the set of top-level names by package
...
It should help with actual loading of all the stubs for all declarations
in the package on every access when it's implemented through
`getDeclarations()`
2017-12-07 12:53:33 +03:00
Denis Zharkov
ce41b5745a
Avoid creating synthetic safe-call nodes when resolving == calls
...
Each of them leads to a separate synthetic file retained in the memory
2017-12-07 12:53:33 +03:00
Denis Zharkov
cc312bcaa2
Avoid creating a separate synthetic file for each default import
2017-12-07 12:53:33 +03:00
Denis Zharkov
2d82cb936e
Fix potential memory leak in light-classes
...
The problem is that they might indirectly retain a reference to an
obsolete ResolverForProject (it becomes outdated after out of block
modification).
The best solution would be to avoid preserving jvm-related diagnostics
(that are only used once to report them when highlighting, and exactly
they retains an obsolete resolve session)
But it seems that this may lead to a deep light-classes refactoring and
the temporary fix is storing diagnostics themselves in a CachedValue
bound to out of block modification tracker. There're no guarantees that
this would help, since CachedValue anyway is based on soft-reference
that is not the first thing GC collects
2017-12-07 12:53:33 +03:00
Denis Zharkov
a67598e0c1
Minor. Apply intention for "?: false" -> "== true" in light classes
2017-12-07 12:53:33 +03:00
Denis Zharkov
f1cbf21f96
Simplify LazyLightClassDataHolder
...
- Use only stubs instead of full results in LazyLightClassData
- Store only stubs for inexactStub
2017-12-07 12:53:33 +03:00
Dmitry Savvinov
aaee401240
[NI] Minor renaming
...
Use words 'returnArgument' instead of 'resultArgument' when talking
about values, which can be possibly returned from lambda.
Correct 'addSubsystemForArgument' -> 'addSubsystemFromArgument'
2017-12-07 12:49:56 +03:00
Dmitry Savvinov
30a51af931
[NI] Minor: rename typo KotlinCallDiagnistics.kt -> KotlinCallDiagnostics.kt
2017-12-07 12:49:56 +03:00
Dmitry Savvinov
1ada52968b
[NI] Fix KnownTypeParameterSubstitutor for !!
2017-12-07 12:49:56 +03:00
Dmitry Savvinov
15a595749b
[NI] Weird testdata change after fixes in ErrorTypes
...
The issue here is that OI infers correct types for (k, v) destructing
declaration, while NI infers errors for them. That happens because NI
resolves iterator() on nullable 'm', but rightfully reports it as
unsuccessful, while OI somehow manages to resolve it to success (and
thus getting nice expected type, allowing destructing declaration to be
resolved in a proper types).
2017-12-07 12:49:56 +03:00
Dmitry Savvinov
ea72c76a37
[NI] Testdata changes after fixes in error types
2017-12-07 12:49:56 +03:00
Dmitry Savvinov
957bbe291d
[NI] Don't approximate error types
...
Previously, we did approximation of error types to Any?/Nothing in some
contexts (e.g. non-local declarations).
There are several reasons why it is not desired:
- OI doesn't approximate ErrorType
- This behaviour is inconsistent with ourselves (i.e. sometimes we *do*
infer errortype for top-level declaration)
- It causes different digressions from OI in reported diagnostics
This commit turns off error type approximation. It causes large testdata
shift, which is deliberately split into several parts and commited in a
separate commits.
2017-12-07 12:49:56 +03:00
Dmitry Savvinov
70a1beeff6
[NI] Use ErrorType in ParseErrorKotlinCallArgument
...
Previously, there was receiver of type Nothing, which could case result
of the call to be inferred to Nothing too. This could case bogus
UNREACHABLE_CODE diagnostics in cases like this:
```
fun <T> id(x: T) = x
fun test() {
id(unresolvedReference) // type of statement is 'Nothing'
// ... everything here is marked as unreachable ...
}
```
This commit changes type of receiver for such calls form Nothing to
ErrorType.
2017-12-07 12:49:56 +03:00
Dmitry Savvinov
eadd1355c2
[NI] Add ErrorType constraint
...
Previously, constraint wasn't added if bound was ErrorType. That could
cause TypeVariable to be inferred to Any?/Nothing instead of ErrorType,
which could influence other parts of analysis (in particular, inferring
Nothing instead of ErrorType can cause bogus UNREACHABLE_CODE diagnostics)
Because of that fix, intersection type can be added to CS as supertype,
which provokes AssertionError. This commit also relaxes this assertion,
as it seems that it's valid that supertype is an intersection type.
2017-12-07 12:49:56 +03:00
Dmitry Savvinov
8e50a58408
[NI] New failing test after changes in applicabilities
2017-12-07 12:49:56 +03:00
Dmitry Savvinov
816d89e393
[NI] Improved testdata after changes in applicabilities
...
This commits introduces testdata changes, where NI behaviour strictly
improved, after several previous fixes.
For some tests, just WITH_NEW_INFERENCE directive was added. It
indicates, that some of previous commits first introduced error in that
test, and then some other commit fixed it (netting no overall testdata
change). It is preferrably to keep those annotations until we will
migrate to NI completely, to prevent unexpected regressions.
2017-12-07 12:49:56 +03:00
Dmitry Savvinov
9f63818bd3
[NI] Introduce INAPPLICABLE_ARGUMENTS_MAPPING_ERROR for some NI diagnostics
2017-12-07 12:49:56 +03:00
Dmitry Savvinov
e2d65adc7e
[NI] Fix KotlinResolutionCandidate.isSuccessfull
...
Check if ConstrainSystem has any contradiction in 'isSuccessful'.
Otherwise we may erroneously think that there are some successful
candidates in 'TowerResolver.SuccessfullResultCollector.pushCandidates()'
and clear other unsuccessful ones (while they actually may have higher
applicability).
2017-12-07 12:49:56 +03:00
Dmitry Savvinov
78a526c937
[NI] Support EffectSystem
...
- During final phase of resolution (i.e. converting NI-results to
OI-results), make call into EffectSystem to record all necessary
effects-related information.
- To be able to enhance resulting dataFlowInfo for call at that stage,
introduce internal method 'updateResultingDataFlowInfo' in
NewResolvedCallImpl.
2017-12-07 12:49:56 +03:00
Toshiaki Kameyama
b23d62c760
Transfer type to parent property in "Remove redundant getter" inspection
...
So #KT-21612 Fixed
2017-12-07 12:19:35 +03:00
Mikhail Glukhikh
834c3fe62b
Do not inline property setter if it's not required (e.g. ReplaceWith)
...
So #KT-21237 Fixed
2017-12-07 12:14:29 +03:00
Mikhail Glukhikh
bddaab9d48
Inline properties without setter / with default setter correctly
...
Related to KT-21237
2017-12-07 12:14:29 +03:00
Nikolay Krasko
fba50a8d15
Disable language injection for SpEL language as it cause to many troubles
...
It's known that there're several inspections that report warnings when
SpEL language is injected not to Java files if IDEA is before 173.
2017-12-07 12:02:39 +03:00
Michal Bendowski
6f350c032d
Recognize injections in annotations (KT-13636)
...
Recognize patterns from both Java (psiMethod) and Kotlin
(kotlinParameter) that match the annotation argument.
2017-12-07 12:02:37 +03:00
Nikolay Krasko
b7ba45c001
Reparse lambda expression after removing parameter comma (KT-21497)
...
Without the parameter it can become block.
#KT-21497 Fixed
2017-12-07 12:02:07 +03:00
Nikolay Krasko
273bd55f01
Refactoring: extract methods
2017-12-07 11:49:19 +03:00
Dmitry Petrov
04ab3e1519
Use ForInSimpleProgressionLoopGenerator for most of the loop intrinsics
2017-12-07 11:36:20 +03:00
Dmitry Petrov
6b6ae2f7d7
Minor: formatting
2017-12-07 11:36:20 +03:00
Dmitry Petrov
75315a4edb
Replace BoundedValue objects in 'indices' with SimpleBoundedValue
2017-12-07 11:36:20 +03:00
Nicolay Mitropolsky
209ba89a49
Uast: KotlinSecondaryConstructorWithInitializersUMethod introduced as workaround for KT-21617
...
to be the only constructor which includes `init` block when there is no primary constructors in the class
2017-12-06 22:19:57 +03:00
Nicolay Mitropolsky
b8069b48c5
Uast: returning back secondary constructors bodies (KT-21575)
...
but secondary constructors without primary constructor will not contain initializers, it is still an issue
2017-12-06 22:19:57 +03:00
Nikita Skvortsov
962c512882
optimize search for modules nodes
2017-12-06 18:55:09 +01:00
Nikita Skvortsov
cc580ca1dc
optimize check of module-per-source-set
2017-12-06 18:55:09 +01:00
AJ Alt
8297fee615
Fix typo in File.copyTo KDoc
2017-12-06 18:11:11 +01:00
Yusuke Hosonuma
949f9b9342
gitignore: remove duplicates
2017-12-06 18:09:43 +01:00
Nikolay Krasko
110a9ff600
Fix project configuration: avoid adding test jar as library dependency
...
For some reason gradle processes "testJar" task differently and collects
artifacts for it during configuration phase. This helps Idea project
configurator understand that there's no need to attach test jar as separate
binary library dependency.
Having compiled module in dependencies results IDEA finds both compiled and
source version of classes. This may cause bad navigation and reindexing.
2017-12-06 19:14:28 +03:00
Mikhail Zarechenskiy
1d736f59b6
[NI] Refine nullability for CST of types with undefined nullability
2017-12-06 18:36:20 +03:00
Mikhail Zarechenskiy
b9d390449c
[NI] Refactor constraints transformations, update comments
2017-12-06 18:36:19 +03:00
Mikhail Zarechenskiy
351c592c83
[NI] Drop hack that was used before DefinitelyNotNull types
2017-12-06 18:36:17 +03:00
Mikhail Zarechenskiy
b2299ed19f
[NI] Fix testdata after introducing DefinitelyNotNull types
2017-12-06 18:36:16 +03:00
Mikhail Zarechenskiy
9565b56b2a
[NI] Render DefinitelyNotNull types with !! postfix
2017-12-06 18:36:14 +03:00
Mikhail Zarechenskiy
7f0cca52ca
[NI] Use definitely not-null types for smartcasts
2017-12-06 18:36:13 +03:00
Mikhail Zarechenskiy
64f0688b71
[NI] Introduce DefinitelyNotNullType as type for T!! or {T & Any}
2017-12-06 18:36:11 +03:00
Mikhail Zarechenskiy
8e0171d475
[NI] Don't loose platform types on simplifying lower constraints
2017-12-06 18:08:52 +03:00
Alexey Sedunov
e2743c8f34
Rename: Do not use KotlinDirectoryAsPackageRenameHandler via dispatch handler
...
#KT-21604 Fixed
2017-12-06 14:17:56 +03:00
Alexey Sedunov
e1ed74008f
Rename: Fix exception on attempt to rename KtConstructorDelegationReference
...
#KT-21536 Fixed
2017-12-06 14:17:56 +03:00
Alexey Sedunov
ec85b708c9
Misc: Use delegate with predefined name for fake light methods
...
#KT-21414 Fixed
2017-12-06 14:17:56 +03:00
Alexey Sedunov
89352a295d
Maven Import: Support compiler arguments specified directly in <args>
...
#KT-21592 Fixed
2017-12-06 14:17:56 +03:00
Alexey Sedunov
288560eb37
Misc: Fix project configuration test
2017-12-06 14:17:55 +03:00
Alexey Sedunov
4369c6d26c
Minor: Update Maven import test data
2017-12-06 14:17:55 +03:00
Mikhael Bogdanov
5c2f5fee39
Make 'addCommonSourceSetToPlatformSourceSet' open to support native specifics
2017-12-06 10:57:08 +01:00
Mikhael Bogdanov
60b812e3dd
Increase android emulator startup await
2017-12-06 10:57:08 +01:00
shiraji
5d44037a2b
Support 'it op something' case in "redundant let" #KT-21373 Fixed
2017-12-05 19:23:44 +03:00
Ramon Wirsch
f961f33f9d
Fix for KT-19188
...
Fixes nondeterministic Default Method Order under existance of generic
type parameters.
SubstitutingScope did not respect source code method order by not using
a LinkedHashSet
2017-12-05 18:33:22 +03:00
Mikhail Glukhikh
8257e14055
J2K: perform additional isActiveFor check before applying inspections
2017-12-05 18:21:22 +03:00
Mikhail Glukhikh
7eb62b9ca4
Add kapt as test runtime dependency to J2K
2017-12-05 18:18:48 +03:00
Mikhail Glukhikh
a90e3c2e45
Add "replace map.put with assignment" to J2K
...
Related to KT-21502
2017-12-05 18:18:25 +03:00
Dereck Bridie
8c305a137f
Introduce inspection "replace map.put with assignment" #KT-21502 Fixed
2017-12-05 16:57:36 +03:00
Nikolay Krasko
ab28bdf32f
Store in test data failure for quotedName name
2017-12-05 16:07:55 +03:00
Nikolay Krasko
57d62eb74a
Document error behaviour of evaluate expression lost sometime
2017-12-05 16:07:54 +03:00
Nikolay Krasko
b21fb1a375
Replace assertTrue with assertEquals in AbstractKotlinEvaluateExpressionTest
2017-12-05 16:07:53 +03:00
Nikolay Krasko
04e6aa76cf
Fix lint apiCheck lint
2017-12-05 16:07:53 +03:00
Dmitry Petrov
3d473f608e
Add more tests for for-in-array
...
#KT-21354 Fixed Target versions 1.2.20
#KT-21321 Fixed Target versions 1.2.20
2017-12-05 15:45:20 +03:00
Dmitry Petrov
e4ecc13e13
Generate for-in-array loops with proper semantics in 1.3+
...
In Kotlin 1.3+, assignment to the for-in-array loop range variable in
the loop body doesn't affect loop execution (as if it was a loop on an
array iterator, or some other container).
#KT-21354 In Progress
#KT-21321 In Progress
2017-12-05 15:45:20 +03:00
Dmitry Petrov
7a6f80606b
Warn on for-in-array range variable assignment in loop body
...
According to KT-21354, this should be a warning in 1.2 and before, and
no warning (with changed semantics) in 1.3 and later.
NB there are some false positives in this check.
#KT-21354 In Progress
#KT-21321 In Progress
2017-12-05 15:45:20 +03:00
Mikhail Glukhikh
7118a4bf80
Fix KNPE in "introduce variable", add some name conflict introduce tests
...
So #KT-21530 Fixed
2017-12-05 15:29:45 +03:00
Mikhail Glukhikh
20b48ab90c
Fix suggested names in Spring (do not take same parameter into account)
2017-12-05 15:29:45 +03:00
Mikhail Glukhikh
b09465ca0b
Unnecessary variable: do not suggest in case of name duplication
...
So #KT-20300 Fixed
2017-12-05 15:29:45 +03:00
Mikhail Glukhikh
844dd1c43c
Refactoring: Unnecessary variable inspection
2017-12-05 15:29:45 +03:00
Mikhail Glukhikh
52053695fe
Fix variable name validator (take parameters into account)
2017-12-05 15:29:44 +03:00
Toshiaki Kameyama
e341ec969f
"Join declaration and assignment" should remove 'lateinit' for 'var' #KT-21603 Fixed
2017-12-05 11:19:58 +09:00
Ilya Chernikov
075203ad33
Make embedding javaslang into compiler intransitive, as it was before gradle
...
fixes KT-21537
(cherry picked from commit cc5c1d5)
2017-12-04 14:47:53 +01:00
Mikhail Glukhikh
ac3542c041
Minor cleanup
2017-12-04 15:58:13 +03:00
Toshiaki Kameyama
74d83997c7
Fix false "function is never used" for functions with '@JvmName'
...
So #KT-20435 Fixed
2017-12-04 15:58:13 +03:00
Denis Zharkov
84282035b0
Set up projectTest.workingDir for incremental-compilation-impl
2017-12-04 15:21:03 +03:00
Mikhail Glukhikh
fb8dc7b590
Minor cleanup
2017-12-04 15:16:04 +03:00
Toshiaki Kameyama
0eec3ef1f8
Add / preserve semicolon after empty companion object #KT-21179 Fixed
2017-12-04 15:15:49 +03:00
Alexey Andreev
45e5cc190f
Update DCE limits in JS tests
2017-12-04 11:25:39 +03:00
Dmitry Petrov
0db6e5c3f3
Fix SAM wrapper generation in secondary constructor calls
...
Should simply invoke 'checkSamCall' in corresponding visitor method to
check if call arguments should be wrapped.
2017-12-04 10:29:33 +03:00
Dmitry Petrov
3431a1445c
Fix enum entry class delegating constructor call generation
...
When the enum entry requires a specific class, its constructor should
invoke proper supertype constructor (from the corresponding enum class).
Corresponding resolved call should be passed from the front-end in
CONSTRUCTOR_RESOLVED_DELEGATION_CALL slice.
In case of enum entries without explicit supertype initializer, this
information was missing.
2017-12-04 10:29:33 +03:00
Ilmir Usmanov
d8c4d19152
Make suspendCoroutineOrReturn ordinary function
2017-12-01 20:18:04 +03:00
Yan Zhulanow
0b37c9e83c
Kapt: Report about of time spent in each annotation processor in verbose mode (KT-21542)
2017-12-01 22:53:22 +09:00
Yan Zhulanow
ef6be206d0
Kapt: Clear URL cache after changing annotation processor JAR
2017-12-01 22:53:22 +09:00
Yan Zhulanow
84a766de24
Kapt: Register AP classpath as an input for "generate stubs" and "kapt" tasks
...
...so if the annotation processor artifact is changed, annotation processing will be relaunched.
2017-12-01 22:53:22 +09:00
Yan Zhulanow
9e43992094
Minor: Update kapt converter test for imports
2017-12-01 22:53:21 +09:00
Yan Zhulanow
3dc7502b0b
Kapt, minor: Remove kaptError with location, it doesn't do anything reasonable now anyway
2017-12-01 22:53:21 +09:00
Yan Zhulanow
a4a7db06d2
Kapt: force resolve import references in partial analysis mode (required for import conversion in correctErrorTypes)
2017-12-01 22:53:21 +09:00
Yan Zhulanow
1a3317ae2b
Kapt: Attach generated classes directory as library source (KT-19823)
...
This may seem like a magic, but actually it's deadly simple.
GradleProjectResolver.mergeLibraryAndModuleDependencyData() tries to find a better substitution for the absolute BINARY paths, but actually makes things worse in our case.
GradleProjectResolver checks if the provided path is in the Gradle project output path list, and if the answer is yes, then it replaces our path to a Gradle Project (or a module in JPS terminology) dependency.
2017-12-01 22:53:21 +09:00
Yan Zhulanow
2e17c0b7f1
Kapt: Filter out non-package all-under imports whenever possible in "correctErrorTypes" (KT-21359)
2017-12-01 22:53:21 +09:00
Yan Zhulanow
00bb38fbb1
Kapt: Support import directive with aliases in "correctErrorTypes" mode (KT-21358)
2017-12-01 22:53:21 +09:00
Yan Zhulanow
c7645bcf03
Kapt: Replace error.NonExistentClass usages to Object (as it does not break class hierarchies)
2017-12-01 22:53:21 +09:00
Yan Zhulanow
e46fe9b255
Kapt: Do not add duplicating library entries in project importing
2017-12-01 22:53:20 +09:00
Yan Zhulanow
3d1ca61f9f
Kapt: Remove artificial KaptError exception on errors from annotation processor (KT-21262)
2017-12-01 22:53:20 +09:00
Yan Zhulanow
0a0de8da29
Kapt: Fix correctErrorTypes for getters of properties defined in the primary constructor
2017-12-01 22:53:20 +09:00
Yan Zhulanow
182c2e2eeb
Kapt: Launch integration tests also under Java 9
2017-12-01 22:53:20 +09:00
Yan Zhulanow
6ccf361942
Kapt: -Xmaxerrs javac option is not propagated properly (KT-21264)
2017-12-01 22:53:20 +09:00
Yan Zhulanow
2819fc718a
Parcelable: Migrate to canonical NEW-DUP-INVOKESPECIAL form (KT-20545)
2017-12-01 22:53:20 +09:00
Yan Zhulanow
37543deefa
Kapt: Keep KDoc comments in Java stubs (KT-21205)
2017-12-01 22:53:19 +09:00
Yan Zhulanow
af57ab8119
Kapt: Fix remaining issues with Java 9 compatibility in converter, add Java 9 tests
2017-12-01 22:53:19 +09:00
Yan Zhulanow
dde87ae1f9
Attempt to fix Gradle project importing error on older Gradle versions (KT-20967)
2017-12-01 22:53:19 +09:00
Yan Zhulanow
49db1bfe5d
Introduce preliminary check for special annotations (allopen/noarg/samWithReceiver) (KT-21194)
2017-12-01 22:53:19 +09:00
Yan Zhulanow
ecfb045790
Android Extensions: Do not generate synthetic components in Kotlin Bytecode tool window when the Gradle plugin is disabled
2017-12-01 22:53:19 +09:00
Yan Zhulanow
8496ff8611
Minor: Add kotlin-android-extensions-runtime dependency to get rid of error messages in IDE
2017-12-01 22:53:19 +09:00
Yan Zhulanow
037caf3a17
Kapt: Prefer Kotlin diagnostic locations over ones from stubs
2017-12-01 22:53:19 +09:00
Yan Zhulanow
861d778530
Kapt: Fix 'correctErrorTypes' for primary constructor properties
2017-12-01 22:53:18 +09:00
Yan Zhulanow
7136bf7e0a
Kapt: Add Kotlin location to diagnostics reported in Kapt stubs
2017-12-01 22:53:18 +09:00
Yan Zhulanow
8fba19f269
Kapt: Do not print empty diagnostic messages
2017-12-01 22:53:18 +09:00
Yan Zhulanow
5efdf111f5
Kapt: Support type aliases in correctErrorTypes mode (KT-19402)
2017-12-01 22:53:18 +09:00
Yan Zhulanow
84e5fa38bb
Kapt: Exclude all primitive Java constants from inlining (String is still inlined) (KT-20878)
2017-12-01 22:53:18 +09:00
Yan Zhulanow
6ca5787799
Kapt: Allow to ignore specific methods/fields from being put into kapt stubs
...
Classes can't be ignored yet as it requires to ignore also all type usages which is a non-trivial operation.
2017-12-01 22:53:18 +09:00
Yan Zhulanow
fd84ecda54
Kapt: Add runtime library, move all modules inside the 'kapt3' directory
2017-12-01 22:53:17 +09:00
Yan Zhulanow
b74ef72af7
Kapt: Forbid illegal Java identifiers in Enum value literals
2017-12-01 22:53:17 +09:00
Yan Zhulanow
f52749741b
Minor: Remove unused fileManager property
2017-12-01 22:53:17 +09:00
Yan Zhulanow
bdf77ccb65
Kapt: Refactoring, replace getValidIdentifierName() with more appropriate isValidIdentifier()
2017-12-01 22:53:17 +09:00
Yan Zhulanow
f368414328
SamWithReceiver: Pick the right compiler plugin (KT-20813)
2017-12-01 22:53:17 +09:00
Yan Zhulanow
3d7222485d
Android Extensions: Add missing documentation, move the hasCache property to the compiler module
2017-12-01 22:53:16 +09:00
Yan Zhulanow
e4f476c09f
Kapt, Maven: Fix running with the non-clean build (KT-20816)
...
Clean target directories for kapt stubs and generated source files.
Filter out the compile destination directory from the classpath.
2017-12-01 22:53:16 +09:00
Yan Zhulanow
381379fb62
Kapt, Maven: Clean directories for generated sources and stubs before AP
2017-12-01 22:53:16 +09:00
Yan Zhulanow
b074c7e22f
Minor: Return back the whole test contents
2017-12-01 22:53:16 +09:00
Yan Zhulanow
1f65f8bc97
Encode all compiler plugin arguments for Android Extensions in kapt
...
Commas in option values breaks the option parsing in daemon (KT-20235).
2017-12-01 22:53:16 +09:00
Yan Zhulanow
425d104255
Parcelable: Convert I to Z explicitly, older Android Dex has strict checks for it (KT-20928)
2017-12-01 22:53:16 +09:00
Yan Zhulanow
e28cffd0ad
Parcelable: newArray() result type should be Object[] (KT-20717)
2017-12-01 22:53:15 +09:00
Yan Zhulanow
26005751d8
Parcelable: Fix compatibility with serialization plugin (KT-20742)
2017-12-01 22:53:15 +09:00
Yan Zhulanow
3d155dd757
Kapt: Support Java 9 in Gradle plugin infrastructure
2017-12-01 22:53:15 +09:00
Yan Zhulanow
c6eab6f72e
Kapt: Support Java 9 in compiler plugin
2017-12-01 22:53:15 +09:00
Yan Zhulanow
e97b3ed324
Kapt: Get rid of DatatypeConverter in order to support JDK9 (KT-20749)
2017-12-01 22:53:15 +09:00
Yan Zhulanow
fa54a0c642
AllOpen: Add Validated to the list of annotations supported by kotlin-spring plugin (KT-20751)
2017-12-01 22:53:15 +09:00
Yan Zhulanow
eccc3447f6
Infrastructure: move compiler plugin tests back to their modules
2017-12-01 22:53:14 +09:00
Alexander Udalov
7248f2568a
Drop USE_NEW_INFERENCE, configure language version settings in KotlinTestUtils
...
This will only have effect for tests which do not use their own instance
of LanguageVersionSettings though
2017-12-01 13:35:25 +01:00
Alexey Andreev
9c0e049bbe
JS: fix boxed char with latest changes in compiler
2017-12-01 15:20:34 +03:00
Nikolay Krasko
2c79481f37
Add IdeaOpenApiClassFinder and BundledGroovyClassFinder to known finder
...
Fix testKnownNonClasspathFinder for 173 branch
2017-12-01 00:44:05 +03:00
Nikolay Krasko
e2418ec892
Remove custom runtime configure from AbstractParameterInfoTest
2017-12-01 00:44:05 +03:00
Nikolay Krasko
f460104ace
Unconfigure library in AbstractLineMarkersTest
2017-12-01 00:44:04 +03:00
Nikolay Krasko
22b0dd91e4
Fix GradleConfiguratorTest: jre8 is expected for 1.1.2 version
2017-12-01 00:44:04 +03:00
Nikolay Krasko
3dc494ed00
Some qualified names might be null for classes
2017-12-01 00:44:04 +03:00
Nikolay Krasko
32da2ccb81
Don't intercept unexpected exceptions in AbstractQuickFixTest.kt
2017-12-01 00:44:04 +03:00
Nicolay Mitropolsky
f67db64dba
*kapt3-idea* added to *ultimate* as testRuntime dependency
...
because of falling tests. It seems that there is not such issue in 1.2.0 branch
2017-11-30 21:27:56 +03:00
Nicolay Mitropolsky
4db5ca66e3
Uast: constructors calls consistency for KtObjectLiteralExpression (KT-21409)
2017-11-30 20:08:16 +03:00
Nicolay Mitropolsky
1dbce18afc
Uast: constructors calls consistency except anonymous object literals (KT-21409)
2017-11-30 20:08:16 +03:00
Nicolay Mitropolsky
77be33d433
Uast: KotlinPrimaryConstructorUMethod renamed to KotlinConstructorUMethod (KT-21409)
2017-11-30 20:08:16 +03:00
Nicolay Mitropolsky
1ce21583ad
Uast: secondary constructors delegation support (KT-21409)
2017-11-30 20:08:16 +03:00
Nicolay Mitropolsky
3bfa5c4706
Uast: parsing primary constructors superCalls (KT-21409)
2017-11-30 20:08:16 +03:00
Mikhail Glukhikh
a39f2f8271
Downgrade "use expression body" inspection to INFORMATION default level
...
(cherry picked from commit b6bc8eb )
2017-11-30 17:19:19 +03:00
Mikhail Glukhikh
0d65df4d3e
Recursive equals: case with recursive not equals + extra tests
2017-11-30 16:47:27 +03:00
Mikhail Glukhikh
13e0ba0836
Recursive equals: fix false positive with different argument
...
Related to KT-13702
2017-11-30 16:44:51 +03:00
Mikhail Glukhikh
917be5d271
Support "recursive equals" for direct equals call (related to KT-13702)
2017-11-30 16:44:50 +03:00
Mikhail Glukhikh
e301506460
Simplify and fix "recursive equals" inspection (related to KT-13702)
2017-11-30 16:44:45 +03:00
Toshiaki Kameyama
b8fcdea673
Add inspection for equals which is called recursively within itself
...
So #KT-13702 Fixed
2017-11-30 16:44:20 +03:00
Mikhail Glukhikh
bd348911af
Add "unused equals" for direct calls without receiver
...
Related to KT-21192
2017-11-30 16:44:16 +03:00
Mikhail Glukhikh
64159a900a
Add "unused equals" warning on direct equals call #KT-21192 Fixed
2017-11-30 16:43:54 +03:00
Mikhail Glukhikh
07ec4ecd7f
Add tests for KT-19511 and KT-21192 (with void -> boolean)
2017-11-30 16:43:53 +03:00
Sergey Igushkin
bf2e3decaa
Add :kotlin-annotation-processing-gradle:install dependency to Gradle IT
2017-11-30 15:42:42 +03:00
Sergey Igushkin
98e8e73810
Fix kotlin-reflect dependency IDE import after API separation.
...
(cherry picked from commit 19967a2)
2017-11-30 15:42:42 +03:00
Alexey Andreev
af6adc61ae
Update bootstrap to 1.2.20-dev-524
2017-11-30 15:27:41 +03:00
Alexey Andreev
acb058f328
JS: fix bootstrap build error related to updates in source maps
2017-11-30 14:26:05 +03:00
Nikolay Krasko
f46a8e0b16
Restore iml files for jps tests
2017-11-30 13:24:08 +03:00
Nikolay Krasko
cfa70dbe26
Don't ignore iml files in testData
2017-11-30 13:24:07 +03:00
Nikolay Krasko
170b352185
Deprecate 'configureAs' method and stop using it in js decompiled tests
...
This commit fixes tests in 173 branch, avoid exception:
com.intellij.openapi.util.TraceableDisposable$DisposalException:
Virtual pointer 'jar:///mnt/agent/work/bd0f559856a14a82/dist/kotlinc/lib/kotlin-stdlib-js.jar!/'
hasn't been disposed: --------------Creation trace:
java.lang.Throwable
at com.intellij.openapi.util.TraceableDisposable.<init>(TraceableDisposable.java:45)
at com.intellij.openapi.vfs.impl.VirtualFilePointerImpl.<init>(VirtualFilePointerImpl.java:41)
at com.intellij.openapi.vfs.impl.VirtualFilePointerManagerImpl.getOrCreate(VirtualFilePointerManagerImpl.java:266)
at com.intellij.openapi.vfs.impl.VirtualFilePointerManagerImpl.create(VirtualFilePointerManagerImpl.java:205)
at com.intellij.openapi.vfs.impl.VirtualFilePointerManagerImpl.create(VirtualFilePointerManagerImpl.java:136)
at com.intellij.openapi.vfs.impl.VirtualFilePointerContainerImpl.create(VirtualFilePointerContainerImpl.java:359)
at com.intellij.openapi.vfs.impl.VirtualFilePointerContainerImpl.add(VirtualFilePointerContainerImpl.java:169)
at com.intellij.openapi.roots.impl.libraries.LibraryImpl.addRoot(LibraryImpl.java:505)
at com.intellij.openapi.roots.ui.configuration.libraryEditor.NewLibraryEditor.exportRoots(NewLibraryEditor.java:247)
at com.intellij.openapi.roots.ui.configuration.libraryEditor.NewLibraryEditor.applyTo(NewLibraryEditor.java:218)
at org.jetbrains.kotlin.idea.test.ConfigLibraryUtil.addLibrary(ConfigLibraryUtil.kt:113)
at org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor.configureModule(KotlinStdJSProjectDescriptor.kt:38)
at org.jetbrains.kotlin.idea.test.KotlinLightProjectDescriptor.configureModule(KotlinLightProjectDescriptor.java:46)
at org.jetbrains.kotlin.idea.test.TestUtilsKt$configureAs$1.consume(testUtils.kt:59)
at org.jetbrains.kotlin.idea.test.TestUtilsKt$configureAs$1.consume(testUtils.kt)
at com.intellij.openapi.roots.ModuleRootModificationUtil.updateModel(ModuleRootModificationUtil.java:143)
at org.jetbrains.kotlin.idea.test.TestUtilsKt.configureAs(testUtils.kt:50)
at org.jetbrains.kotlin.idea.test.TestUtilsKt.configureAs(testUtils.kt:69)
at org.jetbrains.kotlin.idea.decompiler.textBuilder.AbstractDecompiledTextFromJsMetadataTest.setUp(AbstractDecompiledTextFromJsMetadataTest.kt:38)
...
2017-11-30 13:24:07 +03:00
Nikolay Krasko
a45fa9a33f
Configure JdkAndMockLibrary with JS stdlib if jsLib flag is set
2017-11-30 13:24:06 +03:00
Nikolay Krasko
1bc8ad7852
Don't mess up with configuring project descriptors in PullPush tests
...
This commit fixes tests in 173 branch.
2017-11-30 13:24:05 +03:00
Alexey Sedunov
6a9317fc57
Misc: Drop utilities for checking nullability/mutability annotations
...
Types annotated by them are already loaded as inflexible
2017-11-30 12:49:25 +03:00
Alexey Sedunov
84c6f9bf45
Create from Usage: Fix choosing superclass for abstract member
...
This applies to cases when non-existing member is called without
explicit receiver
#KT-21332 Fixed
2017-11-30 12:49:25 +03:00
Alexey Sedunov
7e3ca4734d
Create from Usage: Add val to data class parameter
...
Also place new parameters on the new line if previous ones have line breaks
#KT-21162 Fixed
2017-11-30 12:49:25 +03:00
Alexey Sedunov
c54b934383
Configuration: Fix deserialization of immutable freeArgs collection
...
#KT-21363 Fixed
2017-11-30 12:49:24 +03:00
Alexey Sedunov
998c312ad2
Unifier: Fix matching of callable references with expression receivers
...
#KT-21334 Fixed
2017-11-30 12:49:24 +03:00
Alexey Sedunov
354a6cbfd9
Change Signature: Keep parameter 'val'/'var' when invoked from Java
...
#KT-20901 Fixed
#KT-21159 Fixed
2017-11-30 12:49:24 +03:00
Alexey Sedunov
820ade41ed
Create from Usage: Do not add bodies to expect class members
...
#KT-21122 Fixed
2017-11-30 12:49:24 +03:00
Alexey Andreev
063b4b6c18
Remove unused 'json-org' dependency (fix build)
2017-11-30 11:43:44 +03:00
Alexey Andreev
1d48442a5d
Change default output dir in JS DCE Gradle plugin
...
See KT-21328
Compiler removes all files from its output directory.
Due to this reason (and some other reasons) it't not a good idea
to put DCE output to `classes` dir.
Therefore we changed output dir to `$buildDir/kotlin-js-min`.
Additionally, we now allow to customize output dir.
In particular, this fixes issues with webpack in multi-project build +
continuous Gradle build.
2017-11-29 20:08:30 +03:00
Alexey Andreev
5672e1f56e
JS: add DCE devmode. Fix mapping paths in source maps
...
See KT-20210, KT-21307
2017-11-29 20:08:30 +03:00
Alexey Andreev
ffdebfab45
JS: change the way how DCE resolves input paths
2017-11-29 20:08:29 +03:00
Alexey Andreev
8514a7706f
Remove json.org library, use own JSON parser to parse source maps
2017-11-29 20:08:29 +03:00
Alexey Andreev
729715ec62
Add simple JSON parser
2017-11-29 19:43:28 +03:00
Ilya Gorbunov
c6b957f457
Force LF line delimiters for bash scripts and CRLF for .bat scripts in compiler/cli
2017-11-29 19:03:28 +03:00
Alexander Udalov
4f70983735
Update Proguard to 5.3.3
2017-11-29 11:58:38 +01:00
Alexander Udalov
d4b5032810
Add JDK roots to the beginning of the roots list
...
This behavior was used until 6a1b6d10d8 , where the JDK has
unintentionally started to be added to the end of the list, breaking
code which depended on libraries which bundle something from the JDK
#KT-21299 Fixed
2017-11-29 11:49:48 +01:00
Dmitry Petrov
d976eeabf7
Refactor GenerationState creation
2017-11-29 12:17:06 +03:00
Alexey Sedunov
d6d6cef10d
Gradle: Use copyable user data to retain intermediate model
...
#KT-21418 Fixed
2017-11-29 12:00:25 +03:00
Alexey Sedunov
c8d9f9ac50
Refactoring: Rename copyable property delegates for PsiElement
2017-11-29 12:00:25 +03:00
Alexey Sedunov
b956363d6f
Minor: Drop unused class
2017-11-29 12:00:25 +03:00
Alexey Andreev
19438a3a07
JS: fix losing lambda in inline function after incremental compilation
...
See KT-21493
It's hard to maintain staticRef in cached AST. In fact, we don't need
it in this optimization. We'll get excessive names in used set,
which is ok: non-function names don't matter, they'll be simply ignored.
One possible concern: there's more chance to get name same to
some function's name and it won't be removed. First, it's not fatal,
it won't break the code (but put some excessive code that will likely
be removed by DCE). Second, there's same chance of two functions
having same names, and we manage to avoid this (otherwise we'll get
many problems).
2017-11-29 11:53:35 +03:00
Alexey Andreev
29b494cdac
JS: don't optimize when over external enum
...
See KT-21468
2017-11-29 11:52:36 +03:00
Dmitry Petrov
5b8c0d4c3e
Optimize for-in-string loops
...
For-in-string loop can be generated using specialized 'length' and
'charAt' method calls, and with cached string length.
Note that update of the string variable in loop body doesn't affect
loop execution semantics.
#KT-21322 Fixed Target versions 1.2.20
2017-11-29 10:15:38 +03:00
Dmitry Petrov
e2fa613b70
Cache array length in for-in-array loop if possible
...
If the range expression is not a local variable (which can be updated in
the loop body affecting loop behavior, see KT-21354), we can cache the
array length, thus turning a for-in-array loop into a simple optimizable
counter loop.
#KT-21321 In Progress
2017-11-29 10:15:32 +03:00
Mikhail Zarechenskiy
328c67b9e8
Add separate diagnostic renderer results for tests with NI
2017-11-29 02:54:30 +03:00
Mikhail Zarechenskiy
8757298994
Add diagnostics to test data from NI
2017-11-29 02:54:26 +03:00
Mikhail Zarechenskiy
a71238bf94
Place !WITH_NEW_INFERENCE directive to diagnostics test data
2017-11-29 02:53:49 +03:00
Mikhail Zarechenskiy
81b3fefa58
Improve test framework for diagnostic tests with NI
...
Mark with `NI;` or `OI;` only diagnostics that are specific for concrete inference
2017-11-29 02:49:31 +03:00
Ilya Gorbunov
bd4d847943
Fix unresolved references in the api docs
...
These were mostly incorrect parameter names and external api links.
2017-11-28 18:41:17 +03:00
Ilya Gorbunov
3f26fd3f7f
Provide summary for kotlin.math package
2017-11-28 18:41:15 +03:00
Ilya Gorbunov
5e85f71e48
Improve cover documentation page of kotlin.test library
2017-11-28 18:41:12 +03:00
Ilya Gorbunov
cf076f3d25
Unify docs wording of 'trim*' functions
2017-11-28 17:59:05 +03:00
Ilya Gorbunov
4f76cdfc34
Use new annotations in mutability tests instead of old ones
2017-11-28 17:45:10 +03:00
Ilya Gorbunov
9995a31c46
Add ReadOnly and Mutable into kotlin.annotations.jvm
...
Originally provided in org.jetbrains.annotations package as a part of stdlib.
2017-11-28 17:45:10 +03:00
Alexander Udalov
f80c9a4692
Drop TypeMappingConfiguration.innerClassNameFactory, use default implementation
...
After 57d209f599 , non-default behavior is no longer used.
#KT-21453 Fixed
2017-11-28 14:15:03 +01:00
Alexander Udalov
79e399942d
Use "sourcesJar" task builder for kotlin-reflect sources
2017-11-28 12:46:10 +01:00
Alexander Udalov
9f3577dc70
Minor, use firstFromJavaHomeThatExists for JDK for Proguard
...
Similarly to "proguard" task in prepare/compiler/build.gradle.kts
2017-11-28 12:45:57 +01:00
Alexander Udalov
3d3ece72d2
Do not add task dependency from "sourcesJar" on "classes"
...
There doesn't seem to be any problem with collecting sources of the
project separately from compiling the project
2017-11-28 12:45:56 +01:00
Alexander Udalov
200c62b574
Use JvmPackageTable from bootstrap compiler in KotlinModuleShadowTransformer
...
Instead of generating another copy of it into buildSrc. Also move
KotlinModuleShadowTransformer to kotlin-reflect's build script, to its
only usage
2017-11-28 12:45:56 +01:00
Alexander Udalov
a1f895bb1f
Rewrite kotlin-reflect build script from Groovy to Kotlin
2017-11-28 12:45:53 +01:00
Alexander Udalov
885ddc49a2
Move libraries/reflect/{build.gradle -> build.gradle.kts}
...
To preserve Git history after conversion to Kotlin in the next commit
2017-11-28 12:35:50 +01:00
Alexander Udalov
aca74cef0e
Replace dependencies on kotlin-reflect with kotlin-reflect-api
...
See the previous commit for information on the kotlin-reflect vs
kotlin-reflect-api distinction.
Add kotlin-reflect as an explicit runtime dependency of most of the test
configurations because even though they all depend on tests-common, the
runtime dependency on kotlin-reflect is not exported from tests-common
to other modules because the projectTests dependency is not transitive.
2017-11-28 12:35:49 +01:00
Alexander Udalov
329fbd8fa8
Extract kotlin-reflect-api module out of kotlin-reflect
...
This is needed only for faster compilation of the Kotlin project itself
and has no effect on the public artifact
org.jetbrains.kotlin:kotlin-reflect.
The problem this is solving is the rebuild of the project once anything
has been changed in modules in 'core' (even inside function bodies, i.e.
a non-API change). Previously, changes in 'core' led to the compilation
of kotlin-reflect, which led to the rebuild of all modules depending on
kotlin-reflect directly or indirectly (which is almost all modules in
the project) because kotlin-reflect's artifacts are custom-built and the
changes can not be picked up incrementally. But 99.9% of the time the
initial changes in 'core' could not have any effect on the usages of
kotlin-reflect, because classes from those modules are moved to an
internal package in kotlin-reflect and thus are an internal
implementation detail.
Now, changes in 'core' still lead to the compilation of kotlin-reflect
and to the process of building the custom jar. But if a module depends
on kotlin-reflect-api, not kotlin-reflect, then the incremental
difference checker will detect that the module does not have to be
recompiled if there hasn't been any changes to the API of
kotlin-reflect-api. Which means that the module will not be rebuilt on
every change in 'core'.
This commit only introduces the new module. The dependencies
(kotlin-reflect -> kotlin-reflect-api) are replaced in the next commit.
2017-11-28 12:35:48 +01:00
Alexander Udalov
3e8b39af90
Move kotlin-reflect Gradle project to libraries/reflect/
2017-11-28 12:33:21 +01:00
Toshiaki Kameyama
7448042b68
Fix callable code factory (parameter with default value case)
...
Before we can have end of '<Type>' and '=' joined as '>=' breaking PSI
So #KT-15941 Fixed
2017-11-28 14:11:04 +03:00
Mikhael Bogdanov
21bd10da2e
Move generator utils
2017-11-28 11:04:40 +01:00
Mikhael Bogdanov
f529069077
Move common test parts to tests-common. Minify test jar dependencies
2017-11-28 11:04:39 +01:00
Alexey Sedunov
acbf53c42e
Move: Make applicable to type aliases
...
#KT-21071 Fixed
2017-11-27 21:19:23 +03:00
Alexey Sedunov
bcdb46653c
Line Markers: Detect recursive calls of companion invoke() member
...
#KT-21076 Fixed
2017-11-27 21:19:23 +03:00
Alexey Sedunov
169a22226f
Rename: Support inplace rename of class via primary constructor
...
#KT-20146 Fixed
#KT-21371 Fixed
2017-11-27 21:19:22 +03:00
Alexey Sedunov
2792e0c412
Rename: Introduce dispatching handler
...
The goal is to filter out KotlinMemberInplaceHandler similar to how
RenameHandlerRegistry does with MemberInplaceHandler
2017-11-27 21:19:22 +03:00
Alexey Sedunov
56746380f7
Data Inflow: Support delegated assignments
...
#KT-19089 Fixed
2017-11-27 21:19:22 +03:00
Alexey Sedunov
9d482bbbb1
Data Inflow: Show composite assignments
...
#KT-19112 Fixed
2017-11-27 21:19:22 +03:00
Alexey Sedunov
a333eb917b
Data Inflow: Show qualified assignments
...
#KT-19087 Fixed
2017-11-27 21:19:21 +03:00
Vyacheslav Gerasimov
c06f72b73f
Remove invalid toast test case, worked previously due to uast bug
2017-11-27 20:20:40 +03:00
Vyacheslav Gerasimov
26dcd1c706
Add kapt3-idea to test runtime of idea-android
2017-11-27 20:20:40 +03:00
Alexander Udalov
386a3fb5ce
Fix tests after f4f5359725
2017-11-27 16:03:38 +01:00
Dmitry Petrov
f586bd4a34
Generate proper visibility for companion object instance field in LV1.3+
2017-11-27 17:15:16 +03:00
Dmitry Petrov
70d3e6592d
Unwrap object member imported by name before determining receivers
...
Existing code for receiver generation accidentally worked in most cases
for object members imported by name. However, it generated strange
bytecode (such as
GETFIELD AnObject.INSTANCE
GETFIELD AnObject.INSTANCE
POP
), and worked incorrectly for augmented assignments.
#KT-21343 Fixed Target versions 1.2.20
2017-11-27 17:15:16 +03:00
Alexey Andreev
7bee2ceac7
JS: add boxing/unboxing to default accessors of non-simple properties
...
See KT-21421
2017-11-27 17:01:19 +03:00
Alexey Andreev
be4e2f96c2
JS: throw error from coroutine marker functions
2017-11-27 17:01:18 +03:00
Alexey Andreev
71b1591044
JS: replace suspend inline metadata after inlining
...
This fixes some issues on coroutine inlining, see tests
2017-11-27 17:01:18 +03:00
Alexey Andreev
f8e7861ce6
JS: add partial tail-call optimization for suspend functions
2017-11-27 17:01:17 +03:00
Alexey Andreev
7c621488ad
Remove unnecessary CONTAINS_NON_TAIL_SUSPEND_CALLS slice
2017-11-27 17:01:17 +03:00
Alexey Andreev
26843509c7
JS: disable suspend function tail-call optimization based on FE data
...
Partially fixes KT-21026
2017-11-27 17:01:16 +03:00
Alexey Andreev
6ab87ad66a
Fix failing JS tests
2017-11-27 17:01:15 +03:00
Toshiaki Kameyama
2dd66225f3
Take into account vararg modifier in "Add type" quick fix
...
So #KT-20894 Fixed
2017-11-27 16:44:42 +03:00
Toshiaki Kameyama
4d93c08bd0
Do not propose to make local lateinit var immutable #KT-21104 Fixed
2017-11-27 16:44:04 +03:00
Alexander Udalov
938fd1a57e
Use ResolvedCall for callable reference in KCallableNameProperty intrinsic
...
Instead of manually inspecting the DOUBLE_COLON_LHS slice, which is a
bit more error-prone. Note that new tests were passing before this
change
2017-11-27 12:46:56 +01:00
Alexander Udalov
f4f5359725
Fix exception on inlining callable reference with implicit this in LHS
...
Use ResolvedCall to determine the receiver type in the JVM codegen,
instead of manually inspecting the PSI
#KT-20821 Fixed
2017-11-27 12:46:55 +01:00
Alexey Sedunov
1ceb751061
Data Outflow: Allow for-loop variables
...
#KT-19018 Fixed
2017-11-27 14:36:09 +03:00
Alexey Sedunov
fc307da383
Data Outflow: Show all reference expressions as separate steps
...
#KT-19012 Fixed
#KT-19017 Fixed
#KT-19036 Fixed
#KT-19039 Fixed
#KT-19104 Fixed
#KT-19106 Fixed
2017-11-27 14:36:09 +03:00
Alexey Sedunov
0fc1c793fe
Kotlin Facet: Support compileKotlinCommon tasks in Gradle importer
...
#KT-21187 Fixed
2017-11-27 14:36:09 +03:00
Alexey Sedunov
3f66d11624
Kotlin Facet: Fix language/API version initialization
...
#KT-21180 Fixed
2017-11-27 14:36:09 +03:00
Dmitry Jemerov
200d7f0718
Send API version instead of build number for plugin update checks
...
#KT-21263 Fixed
2017-11-24 19:39:22 +01:00
Alexey Tsvetkov
a1939c093c
Use isolated classloader for in-process compilation
...
#KT-20233 fixed
2017-11-24 16:17:13 +03:00
Alexey Tsvetkov
0077ab59d6
Remove custom cache version checks from Gradle
...
#KT-21009 fixed
Cache version could be changed only when compiler is changed.
@InputFiles on `AbstractKotlinCompileTool#computedCompilerClasspath`
ensures that non incremental build is performed when compiler is changed.
2017-11-24 16:17:13 +03:00
Nikolay Krasko
602ac3e816
Refactoring: GradleDependencyInspection -> DeprecatedGradleDependencyInspection
2017-11-24 14:29:03 +03:00
Nikolay Krasko
bfb069b0c5
Warning and quick fix for using jre-artifacts in Maven (KT-20947)
...
#KT-20947 In Progress
2017-11-24 14:29:03 +03:00
Nikolay Krasko
99f7d605a7
Refactoring: move deprecation information to common place
2017-11-24 14:29:02 +03:00
Nikolay Krasko
0f1e169bd7
Introduce a quick fix for deprecated jre artifact in gradle (KT-20947)
...
#KT-20947 In Progress
2017-11-24 14:29:02 +03:00
Nikolay Krasko
23afa07e55
Inspection for using deprecated jre artifacts in Gradle (KT-20947)
...
#KT-20947 In Progress
2017-11-24 14:29:02 +03:00
Nikolay Krasko
4281b5e1b0
Refactoring: extract utility methods to separate class
2017-11-24 14:29:02 +03:00
Nikolay Krasko
64bb40869e
Compare testData files with KotlinTestUtils.assertEqualsToFile
2017-11-24 14:29:02 +03:00
Nikolay Krasko
30d8875bdf
Check file is valid before search in ScriptDependenciesCache
...
Otherwise search will fail.
2017-11-24 14:29:02 +03:00
Dmitry Jemerov
7625130b49
SOE protection when enumerating dependencies of common modules
...
#KT-20937 Fixed
2017-11-23 18:04:28 +01:00
Alexey Tsvetkov
2b708f67ee
Add tests for explicit language/api version change in Gradle
...
Modifying language/api version should cause non-incremental build.
Implicit change (e.g. when versions are not specified, but the compiler
is updated 1.1->1.2) is handled by `AbstractKotlinCompileTool#computedCompilerClasspath`.
Explicit change is handled by `AbstractKotlinCompile#serializedCompilerArguments`.
2017-11-23 14:46:23 +03:00
Alexey Tsvetkov
913a997f24
Rebuild when language/api version is changed (JPS)
...
#KT-20757 fixed
2017-11-23 14:46:23 +03:00
Alexey Tsvetkov
b1f0f87829
Fix default value for api version string in IC meta info file
2017-11-23 14:46:22 +03:00
Dmitry Savvinov
b8447d6d97
Add test on smartcasts with reified types
...
This test introduces very special (for current implementation) case,
when we have smartcast indirectly, via some reified type parameter.
It covers recursive call inSmartCastManager.checkAndRecordPossibleCast(),
which wasn't previously covered by any test in testbase.
2017-11-23 12:45:10 +03:00
Dmitry Savvinov
440b6d9934
Add -Xeffect-system CLI argument which enables Effect System
2017-11-23 12:35:51 +03:00
Leonid Startsev
44d232a83c
Extension point for synthetic function names contributions
2017-11-23 12:21:47 +03:00
Leonid Startsev
d6e5551237
More entry points for compiler plugins
...
* In Kotlin/JS JPS compilation
* In kotlin-common CLI compiler
* In kotlin-common gradle build
2017-11-23 12:12:01 +03:00
Nicolay Mitropolsky
07601b2ec4
KtLightAnnotationForSourceEntry: varargs handling improved (KT-21335, EA-107118)
2017-11-23 10:37:24 +03:00
Nicolay Mitropolsky
23344783a5
KtLightAnnotationForSourceEntry: made more verbose with errors in arrays in params (KT-21335, EA-107118)
2017-11-23 10:37:24 +03:00
Alexander Udalov
e43bf90b9c
Use CompilerDeserializationConfiguration in JS IC package fragment
...
This is more correct because it'll allow the incremental package
fragment to be deserialized with the same analysis flags as the changed
sources. Currently it doesn't seem possible to add a reasonable test for
this fix because there are no flags relevant for JS except for
skipMetadataVersionCheck, which is experimental and thus doesn't require
a test
2017-11-22 18:33:04 +01:00
Dmitry Jemerov
fd763bde17
Reorder imports to avoid merge conflict
...
(cherry picked from commit 4286cce )
2017-11-22 18:30:34 +01:00
Dmitry Jemerov
6586228c15
Logging to catch KT-20937
2017-11-22 16:42:01 +01:00
Mikhail Glukhikh
078c27efa3
Add fallback flag for legacy var smart casts after try #KT-21377 Fixed
2017-11-22 18:31:04 +03:00
Mikhail Glukhikh
8b6e63dc18
Add forgotten new inference to JS
2017-11-22 18:31:03 +03:00
Dmitry Jemerov
dfe5eb65f9
Don't pack any kotlin stdlib classes into kotlin-plugin.jar
...
#KT-21395 Fixed
(cherry picked from commit 3fbc5ab )
2017-11-22 14:44:01 +01:00
Dmitry Jemerov
e00cc5ab3d
Don't crash with old versions of Android Gradle plugin
...
#KT-21383 Fixed
2017-11-22 14:14:26 +01:00
Simon Ogorodnik
236ba1d2f2
Refactor PerModulePackageCacheService to fix various problems
...
Original issue here - structure of VfsEvents,
when directory gets deleted, we receive only VFileDeleteEvent
for directory, but not it's content, so we should invalidate
all modules in which sources this directory located, and all
modules that located in such directory
Second problem - When VirtualFile was deleted it is impossible to
get ModuleInfo for it using getModuleInfoByVirtualFile
Third problem - stale references in cache, due cycle dependency
#KT-20987 Fixed
2017-11-22 16:07:34 +03:00
Mikhail Zarechenskiy
bee7ed1431
[NI] Fix mapping of type arguments to parameters for inner classes
2017-11-22 10:22:41 +03:00
Mikhail Zarechenskiy
e526a87d54
[NI] Make model more robust: remove diagnostics from resolution atoms
...
Currently there are two major phases in NI that report diagnostics: resolution parts and completion. They connected in method `KotlinCallCompleter.runCompletion` and previously diagnostics were collected in several places, from resolution atoms, partly from constraint system and partly from `CallResolutionResult`, some of them were lost.
To mitigate this problem, now diagnostics are not bind to the intermediate candidate, only to the result resolution candidate (overloaded or usual one). And all diagnostics are now collected in method `runCompletion`
2017-11-22 10:22:39 +03:00
Nikolay Krasko
6e51c4d5db
Disable script dependency updater in AddRequireModuleTest
2017-11-21 18:55:42 +03:00
Nikolay Krasko
a530163074
Add sources for 'reflect' and 'test' libs during JPS config (KT-20956)
...
#KT-20956 Fixed
2017-11-21 18:55:42 +03:00
Alexey Andreev
ec8adfe7c4
JS: fix referencing outer class from secondary constructor
...
See KT-21041
2017-11-21 12:22:10 +03:00
Alexey Andreev
88441da131
JS: cache PropertyMetadata objects in property delegates
...
Also, remove unused PropertyMetadata instances
See KT-20737, KT-20738
2017-11-21 12:21:22 +03:00
Alexey Andreev
7ebfba3722
JS: apply boxing when initializing val parameter of type Char
...
See KT-20854
2017-11-21 12:20:01 +03:00
Alexey Andreev
32a0221474
JS: refactor code that copies default methods in interfaces to classes
...
Als fixes KT-21245
2017-11-21 12:18:16 +03:00
Alexey Andreev
38e50e964a
JS: fix generation of source map for inline lambda with ignored result
...
See KT-21309
2017-11-21 12:15:25 +03:00
Nikolay Krasko
d2aabe076d
Refactoring: extract jar names in PathUtil and use them in artifacts
2017-11-21 01:11:01 +03:00
Nikolay Krasko
3a90f3618a
Don't force configure with kotlin-jdk artifacts for early versions (KT-21028)
...
#KT-21028 Fixed
2017-11-21 01:11:00 +03:00
Nikolay Krasko
679a460c44
Minor: make sdk version comparison compatible with JDK > 9
2017-11-21 01:10:59 +03:00
Ilya Chernikov
0e5c443894
Move kapt3 embeddable to prepare folder
2017-11-20 22:59:40 +01:00
Ilya Chernikov
6f73e9994b
Add kotlin-annotation-processing-embeddable, publish base kapt3 as kotlion-annotation-processing
...
(cherry picked from commit 148d4e4 )
2017-11-20 20:06:43 +01:00
Ilya Chernikov
56542286eb
Bring back filtering of jna and shading of jline in embeddable compiler
...
they were lost during the migration to gradle
(cherry picked from commit 126a6a8 )
2017-11-20 19:59:40 +01:00
Alexey Andreev
a9548b1224
JS: fix translation of safe calls to suspend unit functions
...
See KT-21317
2017-11-20 19:19:24 +03:00
Denis Zharkov
91730e1a9e
Do not run search for operator-like names in inspections
...
It might be rather expensive to search componentN's usages in the whole project
2017-11-20 18:33:46 +03:00
Ilmir Usmanov
0fbbe10143
Support suspendCoroutineUninterceptedOrReturn intrinsic
...
KT-17336: Fixed
2017-11-20 18:12:41 +03:00
Mikhail Glukhikh
4c583c5a61
Catch InvalidModuleException from getModality() in icon provider
...
Related to KT-20986
2017-11-18 12:38:25 +03:00
Mikhail Glukhikh
dce7377099
Revert check on module descriptor validness in lookup
...
Related to KT-20986
2017-11-18 12:35:01 +03:00
Mikhail Glukhikh
e53cedbd6b
Throw InvalidModuleException in assertValid() instead of standard ISE
2017-11-18 12:34:59 +03:00
Mikhail Glukhikh
539f8afef3
Style: do not highlight single return when as "Use expresison body"
2017-11-18 12:34:58 +03:00
Nikolay Krasko
c0a3344803
Download jflex from bintray
2017-11-17 17:21:59 +03:00
Mikhael Bogdanov
a547019ed0
Switch DEFAULT_METHOD_CALL_FROM_JAVA6_TARGET according to LL
2017-11-17 13:48:44 +01:00
Alexander Udalov
d386712903
Report pre-release errors if release LV is used
...
#KT-21267 Fixed
2017-11-17 13:42:36 +01:00
Dmitry Jemerov
64a8008a8a
Add icon for multiplatform projects, update JS icon
...
#KT-19824 Fixed
2017-11-17 13:13:04 +01:00
Mikhail Zarechenskiy
20e1caaab1
[NI] Use refined expected type by smartcasts in CS
2017-11-17 15:04:20 +03:00
Mikhail Zarechenskiy
ca035bc8b8
[NI] Report error from expected type constraint position
2017-11-17 15:04:18 +03:00
Igor Chevdar
d4d3f237ee
Fix for package level lateinit properties
2017-11-17 13:48:17 +03:00
Alexey Andreev
89db4dfe79
JS: translate when against enum to JsSwitch when possible
2017-11-17 11:07:41 +03:00
Alexey Andreev
c54c4a6ce8
JS: fix support of JsSwitch in coroutines
2017-11-17 11:07:39 +03:00
Alexey Andreev
678b4c67c1
JS: translate when to JsSwitch when possible
...
See KT-21160
2017-11-17 11:07:38 +03:00
Alexey Andreev
7b403211dd
JS: kotlinize WhenTranslator
2017-11-17 11:07:37 +03:00
Alexey Andreev
b93acb07d2
JS: don't remove debugger statement from coroutine
...
See KT-19826
2017-11-17 11:07:36 +03:00
Alexey Andreev
21de76f88d
JS: fix identifier generation in delegate constructor calls
...
See KT-21093
2017-11-17 11:07:34 +03:00
Ilya Gorbunov
fdeb916111
Correct exclusions of kotlin-stdlib-js
2017-11-16 20:30:51 +03:00
Ilya Gorbunov
c10771092a
Add maven subprojects to the project
2017-11-16 20:30:51 +03:00
Nikolay Krasko
17f0d3b9b3
Revert JetRunConfiguration for compatibility (KT-21296)
...
#KT-21296 Fixed
2017-11-16 20:14:38 +03:00
Mikhail Zarechenskiy
66064345e9
[NI] Support fallback resolution for refined sams priority feature
2017-11-16 18:07:54 +03:00
Mikhail Zarechenskiy
e42f07b031
[NI] Wait for proper constraints to fix type for callable reference
...
If expected type is a type variable, then we'll wait for proper constraints, but previously we resolved callable reference as it didn't have expected type at all, because type variable isn't a functional type
Consider the following example:
fun foo(i: Int) {}
fun foo(s: String) {}
fun <T> id(x: T): T = x
fun test() {
val x1: (Int) -> Unit = id(id(::foo))
}
Here we shouldn't resolve callable reference until we get constraint from expected type of `x1`
2017-11-16 18:07:51 +03:00
Mikhael Bogdanov
cbfcb74b58
Get rid of cli dependencies from ir
2017-11-16 14:46:53 +01:00
Zalim Bashorov
28e34ac39b
Minor: fix IDEA warnings in BasicBoxTest.kt
2017-11-16 15:42:08 +03:00
Zalim Bashorov
291e903ae6
Mark js/js/translator/testData/out-min/ as excluded directory in IDEA
...
It's required to avoid indexing a lot of js files (> 200MB)
after each run of js tests.
2017-11-16 15:41:45 +03:00
Zalim Bashorov
4849bddde1
KJS: write minification's test results to separate directory
...
It allows excluding this directory from indexing inside IDEA
and probably simplifies the main workflow.
2017-11-16 15:36:20 +03:00
Alexey Tsvetkov
18261838b6
Avoid deserializing .kotlin_module as class proto
...
#KT-20184 fixed
2017-11-16 14:47:59 +03:00
Alexander Udalov
c55ac55526
Restore and deprecate JvmFileClassesProvider.getFileClassInternalName
...
#KT-21270 Fixed
2017-11-16 11:24:11 +01:00
Dmitry Petrov
4193fae9fa
Fix floating point comparison generation for range literals
2017-11-16 10:54:25 +03:00
Dmitry Petrov
354d54aef6
Don't generate DUPX instructions for in-range-literal expressions
...
Store argument into a local variable instead.
2017-11-16 10:54:25 +03:00
Vladimir Kasatkin
9b49e9139c
Added samples for map filtering operators (KT-20357)
...
Fix map transformations sample names.
2017-11-15 23:58:51 +03:00
Ilya Gorbunov
dca23e339a
Improve iterator samples, add explanatory comments (KT-20357)
2017-11-15 23:58:49 +03:00
kenji tomita
4d13ea89b2
Add samples for iterator-related extensions (KT-20357)
2017-11-15 23:39:07 +03:00
Ilya Gorbunov
94f77c773c
Remove unused function, simplify outdated runtime version tests
2017-11-15 17:53:18 +03:00
Ilya Gorbunov
18611343f2
Do not infer artifact version from build.txt #KT-21150
2017-11-15 17:53:18 +03:00
Ilya Gorbunov
9de6dd814b
Docs: clarifications on LazyThreadSafetyMode
2017-11-15 17:41:43 +03:00
Nikolay Krasko
0768e7404b
Stop overwriting values with defaults in compiler arguments
...
'verbose' option was always lost.
2017-11-15 16:12:41 +03:00
Nikolay Krasko
0480042ffd
Log incremental options before passing them to kotlin daemon
2017-11-15 16:12:40 +03:00
Nikolay Krasko
643f771c24
Report rebuild reason in rebuild function
2017-11-15 16:12:38 +03:00
Nikolay Krasko
97c1e58149
Minor: reformat too long lines
2017-11-15 16:12:37 +03:00
Alexander Udalov
ad730cedf6
Rename idea/src/META-INF/extensions/{common.xml -> compiler.xml}
...
To emphasize that this file declares extensions to be registered in the
compiler, not only in the IDE
2017-11-15 11:05:16 +01:00
Alexander Udalov
afc9d3ef8b
Remove idea/src/META-INF/extensions/{kotlin2jvm.xml,kotlin2js.xml}
...
Keep the EnvironmentConfigFiles enum because its values are used in
determining whether the environment is going to be used for JVM or
non-JVM project analysis, but remove the actual files.
Drop EnvironmentConfigFiles.EMPTY and replace its only usage in
preprocessor with JVM_CONFIG_FILES: it's easier and won't affect
anything
2017-11-15 11:05:15 +01:00
Alexander Udalov
7ace303add
Fix ambiguity on callable reference for expect members
...
Expect members should always lose in resolution to non-expect members,
be it simple calls or callable references. Note that there should be
exactly one actual member for each expect member in correct code, so
both ways to check for expect vs non-expect are correct: either before
signature comparison, or after.
#KT-20903 Fixed
2017-11-15 11:02:29 +01:00
Ilya Gorbunov
27546546fa
Minor: specify explicit name for lambda parameter, use also instead of let
2017-11-15 12:01:22 +03:00
Sergey Ryabov
7fe7b6d6e1
Change FileReadWrite to more idiomatic code
2017-11-15 12:01:22 +03:00
Ilya Gorbunov
f4015b48f7
Run configuration for generator: configure-on-demand
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
7c543b6b28
Rewrite array and specialized operations in new DSL
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
c4ac2548d9
Rewrite Mapping.kt in new DSL
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
efefa64ac5
Rewrite snapshot and set operations in new DSL
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
3b6c5880e2
Rewrite range operations in new DSL
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
c3b894f041
Rewrite Guards, Numeric, SequenceOps, StringJoinOps in new DSL
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
d2e1baa9d4
Rewrite Ordering.kt in new DSL
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
ff336cdf84
Rewrite Generators.kt in new DSL
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
eb2db85c46
Rewrite Filtering.kt in new DSL
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
d8455ba765
Rewrite Elements.kt in new DSL
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
012d3804f0
Rewrite Aggregates.kt to the new template DSL
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
dd0e04edd5
Switch production generated stdlib sources to the new DSL and remove old DSL
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
db049c0ab6
Introduce deprecated helpers to ease migration
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
9f57a2c0d5
Make generated code ordered same as before
...
Allow to fix signature for sorting when overriding it
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
31e00efa8f
Legacy mode for non-multiplatform stdlib sources
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
4404257329
Improve new stdlib generator DSL
...
- Add Kotlin/Native platform.
- Rename classes.
- Introduce TemplateGroup and TemplateGroupBase to group template values.
- MemberBuilder: add support for more properties.
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
e68a6651d2
Prototype new version of stdlib generator template DSL
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
9e34e20338
Refactor stdlib generator: extract common types to be reused in new DSL
2017-11-15 09:17:42 +03:00
Ilya Gorbunov
dcd0a94d76
Minor: fix extra space in return type of chunked and windowed
2017-11-15 09:17:42 +03:00
Pavel V. Talanov
cf2e9c7002
Fix compilation: erroneous import
2017-11-14 20:30:13 +03:00
Pavel V. Talanov
70b22e7f85
Highlighting: never highlight errors for compiled files
2017-11-14 18:29:58 +03:00
Pavel V. Talanov
9db9750e67
Light classes: do not fail when classfile is in src root
2017-11-14 18:29:53 +03:00
Pavel V. Talanov
6667732dd4
Do not hide kotlin class files in source roots
...
This fixes a problem where file is indexed but querying
index fails with an exception because file has no PSI
#KT-21061 Fixed
2017-11-14 18:26:53 +03:00
Pavel V. Talanov
8696b37cdb
Minor, tests: make collection synchronized
...
Attempt to fix flaky test test that use LightClassComputationControl
2017-11-14 17:47:55 +03:00
Denis Zharkov
1f9d56439a
Fix KNPE caused by optimizations in control-flow analysis
...
The problem is that when performing full analysis we do it in
a backward order while result for trivial vals is filled
in a forward one.
It turns out that reversedInstuctions might return a superset of
forward traversed instructions, e.g. in case of dead code in lambda.
At the same time result for trivial vals is constant
for any instruction, thus we can just return its constant value
and use it in the full analysis
#KT-20895 Fixed
2017-11-14 16:38:28 +03:00
Denis Zharkov
2a0b937aac
Revert "Add diagnostic for unexpected KNPE in control-flow analysis"
...
This reverts commit f24f0017a0 .
2017-11-14 16:37:24 +03:00
Denis Zharkov
f24f0017a0
Add diagnostic for unexpected KNPE in control-flow analysis
...
See KT-20895
2017-11-14 16:32:34 +03:00
Pavel V. Talanov
ae2b0325a3
Restore and deprecate old ScriptTemplatesProvider EP
2017-11-14 16:30:42 +03:00
Pavel V. Talanov
6fed779782
Reload gradle script definitions
...
Reloading in the following scenarios:
- Successful gradle sync following a failure to load definitions
- Gradle settings changed in IDE (via settings UI)
2017-11-14 16:30:40 +03:00
Pavel V. Talanov
4906c850af
Reload script definitions on compiler settings changes
...
Provide API to track compiler settings changes
2017-11-14 16:30:37 +03:00
Pavel V. Talanov
ef539bd89d
Tests: use standard script definition in cli tests by default
2017-11-14 16:30:35 +03:00
Pavel V. Talanov
cdfdc1d19b
Refactor script definitions loading
...
Make ScriptDefinitionProvider an interface
and provide different implementation for cli and IDEA
Rework ide extension point to a simpler interface (ScriptDefinitionContributor)
Move template loading logic into a top level function
Allow script definitions to be reloaded in IDE
2017-11-14 16:30:33 +03:00
Pavel V. Talanov
f063254cc1
GradleScriptDefaultDependenciesProvider: better name filter
2017-11-14 16:30:30 +03:00
Pavel V. Talanov
df74fb23f8
ScriptDependenciesCache: limit simultaneously cached script count
...
Do not schedule updates for dependencies of scripts that were not requested
(opened in the editor or such) for some time
This fixes a problem when vcs updates changing scripts can trigger
undesired script dependencies updates
(probable cause of script files never highlighted correctly in some cases)
Refactor: use VirtualFile instead of String and move code from GradleScriptTemplateProvider
2017-11-14 16:30:28 +03:00
Dmitry Jemerov
f67e01db1c
Generate 'expectedBy' dependency instead of 'implement' (KT-21006)
2017-11-14 14:09:25 +01:00
Vyacheslav Gerasimov
64f29a7bd5
Move KDsl gradleFrameworkSupport and moduleBuilder to gradle.xml
...
#KT-21236 Fixed Target versions 1.2.20
2017-11-14 14:52:19 +03:00
Ilmir Usmanov
f4e180556c
Fix assignment codegen for suspend operators plus and plusAssign
...
KT-16079: Fixed
2017-11-14 14:49:26 +03:00
Mikhail Zarechenskiy
fbe274ff09
[NI] Use less specific type for captured type approximation
...
This is needed to be more compatible with the old NI
2017-11-14 14:40:47 +03:00
Mikhail Zarechenskiy
f3ef961be6
[NI] Report error about non-spread parameter from arguments mapper
2017-11-14 13:55:48 +03:00
Mikhail Zarechenskiy
13ee0f8eda
[NI] Don't forget to report error about mixing different kinds of args
...
Also use more safe way to report errors: only if there is corresponding PSI element. This is not very useful for compiler, but in IDE we can get synthetic calls with null psi arguments
2017-11-14 13:54:58 +03:00
Mikhail Zarechenskiy
2aa8ceb005
[NI] Fix state for named arguments in arguments to parameters mapper
2017-11-14 13:54:51 +03:00
Dmitry Petrov
15ac471626
Treat accessors to JvmStatic methods as having no dispatch receiver
...
#KT-21246 Fixed
2017-11-14 09:59:16 +03:00
Dmitry Petrov
db2aad1857
Rewrite correctContainerForLambda using uninitializedClasses
2017-11-14 09:33:28 +03:00
Dmitry Petrov
e38bbbfc13
Drop local interfaces support in ExpressionCodegen
...
Local interfaces are prohibited since 1.0.
2017-11-14 09:33:28 +03:00
Dmitry Petrov
4365084645
Lookup for local variables taking into account uninitialized this
...
Consider a context with uninitialized this, e.g.:
fun foo() {
val x = "..."
class Local(y: String) : Base(L@{ x + y })
}
Lambda 'L' is an argument of a super class constructor call.
Here 'this@Local' is not initialized yet. Thus local variables captured
in 'Local' can't be used. Instead, they should be captured by lambda 'L'
itself.
Note that lambda 'L' sees both 'x' and 'y' as local variables that
should be captured.
When in context with uninitialized this (generating arguments for super
type constructor or delegating constructor call), and a variable in
question is not found in the current context, use enclosing local lookup
to determine whether a local variable should be captured by a closure.
2017-11-14 09:33:28 +03:00
Dmitry Petrov
ff0a2562e0
Minor: LocalLookup: lookupLocal -> isLocal
2017-11-14 09:33:28 +03:00
Dmitry Petrov
2d56837409
Minor: answer -> capturedVariable
2017-11-14 09:33:28 +03:00
Dmitry Petrov
47b59496da
Minor: CodegenContext.isContextWithUninitializedThis()
2017-11-14 09:33:28 +03:00
Dmitry Petrov
bbb0389c51
Fix determining enclosing class for closure
...
Enclosing class for closure is a class whose instance is captured by
closure as an outer 'this', and stored in a field 'this$0'.
Usually enclosing class for closure is an immediate outer class,
including classes for nested closures. For example:
class C {
fun foo() {}
val example1 = L1@ { foo() }
// Enclosing class for lambda 'L1' is 'C'
val example2 = L2a@ { L2b@ { foo() } }
// Enclosing class for nested lambda 'L2b'
// is a closure class for outer lambda 'L2a'
}
However, if the closure is created in a super type constructor call for
the outer class, corresponding instance is considered "uninitialized",
and can't be used as a proper class instance, and can't be referenced:
corresponding code is rejected by front-end.
class Outer {
fun foo() {}
inner class Inner : Base(L3@ { foo() })
// Enclosing class for lambda 'L3' is 'Outer',
// because 'Inner' is uninitialized in super type constructor call.
}
In CodegenAnnotatingVisitor, we maintain a stack of currently
uninitialized classes, and chose enclosing class for closure
as an inner-most surrounding class with initialized instance.
When generating code for this or outer class instance, we skip
contexts corresponding to classes with uninitialized instances.
This fixes a number of bytecode verification errors caused by incorrect
enclosing class for closure.
#KT-4174 Fixed Target versions 1.2.20
#KT-13454 Fixed Target versions 1.2.20
#KT-14148 Fixed Target versions 1.2.20
2017-11-14 09:33:28 +03:00
Dmitry Petrov
6648657e65
Override accept(...) in KtConstructorDelegationCall
2017-11-14 09:33:28 +03:00
Dmitry Petrov
ac761a03c5
Minor: calleeContainingClass -> thisOrOuterClass
2017-11-14 09:33:28 +03:00
Dmitry Petrov
92e0ea2553
Minor: CodegenContext utils
2017-11-14 09:33:28 +03:00
Mikhael Bogdanov
dff6e943bb
Always do stack spilling during inline cause of dex problem
...
Dex issue: https://issuetracker.google.com/issues/68796377
#KT-20844 Fixed
2017-11-13 16:50:24 +01:00
Mikhail Zarechenskiy
519e5c33d8
[NI] Support assigning single array elements in named form to varargs
2017-11-13 16:47:05 +03:00
Mikhail Zarechenskiy
fe2499b47f
[NI] Approximate flexible types with enhancement as usual ones
...
This is temporary and should be fixed later
2017-11-13 16:35:24 +03:00
Mikhail Zarechenskiy
82d43c23b6
[NI] Perform full type checking in NI if there is no contradiction
...
In NI type checking actually performs in constraint system. To be conservative, now we still perform full type cheking but only if there is no contradiction in constraint system
2017-11-13 16:33:20 +03:00
Mikhail Zarechenskiy
f51f7a0fe4
[NI] Report diagnostic about receiver as super expression
2017-11-13 16:33:08 +03:00
Mikhail Zarechenskiy
1d6e9c244b
[NI] Report diagnostic about spread argument to non vararg parameter
2017-11-13 16:32:58 +03:00
Mikhail Zarechenskiy
d45f4e71de
[NI] Don't try to search methods on undefined integer type
2017-11-13 16:31:22 +03:00
Mikhail Zarechenskiy
4ad885afb0
[NI] Correctly propagate base constraint system of invoke call
...
Consider the following example:
class A {
operator fun <T> invoke(): Foo<T> = throw Exception()
}
fun foo(f: Foo<Int>) {}
fun test(a: A) {
foo(a()) // after resolve of `invoke`, it has non-fixed type variable
}
2017-11-13 16:31:04 +03:00
Mikhail Zarechenskiy
28e539b158
Simplify CompilerTestLanguageVersionSettings: merge two maps into one
2017-11-13 16:27:26 +03:00
Mikhail Zarechenskiy
cd2d32d92a
Set up specific LV settings for compiler tests
...
For example, to configure NI
(cherry picked from commit e0c6aec)
2017-11-13 16:27:25 +03:00
Mikhail Zarechenskiy
91a6591b70
Load compiler language version settings for resolved calls tests
2017-11-13 16:27:24 +03:00
Mikhail Zarechenskiy
20bf238006
Load compiler language version settings for codegen tests
2017-11-13 16:27:23 +03:00
Mikhail Zarechenskiy
85d442133d
Load compiler language version settings for foreign annotations tests
...
To set specific features for compiler tests
2017-11-13 16:27:22 +03:00
Mikhail Zarechenskiy
63b13027df
Configure pseudocode tests with !LANGUAGE directive
...
Except all, it's also useful to use one class of language version settings for compiler tests to configure it specially for tests
2017-11-13 16:27:20 +03:00
Mikhail Zarechenskiy
ef1d1ef946
Enable new inference feature by system property for tests only
2017-11-13 16:27:19 +03:00
Mikhail Zarechenskiy
fbbe396881
Add configuration key to enable new inference for compiler tests
2017-11-13 16:27:18 +03:00
Mikhail Zarechenskiy
0b484771dd
Add compiler key to enable new inference
2017-11-13 16:24:34 +03:00
Mikhail Zarechenskiy
84ac5a3e22
Use separate directive to check results of descriptor renderer for NI
2017-11-13 16:24:33 +03:00
Mikhail Zarechenskiy
b6542caf47
Setup system property for NI tests with parameter -PnewInferenceTests
2017-11-13 16:23:05 +03:00
Mikhail Zarechenskiy
0410287cf9
Add flag to force loading old inference diagnostics
2017-11-13 16:23:05 +03:00
Mikhail Zarechenskiy
6486c8dccc
Add ability to reuse one diagnostic test file for old and new inference
2017-11-13 16:23:05 +03:00
Mikhail Zarechenskiy
73b4e24d54
Introduce language feature for NI, remove old setting
2017-11-13 16:23:04 +03:00
Toshiaki Kameyama
27e7f13335
Fix AssertionError on completing after template in string literal
...
#KT-16402 Fixed
2017-11-13 16:01:34 +03:00
Simon Ogorodnik
0560ba7929
KT-19943: Remove redundant type conversions in J2kPostProcessing
...
Don't remove them in converter itself
2017-11-13 15:54:33 +03:00
a2kaido
083c3d8a5d
KT-19943: Remove redundant special type unboxing calls in J2K
...
#KT-19943 Fixed
2017-11-13 15:54:33 +03:00
Konstantin Bulenkov
65cc5f1589
Change run icon in gutter to standard one from IJ Platform
2017-11-13 13:16:22 +01:00
Alexander Udalov
6f276c623b
Do not use IntelliJ extensions for uninitialized variable suppressor in JS
2017-11-13 13:04:54 +01:00
Alexander Udalov
6f90a0545c
Do not use IntelliJ extensions for declaration without body suppressor in JS
2017-11-13 13:04:54 +01:00
Alexander Udalov
7f81601123
Do not use IntelliJ extensions for unused parameter suppressor in JS
2017-11-13 13:04:54 +01:00
Alexander Udalov
d782c8a644
Use ServiceLoader instead of IntelliJ extensions for ScriptHelper
2017-11-13 13:04:54 +01:00
Alexander Udalov
20d13411e0
Remove obsolete extension point implementations
...
- There's no class with FQ name
org.jetbrains.kotlin.resolve.jvm.AnalyzeCompleteHandlerExtension anymore
- There's no substring classBuilderInterceptorExtension anywhere else in
the project
2017-11-13 13:04:54 +01:00
Toshiaki Kameyama
2be27d5380
KT-19390: Fix char + String in Java is converted to code with multiple type errors in Kotlin ( #1235 )
...
#KT-19390 Fixed
2017-11-13 14:13:34 +03:00
Mikhail Glukhikh
1e940bde01
Lookup element factory: do not use outdated descriptor
...
Probably #KT-20986 Fixed
2017-11-13 14:10:58 +03:00
Mikhail Glukhikh
f43360177a
Minor refactoring of ResolveElementCache #KT-21132 Fixed
...
Get rid of SoftValueMap.containsKey
2017-11-13 14:10:58 +03:00
Ilya Gorbunov
f51974b271
Minor fix in comparison samples #KT-20357
2017-11-10 23:32:20 +03:00
scache
96e322c7d5
Add samples for Comparisons #KT-20357
2017-11-10 23:32:06 +03:00
Ilya Gorbunov
e16a0ba650
Improve and group samples for operations on Iterables #KT-20357
2017-11-10 23:31:50 +03:00
kenji tomita
75348dd0c0
Add samples for Iterables #KT-20357
2017-11-10 23:31:31 +03:00
Alexey Belkov
5da1b4c566
Minor: fix sample name (KT-20357)
2017-11-10 23:29:39 +03:00
Alexander Udalov
2572d27921
Regenerate tests
2017-11-10 20:01:48 +01:00
Alexander Udalov
b5fa520aa5
Remove obsolete version override mechanism and increment-version.kts
2017-11-10 18:58:32 +01:00
Alexander Udalov
36026d3f16
Minor, remove obsolete jdkPath
2017-11-10 18:58:32 +01:00
Alexander Udalov
208e68a968
Move strip-kotlin-annotations script to buildSrc
...
... and invoke it directly in kotlin-reflect's build file, instead of
running another instance of compiler to evaluate a script. Also only
strip kotlin.Metadata, since it's the only annotation with heavy
metadata on Kotlin-generated class files
2017-11-10 18:58:32 +01:00
Alexander Udalov
38bee07fd0
Remove obsolete protobuf-lite building scripts
...
This logic is now present in
custom-dependencies/protobuf-lite/build.gradle
2017-11-10 18:58:31 +01:00
Alexander Udalov
d26486b7df
Move JvmRuntimeDescriptorLoaderTest to core/descriptors.runtime/tests
...
This allows to get rid of the dependency on descriptors.runtime from
compiler/IDE tests which is problematic: classes there clash with the
classes in kotlin-reflect, which reference declarations in shadowed
packages
2017-11-10 18:58:31 +01:00
Alexander Udalov
02981038f3
Split core into descriptors, descriptors.jvm, deserialization, descriptors.runtime
2017-11-10 18:58:31 +01:00
Alexander Udalov
328e906b57
Rename source set "descriptor.loader.java" -> "descriptors.jvm"
...
The new name is more convenient and precise because this module is no
longer only about loading declarations from Java, it also contains
implementation of loading Kotlin declarations from .class files, as well
as type mapping abstractions, JVM ABI specifications, etc.
2017-11-10 18:58:31 +01:00
Alexander Udalov
51e00eb05e
Move descriptors.runtime sources to package kotlin.reflect.jvm.internal
...
To make it obvious that this is a part of kotlin-reflect and should not
be packed into the compiler jar. Also copy 'classId' utility to
AbstractLocalClassProtoTest to minimize dependencies on
kotlin.reflect.jvm.internal
Note that the module itself is still needed and can't be merged into
kotlin-reflect because of the way it's used in
AbstractJvmRuntimeDescriptorLoaderTest
2017-11-10 18:58:31 +01:00
Alexander Udalov
4cb8a3a6b7
Remove obsolete workaround for jansi clash issue
...
This was needed to workaround KT-17031 which is now fixed
2017-11-10 18:58:31 +01:00
Alexander Udalov
c519e33a25
Remove ultimate/.idea
...
kotlin-ultimate is no longer used as a separate project since it's
merged into the main Gradle project
2017-11-10 18:58:31 +01:00
Alexander Udalov
1c2fee8764
Remove obsolete non-compiler-tests.iml
2017-11-10 18:58:31 +01:00
Alexander Udalov
81756150dd
Update .idea/codeStyles/Project.xml for latest IDEA
2017-11-10 18:08:10 +01:00
Ilmir Usmanov
0f9a21d429
Add regression test for KT-17640
2017-11-10 19:16:06 +03:00
Mikhael Bogdanov
ad80d1239f
Properly process special names for local function in LocalLookup
2017-11-10 13:42:40 +01:00
Mikhael Bogdanov
5250d947e7
Update android emulator images
2017-11-10 13:42:40 +01:00
Toshiaki Kameyama
b8c5d1b852
Fix "add <*>" quick-fix for inner class with generic outer one
...
So #KT-20763 Fixed
2017-11-10 15:34:17 +03:00
Mikhail Glukhikh
7b2a66c006
Convert 'simplify when' from intention to inspection
...
Related to KT-20492
2017-11-10 15:34:11 +03:00
Toshiaki Kameyama
df86ff7115
Introduce "Simplify when" intention where one branch is always true
...
So #KT-20492 Fixed
2017-11-10 15:34:08 +03:00
Denis Zharkov
26ba2ab3db
Postpone creating DataFlowValue until they're really needed
...
Unfortnutately DataFlowValueFactory::createDataFlowValue isn't very cheap,
so it's better to avoid these calls when it's possible
2017-11-10 13:01:13 +03:00
Denis Zharkov
714a057e3b
Minor. Drop unused DataFlowExtras::possibleTypes
2017-11-10 13:01:13 +03:00
Denis Zharkov
b4499d52ee
Introduce OpenAddressLinearProbingHashTable to be used in binding context
...
See comments in the implementation for clarification
2017-11-10 13:01:13 +03:00
Mikhael Bogdanov
5d84aec8f7
Clean dependencies in 'tests-java8' module
2017-11-10 09:46:41 +01:00
Mikhael Bogdanov
ce62991c5a
Add test-ir-jvm module
2017-11-10 09:46:40 +01:00
Ilya Gorbunov
598dc1af04
Introduce deployRepo parameter to override deploy-repo set by teamcity
...
Currently it isn't possible to do that from command line.
2017-11-10 00:14:25 +03:00
Simon Ogorodnik
cf9b7d0f42
Set unit test mode to false in production environment
2017-11-09 21:38:47 +03:00
Ilya Gorbunov
e801390c7a
Fix intellij-community revision JFlex is downloaded from
...
Because it was removed in master
2017-11-09 17:58:54 +03:00
Anton Bannykh
4d12426145
JS: use ANT replace task to set $version
...
Needed make kotlin-test depend on the same version of kotlin
2017-11-09 15:10:12 +03:00
Mikhael Bogdanov
af784dcd47
Update android test dependencies
2017-11-09 11:38:10 +01:00
Ilya Gorbunov
b2627f53a3
Fix resources clashes in ultimate plugin tests
...
Rollback tests-jar configuration to extend testCompile instead of testRuntime.
Otherwise an unwanted main artifact from the runtime configuration gets added to the
artifacts of tests-jar configuration.
Exclude transitive dependencies of projectTests(":idea")
2017-11-08 19:05:36 +03:00
Ilya Gorbunov
24c982de9b
Make project dependency shortcuts return ProjectDependency
...
to enable further configuration.
2017-11-08 19:03:40 +03:00
Mikhael Bogdanov
416392bb74
Don't propagate reified markers for special enum functions
...
#KT-18254 Fixed
2017-11-08 15:35:44 +01:00
Mikhael Bogdanov
800cc63347
Remove external finally block interval on splitting during inline
...
#KT-20433 Fixed
2017-11-08 15:35:43 +01:00
Alexey Andreev
f51709e61c
Clean-up application from EncodeSignatureTest
...
Hopefully, this fixes random failing tests
2017-11-08 16:13:07 +03:00
Alexey Andreev
779af375a7
JS: fix inlining of array constructor expressed via typealias
...
See KT-20978
2017-11-08 16:12:16 +03:00
Alexey Andreev
ec53f9b254
JS: don't emit short circuit operators for boolean and/or
...
See KT-21004
2017-11-08 16:10:57 +03:00
Vyacheslav Gerasimov
16b9a376b6
Android Lint: Run AnalysisScope.toSearchScope under read action
2017-11-07 20:11:19 +03:00
Vyacheslav Gerasimov
d6d20a5b5d
Android Lint: Don't check files unrelated to Android modules
...
#KT-21064 Fixed
2017-11-07 20:11:19 +03:00
Alexey Sedunov
ba0b21d1a3
Add @JvmStatic Intention: Support functions/properties in objects
...
Also eliminate unnecessary object instance references on Java call sites
#KT-20095 Fixed
2017-11-07 19:25:03 +03:00
Alexey Sedunov
cfad305826
Misc: Fix deserialization of CommonCompilerArguments.freeArgs
...
#KT-20938 Fixed
2017-11-07 19:25:02 +03:00
Alexey Sedunov
0bd267111e
Kotlin Facet: Fix language/API version initialization
2017-11-07 19:25:02 +03:00
Ilya Gorbunov
a005f4804e
Strengthen deprecation for CharSequence.size in JS
2017-11-07 18:59:33 +03:00
Ilya Gorbunov
9305903e6c
Remove deprecated pairwise function
...
It was replaced with zipWithNext.
2017-11-07 18:59:33 +03:00
Nikolay Krasko
329322e268
Increase stub version because of change in overload sorting
...
See commit f197f36e23
2017-11-07 18:00:23 +03:00
Mikhail Glukhikh
6c2eb06351
Do not report "unused receiver" on companion objects
...
So #KT-19560 Fixed
2017-11-07 17:28:13 +03:00
Nikolay Krasko
84ab397f25
Restrict 172 plugin to 172 ide only
2017-11-07 13:30:00 +03:00
Nicolay Mitropolsky
fab8187574
UAST: Complex test data moved to separate file (KT-20990)
2017-11-06 19:59:50 +03:00
Nicolay Mitropolsky
9730d50e10
UAST: yet another fight with string literals in string literals (KT-20990)
2017-11-06 19:59:50 +03:00
Alexey Andreev
132285ea03
JS: optimize loop over array.withIndex()
...
See KT-20932
2017-11-03 17:36:05 +03:00
Alexey Andreev
1be86e05ae
JS: optimize range check for int and long
...
See KT-2218
Additionally, fix temporary variable elimination for && and ||
2017-11-03 17:35:17 +03:00
Alexey Andreev
43302ce00c
JS: add missing members to kotlin.js.Date
...
See KT-20694
2017-11-03 17:31:25 +03:00
Alexey Andreev
0a31b4ccc1
JS: improve declarations for JSON object
...
See KT-20580
2017-11-03 17:31:22 +03:00
Alexey Andreev
bd7129d0d6
JS: fix non-abstract extension properties in interfaces
...
KT-20994
2017-11-03 17:29:44 +03:00
Pavel V. Talanov
9e061d3bbb
Fix light class exception on empty multifile facade
...
Fix generating multifile facade with all members private (in bytecode)
leading to delegate not being generated for corresponding light class
#KT-20966 Fixed
2017-11-03 16:44:53 +03:00
Alexey Sedunov
b20ffe76b7
Navigation: Support "Navigate/Related Symbol" for expects/actuals
...
#KT-20952 Fixed
2017-11-03 16:34:36 +03:00
Alexey Sedunov
b2e5e9dab5
Highlighting: Support implicit 'it' references
...
#KT-21002 Fixed
2017-11-03 16:34:36 +03:00
Alexey Sedunov
d1eaf444a6
Line markers: Do not show package in "Choose actual for" popup
...
#KT-20953 Fixed
2017-11-03 16:34:35 +03:00
Alexey Sedunov
327caa086b
Gradle: Do not rely on isQualifiedModuleNamesEnabled() to predict module name
...
IDEA 173 uses resolve-level setting to control naming of imported modules
#KT-20985 Fixed
2017-11-03 16:34:35 +03:00
Alexander Udalov
3ead2e9cd4
Use KotlinCoreEnvironment.createForTests in test code
...
createForProduction creates and caches JavaCoreApplicationEnvironment
instance, which can alter behavior of subsequent tests
2017-11-03 14:03:02 +01:00
Alexander Udalov
dddd1cdba5
Use JUnit 3 + KtUsefulTestCase instead of JUnit 4 in compiler tests
...
This is needed because KtUsefulTestCase performs useful cleanup at the
end of the test (namely, resets ApplicationManager#ourApplication to
null)
2017-11-03 14:03:02 +01:00
Alexander Udalov
3049b5d92f
Remove logging in KotlinSuppressCache.isSuppressedByAnnotated
...
It produces lots of useless output in stderr when tests are run with
Gradle in the terminal
2017-11-02 17:15:59 +01:00
Alexander Udalov
b43b470b8f
Move Java 8 tests generator to tests-java8, run it in "Generate Compiler Tests"
2017-11-02 17:13:05 +01:00
Alexander Udalov
f52ba44e90
Move JS tests generator to :js:js.tests, run it in "Generate Compiler Tests"
...
Also cleanup generateTestDataForReservedWords and make everything there
private
2017-11-02 17:12:46 +01:00
Alexander Udalov
8c6ed3e872
Generate IR tests in GenerateCompilerTests.kt
2017-11-02 17:12:46 +01:00
Ilya Gorbunov
61b78d7eda
Make projectTests type of dependency transitive on testRuntime dependencies
...
`tests-jar` configuration now extends testRuntime instead of testCompile
(note that testRuntime extends testCompile),
and projectTests() dependency shortcut makes it transitive.
This is required to depend on test utility modules producing `-tests` jar instead of default one
without listing all their transitive dependencies.
2017-11-02 18:19:52 +03:00
Ilya Gorbunov
3cfb1fd6a7
Simplify dependency setup for jvm6 codegen test server
2017-11-02 18:18:58 +03:00
Simon Ogorodnik
339d06d040
Improve diagnosticMissingPackageFragment reporting
...
Single execution path to report missing package fragment problems
Split failures on PluginDeclarationProviderFactory site by
known reasons to improve exception analysis
2017-11-02 16:31:43 +03:00
Alexander Udalov
56a51c1d22
Do not treat annotation classes as interfaces in bridges codegen
...
From Kotlin's point of view, everything in annotation classes is
non-abstract. A class inheriting from an annotation has a non-abstract
fake override for each property of the annotation class constructor. But
because members of annotation classes themselves were considered as
abstract in the bridge-generating code (see
DescriptorBasedFunctionHandle.isAbstract), there was a situation where a
concrete fake override has only one declaration among overridden
descriptors and it was abstract. This situation is invalid (a concrete
fake override must have exactly one concrete super-declaration),
therefore an exception was thrown.
The fix is to avoid considering annotation class members abstract for
the purposes of bridge generation. It's reasonably safe because no
bridges should be ever generated for annotation subclasses anyway,
because annotations can only have members with simple return types
(final and non-generic).
Note that in KT-19928, the problem is reproducible because of an
incorrect "inexact analysis" in light classes where "Target" is resolved
to an annotation class kotlin.annotation.Target. This behavior of the
analysis in light classes seems to do no harm otherwise, so it's not a
goal of this commit to change anything in that regard
#KT-19928 Fixed
2017-11-02 14:02:09 +01:00
Mikhail Glukhikh
8f98f00030
Explicit / implicit this: analyzeFully --> analyze
2017-11-02 14:07:57 +03:00
Mikhail Glukhikh
6a7cdc01a6
Fix 'this' case in implicit this inspection
2017-11-02 14:07:55 +03:00
Mikhail Glukhikh
64a51fe0d1
Implicit this inspection: minor cleanup
2017-11-02 14:07:46 +03:00
Kirill
89c4196c06
Add inspections for implicit and explicit 'this' #KT-4580 Fixed
2017-11-02 14:07:45 +03:00
Ilmir Usmanov
817f79520a
Implement coroutineContext intrinsic
...
This intrinsic allows coroutine to access its context without suspention
and, furthermore, disabling tail-call optimization.
KT-17609: Fixed
2017-11-02 12:45:24 +03:00
Toshiaki Kameyama
0fffb9fb17
Introduce inspection for callables with implicit 'Nothing?' type
...
Inspection is reported only for vars and open callables
So #KT-21023 Fixed
2017-11-02 12:21:14 +03:00
Mikhail Glukhikh
bcbeab00d5
Slightly change IntentionBasedInspection status
...
Only constructor and not the whole class is now deprecated
2017-11-02 12:21:13 +03:00
Toshiaki Kameyama
9ea9ea1008
Add quick fix to add required target to annotation #KT-20484 Fixed
2017-11-02 11:07:53 +03:00
Toshiaki Kameyama
204d9e3423
Introduce inspection detecting self-assignment of properties
...
So #KT-20714 Fixed
2017-11-02 11:07:52 +03:00
Vyacheslav Gerasimov
ffa9478d0c
Configure Kotlin: add mavenCentral() to repositories
...
Since kotlin stdlib depends on artifacts from mavenCentral() we should add it
#KT-18719 Fixed
2017-11-01 23:57:20 +03:00
Ilya Gorbunov
093f796fc7
Write compiler and stdlib versions from gradle build
2017-11-01 17:26:18 +03:00
Ilya Gorbunov
6fe299cd5b
Fix core:builtins:serialize task outputs
2017-11-01 17:09:10 +03:00
Ilya Gorbunov
be63f09f8f
Remove some workarounds for extra properties and signing,
...
use new syntax for maven repo definition.
2017-11-01 17:09:10 +03:00
Ilya Gorbunov
4d4285824b
Use Gradle 4.3
2017-11-01 17:09:10 +03:00
Dmitry Savvinov
e17610f378
Don't throw on recursion when computing member scope
...
When recursion is detected while computing
`ClassResolutionScopesSupport.scopeForMemberDeclarationResolution`,
create 'ThrowingLexicalScope' (as with other scopes), instead of
throwing ISE immediately. That allows to report error properly in cases
like in KT-18514
#KT-18514 Fixed
2017-11-01 15:57:56 +03:00
Simon Ogorodnik
d6143e2af6
Fix testData broken after KT-12797
2017-10-31 21:11:19 +03:00
Simon Ogorodnik
0a4860b4d7
Add instrumentation to locate not cleared MockApplication
2017-10-31 20:25:00 +03:00
Mikhail Glukhikh
f6a7327758
Remove ultimate tests from "Generate All Tests" configuration
2017-10-31 18:21:53 +03:00
Mikhail Glukhikh
50ebcfe09e
Test generator: return back forgotten convert line separators
2017-10-31 18:05:20 +03:00
Dmitry Petrov
c2b9803933
Generate source information for synthesized data class members
...
For now, bind such elements to data class declaration.
#KT-20443 Fixed
2017-10-31 17:34:32 +03:00
Dmitry Jemerov
44260cdc7c
Working recognition of JUnit annotation in MP tests
...
(cherry picked from commit 3a21781)
2017-10-31 14:45:09 +01:00
Alexander Udalov
2ed3e88561
Create descriptors with Kotlin package name in decompiler/cls stub builder
...
(cherry picked from commit b2620d1)
2017-10-31 14:44:52 +01:00
Dmitry Jemerov
f93f502ebe
Read package name in KotlinClassHeader and use it in decompiler
...
(cherry picked from commit 119d5ab)
2017-10-31 14:44:39 +01:00
Mikhail Glukhikh
d59276671f
Related to KT-20631: don't report redundant blank Unit in lambda
2017-10-31 16:38:55 +03:00
Toshiaki Kameyama
0fd4cdb086
Fix false positive for "redundant super" in data class #KT-20981 Fixed
2017-10-31 15:15:19 +03:00
Mikhail Glukhikh
63ad89eeb0
Minor cleanup
2017-10-31 15:03:55 +03:00
Toshiaki Kameyama
ef71f7707d
Introduce inspection to detect use of Unit as a standalone expression
...
So #KT-20631 Fixed
2017-10-31 14:51:06 +03:00
Toshiaki Kameyama
5f4233e4bf
Don't suggest "Remove explicit type specification" for an annotated type
...
So #KT-20622 Fixed
2017-10-31 14:37:36 +03:00
Alexander Udalov
fbda2a4343
Do not use MockLibraryUtil in AbstractTopLevelMembersInvocationTest
...
MockLibraryUtil runs the compiler in the new class loader, which is
useful for IDE tests to avoid loading KotlinCoreEnvironment, but is not
needed and is suboptimal for compiler tests.
Also use another method in AbstractForeignAnnotationsTest to assert that
there are no files in the compiled libraries
2017-10-31 07:36:46 +01:00
Alexander Udalov
a64fc10e94
Extract compiler-executing code in AbstractCliTest to CompilerTestUtil
2017-10-31 07:36:46 +01:00
Alexander Udalov
8695c6a1e4
Extract GenerateCompilerTests out of GenerateTests
...
Rename the run configuration "Generate Tests" -> "Generate All Tests"
2017-10-31 07:36:46 +01:00
Alexander Udalov
d0274c3c53
Extract 'test-generator' module out of 'generators'
...
Also avoid using intellij API where kotlin-stdlib can be used instead
2017-10-31 07:36:45 +01:00
Alexander Udalov
d79b571781
Rename ultimate's GenerateTests -> GenerateUltimateTests, regenerate
2017-10-31 07:36:45 +01:00
Alexander Udalov
8786c951a6
Move compiler/tests-common-jvm6/{src -> tests}, adjust dependencies
2017-10-31 07:36:45 +01:00
Alexander Udalov
33549362cb
Move compiler/tests-common/{src -> tests}, adjust dependencies
2017-10-31 07:36:45 +01:00
Alexander Udalov
c2276e2ccb
Rename module ':compiler.tests-common' -> ':compiler:tests-common'
2017-10-31 07:36:45 +01:00
Alexander Udalov
ef00807a18
Refactor test class name computation in GenerateTests
...
Allow to pass the FQ name of the base test class, instead of the Class
object (to avoid dependencies on other modules)
2017-10-31 07:36:45 +01:00
Dmitry Jemerov
c009f94eea
Restore task dependency which is needed to run the plugin correctly
2017-10-31 02:48:18 +01:00
Alexander Udalov
959299eeab
Use project.findProperty instead of project.property where nullable is fine
...
findProperty throws MissingPropertyException if there's no such property
2017-10-30 15:53:06 +01:00
Alexander Udalov
ccd7bfa337
Add project property to change port for codegen tests on different JDKs
2017-10-30 15:40:17 +01:00
Alexander Udalov
152bcda2c8
Regenerate gradle/project-schema.json
2017-10-30 15:39:53 +01:00
Alexander Udalov
dfd24d166c
Update bootstrap to 1.2.0-dev-439
2017-10-30 15:38:38 +01:00
Simon Ogorodnik
213ce01152
Update testData for completion, broken after KT-13220
2017-10-30 17:31:15 +03:00
Ilya Gorbunov
f878fa69c1
Android codegen tests: fix android SDK path in local.properties
...
The path should have slashes instead of backslashes even on Windows.
2017-10-30 16:48:39 +03:00
Ilya Gorbunov
1af692c957
Code style settings format changed in IDEA 173
2017-10-30 16:46:24 +03:00
Dmitry Petrov
cbef372e69
Recapture shared variables when calling local class constructor
...
When a local function or class A creates an instance of a local class B
capturing an outer variable 'x', it should use ref for 'x', but not the
value of 'x'.
2017-10-30 15:19:13 +03:00
Dmitry Petrov
7a156e4407
Give unique names to fields for captured local functions
...
When a local function is captured, corresponding field accesses are
later transformed by the inliner. It doesn't have enough information to
restore the original semantics completely, so it has to rely on field
names. Local functions can be overloaded or can have names matching
local variable names, in both cases we generated fields with the same
name for captured values.
Now, we use the same '$<local-class-number>' suffix for field names for
local functions as it is present in the corresponding local class name.
This allows to distinguish captured local functions from captured local
variables and between different overloads of a function with the same
name.
#KT-19827 Fixed
#KT-18639 Fixed
2017-10-30 15:19:13 +03:00
Dmitry Petrov
da99a100cc
Additional constructor call normalization tests
2017-10-30 15:19:13 +03:00
Mikhail Glukhikh
149daa173c
Do not report "unused receiver" on operator and infix functions
...
So #KT-16340 Fixed
2017-10-30 15:07:39 +03:00
Alexander Udalov
54990e16c1
Report error if tools.jar is not found in javac-wrapper
2017-10-30 12:36:55 +01:00
Mikhail Glukhikh
561d7749b1
Choose implementing module correctly in "create actual fix"
...
Take implements / expectedBy dependency into account
So #KT-20803 Fixed
2017-10-30 14:13:10 +03:00
Mikhail Glukhikh
f0da58531e
Enhance AbstractQuickFixMultiModuleTest
...
Handle same files at different source roots correctly
2017-10-30 14:12:27 +03:00
Mikhail Glukhikh
cfd432614f
Cleanup: QuickFixMultiModuleTest
2017-10-30 14:12:25 +03:00
Mikhail Glukhikh
64dbe07fdb
Cleanup: UnusedReceiverParameterInspection
2017-10-30 14:12:16 +03:00
Alexey Andreev
1f643ddce8
JS: add test to prove that KT-11910 is not reproducible anymore
2017-10-30 13:12:12 +03:00
Alexey Andreev
6b43465ed8
JS: add tests to check if super.equals/hashCode works properly
...
See KT-8226
2017-10-30 13:12:10 +03:00
Alexey Andreev
e9e01b70a8
JS: fix super access to simple non-overridable properties
...
See KT-7653
2017-10-30 13:12:09 +03:00
Alexey Andreev
e488cf13ad
JS: fix FE crashing when type argument count less than parameter count
...
See KT-20908
2017-10-30 13:10:35 +03:00
Alexey Andreev
a6e98c30d7
JS: fix crash when js function contains assignment with bad LHS
...
Fix KT-20905
2017-10-30 13:08:35 +03:00
Nicolay Mitropolsky
a11cf253df
UAST: correct processing of string literals in string literals (KT-20990)
2017-10-30 11:29:51 +03:00
Yoshinori Isogai
11f9c055fd
KT-20591: Show annotations in parameter info ( #1358 )
...
Show annotations in parameter info
#KT-20591 Fixed
2017-10-27 22:59:04 +03:00
Alexander Udalov
2c4e023cba
Minor, use extracted variable in LateinitIntrinsics.kt
2017-10-27 18:06:43 +02:00
Nikolay Krasko
d75656d571
Additional tests for overloads with type aliases and suspend
...
Failed attempts to reproduce KT-20782, but still may be useful.
2017-10-27 15:09:52 +03:00
Nikolay Krasko
2d7fe98e55
Don't resort deserialized descriptors based on renderer, preserve proto order
...
Use only names and types for sorting. Otherwise if deserialized descriptor
is rendered different from origin we might get Psi-Stub mismatch error.
Use the original proto order for declarations with same name and kind.
#KT-20782 Fixed
#EA-109887 Fixed
2017-10-27 15:09:04 +03:00
Nikolay Krasko
1408c4bd44
Fix testdata for ParcelQuickFixTestGenerated
2017-10-27 14:56:03 +03:00
Nikolay Krasko
3186c31ba7
Initialize delegate runner before access in filter method
2017-10-27 14:56:02 +03:00
Denis Zharkov
2df4d9496a
Fix incorrect UNINITIALIZED_ENUM_COMPANION diagnostic
...
#KT-20959 Fixed
2017-10-27 09:36:00 +03:00
Sergey Ryabov
b3b08514c5
Use consistent explicit FileTreeWalk named parameters
2017-10-27 05:38:43 +03:00
Artem Zinnatullin
b565b00930
Fix Gradle plugin task name in readme.
2017-10-27 02:55:44 +03:00
Sergey Ryabov
d6504d82b7
Fix the doc for String.format and String.Companion.format
2017-10-27 02:53:09 +03:00
Ilya Zorin
5541634187
Explicitly set utf-8 encoding for JavaCompile tasks
2017-10-26 21:34:50 +03:00
Ilya Gorbunov
e8e09dbbf8
Various improvements in collection samples #KT-20357
...
Merge some related samples,
add sample for building a sequence from Enumeration similar to building a list from Enumeration.
2017-10-26 21:28:47 +03:00
Alexey Belkov
72354559e5
Provide samples for list, collection and array related functions #KT-20357
2017-10-26 21:28:47 +03:00
Alexey Sedunov
97332aaeea
MPP: Support Mocha/Protractor run configuration for common modules
...
This is useful when they are implemented by JavaScript modules
2017-10-26 20:59:40 +03:00
Alexey Sedunov
3319fdba6d
Gradle: Import test output path for JavaScript modules
2017-10-26 20:59:40 +03:00
Nikolay Krasko
ef274ad43b
Don't build light classes when usages in Kotlin local scope requested
2017-10-26 17:58:07 +03:00
Nikolay Krasko
189e2506d1
Refactoring: extract isOnlyKotlinSearch function
2017-10-26 17:58:06 +03:00
Nikolay Krasko
55996fa43d
Minor: extract scope initialization out of cycle
2017-10-26 17:58:05 +03:00
Dmitry Petrov
28535a57d8
Fix issues with enum entry self-reference
...
Given a singleton class 'S' with possibly uninitialized static instance
(enum entry, interface companion object).
Such singleton can be referenced by name, or as an explicit or implicit
'this'.
For a given singleton class 'S' we
either use 'this@S' from context (local or captured),
or 'S' as a static instance.
Local or captured 'this@S' should be used if:
- we are in the constructor for 'S',
and corresponding instance is initialized
by super or delegating constructor call;
- we are in any other member of 'S' or any of its inner classes.
Otherwise, a static instance should be used.
2017-10-26 16:11:58 +03:00
Dmitry Jemerov
dd9f12d2e5
Removed dependencies on removed tasks
2017-10-26 14:23:56 +02:00
Dmitry Jemerov
a1949e1d53
Add formatting rule for array literals
...
#KT-19599 Fixed
2017-10-26 14:10:12 +02:00
Nikolay Krasko
6420f50f2e
Fix accessing nullable location() method
2017-10-26 13:15:51 +03:00
Ilya Gorbunov
3fe2298855
Do not run android codegen tests with plugin, introduce a separate task
2017-10-25 21:37:24 +03:00
Ilya Gorbunov
6c5d78d8d5
Remove deprecated build tasks
2017-10-25 21:37:24 +03:00
Ilya Gorbunov
ace9d0da94
Finalize math function parameter names
...
#KT-4900
2017-10-25 21:30:03 +03:00
Alexey Andreev
bbcf4f7caf
JS: raise metadata version due to incompatible changes in 1.2 runtime
2017-10-25 20:18:04 +03:00
Alexey Andreev
85945e0a6d
JS: add getFunctionById intrinsic
2017-10-25 20:18:04 +03:00
Alexey Andreev
aae67e154a
JS: add intrinsic for !!. Use it instead of ternary conditionals
...
See KT-2976
2017-10-25 20:18:03 +03:00
Simon Ogorodnik
8631e898a7
KT-12797: Fix completion to show inner classes from base class
...
#KT-12797 fixed
2017-10-25 18:07:37 +03:00
Simon Ogorodnik
5778ace6b0
KT-20166: Replace type name when caret is at the end of param name
...
When caret is at the end ('f<caret>: Foo'), tokenAt was COLON,
not IDENTIFIER
#KT-20166 fixed
2017-10-25 18:07:01 +03:00
Simon Ogorodnik
d12f5c79a1
KT-20506: Fix completion suggests the same value recursively
...
Check for excludeNonInitializedVariable via PSI, not by
descriptors equality, because of bindingContext caching
#KT-20506 fixed
2017-10-25 18:05:46 +03:00
Simon Ogorodnik
cf160b5a07
Cleaner way to insert whitespace in doc comment
2017-10-25 17:54:48 +03:00
Simon Ogorodnik
98310d3bdb
KT-20884: Support receiver reference in KDoc comments
...
#KT-20884 fixed
2017-10-25 17:54:47 +03:00
Simon Ogorodnik
94e39a4c6c
KT-20888: Do not report missing documentation when inherit from lib
...
Find KDoc using DescriptorToSourceUtilsIde when required
#KT-20888 fixed
2017-10-25 17:54:46 +03:00
Simon Ogorodnik
fb876e398c
Correctly detect visibility in KDocMissingDocumentationInspection
...
#KT-20887 fixed
#KT-20889 fixed
2017-10-25 17:54:45 +03:00
Simon Ogorodnik
f21e1c60e0
KT-20883: Add more details to MissingDocumentationInspection message
...
#KT-20883 fixed
2017-10-25 17:54:43 +03:00
Simon Ogorodnik
d28e9fd22d
KT-20880: Fix AddDocumentationFix to add multiline comment
...
#KT-20880 fixed
2017-10-25 17:54:42 +03:00
Denis Zharkov
be630f93dd
Postpone full resolution for a candidate known to be failed
...
It's necessary for performance, because there are some resolution
parts that actually can be omitted and at the same time they aren't
very cheap (like inference or value arguments types checking)
2017-10-25 16:33:04 +03:00
Nikolay Krasko
6a43743c98
Configure new projects with kotlin-stdlib-jdk7/8 (KT-20286)
...
No migration for old projects has been added yet.
#KT-20286 Fixed
2017-10-25 15:01:10 +03:00
Pavel V. Talanov
b7b3caedcc
IDELightClassContexts: fix light member mismatch on InlineOnly members
2017-10-25 14:48:32 +03:00
Mikhael Bogdanov
54d1a85430
Disable 'apiVersionAtLeast1.kt' test on Android
2017-10-25 13:43:48 +02:00
Mikhael Bogdanov
33c0e16b83
Disable some test on Android
2017-10-25 12:26:41 +02:00
Alexander Udalov
e73760d4ff
Fix test data for empty LHS vs isInitialized
...
Ignore the "property imported from object" part on JS
2017-10-25 12:10:10 +02:00
Dmitry Petrov
42945d33ee
Use !LANGUAGE directive in tests for enhanced nullability
2017-10-25 12:30:32 +03:00
Dmitry Petrov
706a3698ec
Add box tests for new nullability assertions
2017-10-25 12:30:32 +03:00
Dmitry Petrov
2a7d555be4
Minor: move nullability assertion tests javaInterop/notNullAssertions
2017-10-25 12:30:32 +03:00
Dmitry Petrov
57602c420d
Sanitize declaration return types
...
On JVM, strip @EnhancedNullability annotation from inferred types for
functions, properties, and local variables, so that these annotations
do not "escape" from Kotlin declarations.
2017-10-25 12:30:32 +03:00
Dmitry Petrov
2b924f44d8
Generate assertions for expressions with enhanced nullability
...
If an expression with type annotated with @EnhancedNullability is used
as a function expression body, or property initializer, or variable
initializer, and corresponding type can not contain null,
generate nullability assertions for this expression.
2017-10-25 12:30:32 +03:00
Dmitry Petrov
6c47b4a39c
Language feature for nullability assertions on enhanced nullability
2017-10-25 12:30:32 +03:00
Alexey Tsvetkov
313cd4f7bc
Turn off IC for multiplatform projects by default
...
Multiplatform IC is enabled when a corresponding platform property is enabled
and 'kotlin.incremental.multiplatform' is set to `true`.
See KT-20840
2017-10-25 01:12:34 +03:00
Ilya Chernikov
caca7c67f4
Fix "base" jar and "public" jar tasks archive name conflict
...
fixes KT-20877
2017-10-24 20:28:54 +02:00
Ilya Gorbunov
b88d74d29b
Remove annotation processor example from maven build
...
It is already built with gradle and used only in gradle tests
2017-10-24 20:35:53 +03:00
Ilya Gorbunov
f456fa9697
Adjust gradle jvmargs
...
Remove memory options for gradle daemon and instead give more memory to kotlin compile daemon.
2017-10-24 20:35:50 +03:00
Ilya Gorbunov
97cf09b45a
Do not fail build on TC when some tests fail, just report problem
...
Required to have green builds with failing tests muted.
2017-10-24 20:35:47 +03:00
Ilya Gorbunov
84c0e8dfb4
Enable coroutines in kotlin-stdlib-common
2017-10-24 20:35:43 +03:00
Ilya Gorbunov
40574949c7
Postpone some task configuration to execution phase
2017-10-24 19:59:45 +03:00
Ilya Gorbunov
b1dcab886b
Remove deprecated task
2017-10-24 19:59:45 +03:00
Ilya Gorbunov
25988957f7
Remove duplicated string-to-number conversion tests
...
Actual ones are in StringNumberConversionTest.kt
2017-10-24 19:59:45 +03:00
Vyacheslav Gerasimov
b27334d2a0
Remove GradleProjectImportProvider and GradleProjectOpenProcessor
2017-10-24 19:50:19 +03:00
Nicolay Mitropolsky
1fa5152cb7
UAST: Fix for unsafe cast for class initializer (EA-109918)
2017-10-24 19:39:38 +03:00
Alexander Udalov
1a8be635b9
Use ServiceLoader instead of IntelliJ extensions for DefaultErrorMessages
...
#KT-10473 Fixed
2017-10-24 18:25:38 +02:00
Alexander Udalov
1c6dce3674
Do not use DefaultErrorMessages.Extension as IntelliJ extension in plugins
2017-10-24 18:22:04 +02:00
Alexander Udalov
58631053c7
Fix project scope "IDE" after migration to Gradle build
...
See https://www.jetbrains.com/help/idea/scope-language-syntax-reference.html
2017-10-24 18:22:04 +02:00
Alexey Tsvetkov
e83f1b138b
Perform non-IC build when JS lib is changed
2017-10-24 16:28:57 +03:00
Mikhael Bogdanov
be6474593d
Additionally run android tests with enabled D8
2017-10-24 15:26:21 +02:00
Mikhael Bogdanov
dd24ba6978
Convert CodegenTestsOnAndroidRunner to Kotlin
2017-10-24 15:26:21 +02:00
Mikhael Bogdanov
37300f7486
Rename CodegenTestsOnAndroidRunner.java to CodegenTestsOnAndroidRunner.kt
2017-10-24 15:26:20 +02:00
Mikhael Bogdanov
6f5d459e09
Reorganize build logic in AndroidTestGenerator.kt
2017-10-24 15:26:20 +02:00
Mikhael Bogdanov
e151b8f641
Update Android tests
2017-10-24 15:26:19 +02:00
Dmitry Jemerov
499cfb5772
Show "No SDK configured" notification only in JVM modules
2017-10-24 14:52:12 +02:00
Alexey Sedunov
8a9e28afdc
Kotlin Facet: Ensure that API version <= language version after import
...
#KT-20603 Fixed
2017-10-24 15:43:52 +03:00
Alexey Sedunov
840825704a
Misc: Skip duplicates in navigation tests
2017-10-24 15:43:52 +03:00
Alexey Sedunov
4cc1e22a5a
Misc: Support light-methodless members in overrider search
...
In particular, support line markers for expect-class members
and navigation to expect-class members from corresponding base members
2017-10-24 15:43:51 +03:00
Alexey Sedunov
17abce2811
Misc: Support light-classless classes in inheritors search
...
In particular, support line markers for expect-classes
and navigation to expect-classes from their base class
#KT-20329 Fixed
2017-10-24 15:43:51 +03:00
Alexey Sedunov
87f3d24f9b
Misc: Protect freeArgs with FreezableVar
2017-10-24 15:43:51 +03:00
Alexey Sedunov
fa4e4cbb42
Formatter: Insert new line before/after type alias
...
#KT-20766 Fixed
2017-10-24 15:43:51 +03:00
Dmitry Petrov
f23dfdc0ac
Mark operands of POP2 as don't touch in unused expression elimination
...
Fixes KT-20879.
2017-10-24 15:38:15 +03:00
Dmitry Jemerov
537600b3b3
Add dependency to kotlin-test-annotations-common to new MP projects
...
#KT-20833 Fixed
2017-10-24 14:18:34 +02:00
shiraji
d51fa6d87e
Add description for MoveMemberToTopLevelIntention
2017-10-24 14:33:55 +03:00
Alexander Udalov
bafc75ade4
Fix isInitialized receiver generation for empty LHS
...
#KT-20774 Fixed
2017-10-24 11:26:01 +02:00
Mikhail Zarechenskiy
73b3efd628
Remove LANGUAGE_VERSION directive from blackBox codegen tests
2017-10-24 11:44:02 +03:00
Mikhail Zarechenskiy
7a934d74e5
Support !LANGUAGE directive in codegen tests
...
LANGUAGE_VERSION directive will be removed later, for now it's left for simplicity
2017-10-24 11:44:02 +03:00
Mikhail Glukhikh
1ed8aa1cc5
Drop CheckPartialBodyResolveAction
2017-10-24 10:06:09 +03:00
Mikhail Glukhikh
5a6f22cc95
Make editor in SelfTargetingIntention.invoke nullable
...
This prevents EA-105844 from happening.
Should fix KT-20899.
2017-10-24 10:05:10 +03:00
Dmitry Petrov
68870a16bb
Remove CLI help on 'preserve-class-initialization' mode
...
See https://youtrack.jetbrains.com/issue/KT-19532#comment=27-2492178
2017-10-24 09:36:56 +03:00
Ilya Gorbunov
75c8b787c2
Fix maven tests
...
- Add required extra dependencies to install to local repo before test.
- Remove expected warning about runtime bundled into compiler because it is no more.
- Fix basedir reference in kapt-allopen test.
- Fix reflection tests after deprecated members removal.
2017-10-23 21:23:36 +03:00
Ilya Gorbunov
25feb23cfa
Update maven-invoker-plugin to deal with missing mvn.bat in maven 3.3
2017-10-23 21:23:13 +03:00
Alexander Udalov
f2be34ca1c
Support KClass<*> annotation arguments in serialization/deserialization
...
#KT-11586 Fixed
2017-10-23 19:16:44 +02:00
Mikhail Glukhikh
d0e8f99d60
ResolveElementCache: script can now be analyzable parent
...
So #KT-20096 Fixed
2017-10-23 19:19:04 +03:00
Simon Ogorodnik
cace6624e6
EA-105522, KT-20256: Fix TextRange.<init> "Invalid range specified"
...
Check when caret inside template, and don't try to create invalid
range then
EA-105522 fixed
#KT-20256 fixed
2017-10-23 17:32:39 +03:00
shiraji
31a1fb916a
Implement an intention action to move a companion object member to top level
...
#KT-18828 Fixed
(cherry picked from commit 11f8f8b)
2017-10-23 17:29:28 +03:00
shiraji
7044e46756
Refactor common move member methods
...
(cherry picked from commit 2dd8148)
2017-10-23 17:29:27 +03:00
Alexey Andreev
6adb62f3a2
JS: prohibit declaration names that clash with JS builtin functions
...
See KT-18095, KT-17475, KT-18105, KT-5259
2017-10-23 17:19:52 +03:00
Alexey Andreev
e0eea15a4c
Fix JS tests failing on Windows
2017-10-23 17:19:51 +03:00
Alexey Andreev
e1f8bac4d5
JS: several bugfixes in incremental compilation
...
1. Fix exported packages sometimes being mixed up
2. Fix metadata losing package fragments sometimes
3. Don't serialize empty packages to .meta.js
4. Preserve order of package fragments in .meta.js
5. In IC tests, compare textual representation of metadata rather
than binary representation
2017-10-23 17:19:51 +03:00
Alexey Andreev
2fbecfdd9c
Support generation of relative path in JS source maps in JPS builder
...
See KT-20820
2017-10-23 17:19:50 +03:00
Alexey Andreev
cb0482f53e
JS: fix crash when js function contains for statement w/o initializer
...
Fix KT-20898
2017-10-23 17:19:49 +03:00
Alexey Andreev
d9d565d8b0
JS: use 'external' word instead of 'native' in diagnostic messages
...
See KT-20639
2017-10-23 17:19:48 +03:00
Nicolay Mitropolsky
8a34c48d56
AbstractUastTest: findUElementByTextFromPsi refactored for readability
2017-10-23 16:44:43 +03:00
Nicolay Mitropolsky
8e17bab56f
UastKotlinPsiVariable: factory methods reformatting
2017-10-23 16:44:43 +03:00
Dmitry Jemerov
81615fa551
Correctly propagate dependencies in multiplatform projects with Android
2017-10-23 14:59:56 +02:00
Dmitry Jemerov
cc85ac44b3
Rename KotlinPlatformGradleDetector to KotlinGradleModelFacade
2017-10-23 14:59:56 +02:00
Dmitry Jemerov
f589c9baf0
Ignore "module per source set" option in Android projects
2017-10-23 14:59:56 +02:00
Dmitry Jemerov
14a30e09c6
Use binary path instead of name to locate libraries from Android deps
2017-10-23 14:59:56 +02:00
Toshiaki Kameyama
e76d8bc793
"Convert object literal to class" should create inner class if necessary #KT-20091 Fixed
2017-10-23 15:02:51 +03:00
Nicolay Mitropolsky
299a4b7f69
UAST: Fix for unsafe cast for annotation (EA-109738)
2017-10-23 10:57:00 +03:00
Nicolay Mitropolsky
c5fa7fb217
UAST: tests utils for bottom-top finding UElements moved to AbstractUastTest.kt
2017-10-23 10:57:00 +03:00
Zalim Bashorov
f9809d5a73
Minor: replace IGNORE_BACKEND with TARGET_BACKEND for the test what should be run only on JVM
...
The test was written to check the case for Platform Types which now exists only on JVM.
2017-10-20 21:02:10 +03:00
nickl
6a659f33b5
UastKotlinPsiVariable psiParent made lazy to eliminate recursion when building UAST parents
2017-10-20 19:46:49 +03:00
Anton Bannykh
b2e53644a5
JPS JS: fix friend path detection in projects imported from Gradle (KT-18963 fixed)
2017-10-20 19:16:14 +03:00
Mikhail Glukhikh
739b21f519
Introduce "add missing actual members" quick-fix #KT-18449 Fixed
2017-10-20 17:24:19 +03:00
Mikhail Glukhikh
1b0421d27b
Fix search scope during inlining #KT-20251 Fixed
...
Do not use KotlinSourceFilterScope because build scripts are lost otherwise
2017-10-20 16:00:52 +03:00
Mikhail Glukhikh
26c1aec5df
Related to DSGN-4505: change expect / actual icons to the new ones
2017-10-20 15:16:04 +03:00
Mikhail Glukhikh
4b8c04a3d6
Minor: fix typo
2017-10-20 15:16:03 +03:00
Toshiaki Kameyama
fa03632197
Convert lambda to reference: handle named arguments more precisely
...
For trailing lambda intention inserts parameter names for all arguments
if at least one argument used default value.
Otherwise it just keeps existing named arguments.
So #KT-20349 Fixed
2017-10-20 13:57:58 +03:00
Kirill Rakhman
4c4427c280
Replace return@forEach with continue in ConvertForEachToForLoopIntention
...
So #KT-17332 Fixed
2017-10-20 13:44:31 +03:00
Denis Zharkov
da52716bfd
Fix wrong nullability enhancement for annotated java.lang.Object type
...
Effectively, this commit drops cached value for j.l.Object type
This cache was introduced when types were immutable, but they
became mutable after starting reading top-level TYPE_USE annotations,
that lead to changing shared JAVA_LANG_OBJECT_CLASSIFIER_TYPE instance
#KT-20826 Fixed
2017-10-20 09:43:38 +03:00
Alexey Tsvetkov
3c9ef6d319
Compile kotlin-android-extensions-runtime for JDK 1.6
2017-10-20 00:02:46 +03:00
Sergey Igushkin
b921eb5cc9
Fix null returned from listFiles and not handled correctly.
...
(cherry picked from commit 8147ae8)
2017-10-19 23:30:15 +03:00
Anton Bannykh
e90c914802
JS: add kotlin-test testCompile dependency to JS module generated by multiplatform wizard (KT-20346, KT-20831, KT-20832 fixed)
2017-10-19 18:32:24 +03:00
Dmitry Savvinov
5b9b8778b5
Minor: rename 'mapToPlatformClasses' -> 'mapToPlatformIndependentClasses'
2017-10-19 18:21:56 +03:00
Dmitry Savvinov
58b815d842
Fix false USELESS_CAST in function with expression body
...
Note that current behaviour is made similar to the case with
properties initializers/accessors, which means that more complex
cases are not covered yet (see KT-20801) #KT-20802 fixed.
2017-10-19 18:21:56 +03:00
Dmitry Savvinov
a1778a7da8
Fix CAST_NEVER_SUCCEEDS when casting Nothing to some type
2017-10-19 18:21:56 +03:00
Nikolay Krasko
bd2fd1758f
Use CompilerPathsEx.getOutputPaths for getting the full list of output dirs (KT-20789)
...
CompilerPathsEx.getOutputPaths isn't using OrderEnumerationHandler extension
so far and works badly when delegating runnners to gradle is enabled.
#KT-20789 Fixed
2017-10-19 17:43:36 +03:00
Kartik Patodi
dc6c19d7ef
Normalize files that are gotten from FileUtil.createTempDirectory
...
It's required to avoid getting different paths inside tools (compiler, ant etc) and in tests.
2017-10-19 16:12:13 +03:00
Ilya Chernikov
5284db8088
Add compiler proguard rule for keeping ProgressManager used in webdemo
2017-10-19 13:55:00 +02:00
Sergey Mashkov
fd12bd904b
KT-20822 Maven: import multiplatform projects properly
2017-10-19 13:29:26 +03:00
Alexey Andreev
b781661279
JS: fix copying functions with default arguments across interfaces
...
Copy function to super interface first, then copy from interface
to class. Add interface set to JsClassModel for this purpose.
See KT-20625
2017-10-19 13:10:47 +03:00
Alexey Andreev
d4ea4983d8
JS: support integer overflow semantics for unary minus operator
...
See KT-19290
2017-10-19 12:59:09 +03:00
Dmitry Petrov
f25a5b5177
Use -Xnormalize-constructor-calls=enable for Kotlin/JVM compilation only
2017-10-19 11:17:56 +03:00
Simon Ogorodnik
7a991ddc25
KT-13220: Add completion for variable names
...
Using parameter name completion
#KT-13220 fixed
2017-10-18 19:11:13 +03:00
Alexey Sedunov
e65adeb029
Misc: Fix quickfix test data
2017-10-18 18:17:50 +03:00
Alexey Sedunov
b8fb002a8f
Misc: Update keyword completion test data
...
It reflects top-level lateinit variables available since 1.2
2017-10-18 18:17:50 +03:00
Alexey Sedunov
d89a946c5a
Misc: Update default language version in Maven import test
2017-10-18 18:17:50 +03:00
Alexey Sedunov
d6ee9c9068
Misc: Update member hierarchy test data to include new stdlib classes
2017-10-18 18:17:50 +03:00
Alexey Sedunov
83b10403d7
Misc: Drop test for implementing abstract members in expect-class
...
The "not implemented" error is not reported for such classes, so
quick fix is not available anymore (see KT-16099)
2017-10-18 18:17:50 +03:00
Alexey Sedunov
997aa12bcc
Misc: Update configuration test data
2017-10-18 18:17:50 +03:00
Alexey Sedunov
2883a92b93
Create from Usage: Work around type renaming
...
This fixes test failure after changes in KotlinTypeFactory
2017-10-18 18:17:49 +03:00
Alexander Udalov
6820509f83
Regenerate gradle/project-schema.json
2017-10-18 12:48:16 +02:00
Alexander Udalov
6e410cb182
Make TypeConstructor.isFinal return false for enums
...
The reason is that before dc02b2e3ab and 8a0dcca957 ,
TypeConstructor.isFinal for some class descriptors
(DeserializedClassDescriptor, LazyJavaClassDescriptor,
MutableClassDescriptor) were implemented as `isFinalClass` (which is
`modality == FINAL && kind != ENUM_CLASS`), and all others as
`modality == FINAL` or simply true/false. This led to differences in
behavior depending on the exact instance of the class descriptor.
Now that TypeConstructor.isFinal is always `modality == FINAL`, some
tests (PseudoValueTestGenerated) fail because the finality of some type
constructors changed and these tests render final vs non-final type
constructors differently.
In this commit, TypeConstructor.isFinal is now made to behave safer,
i.e. considering enum class type constructor to be non-final (as was the
case earlier for some ClassDescriptor instances). Some diagnostics might
disappear (e.g. FINAL_UPPER_BOUND) but it doesn't look like a big deal
2017-10-18 12:45:45 +02:00
Alexander Udalov
825aff7ac6
Minor, do not produce trailing spaces in AbstractPseudoValueTest
2017-10-18 12:45:45 +02:00
Pavel V. Talanov
320c5f6f3a
Try to approximate "build.gradle.kts" script dependencies on first access
...
This is a hacky solution to prevent whole file being highlighted as unresolved while we wait for gradle response
2017-10-17 18:49:48 +03:00
Pavel V. Talanov
1cdac78b32
ScriptDependenciesCache, refactor: use delegated properties
2017-10-17 18:49:40 +03:00
Alexey Tsvetkov
896dacc835
Fix android extensions maven dependencies
...
`kotlin-android-extensions-runtime` and `kotlin-android-extensions-compiler`
had `com.google.android:android` as a provided dependency, but
during transition to Kotlin Gradle build the dependency was declared
as `runtime` instead of `compileOnly`.
2017-10-17 18:35:28 +03:00
Ilya Gorbunov
eaa3b3ccf0
Enable publishing for kotlin-annotations-android
2017-10-17 17:32:22 +03:00
Stanislav Erokhin
0a2421d453
Disable annotation processor for javac by default in whole project
2017-10-17 17:25:25 +03:00
Sergey Igushkin
d453a2fc92
Use runtimeJar configuration instead of default for plugin markers.
2017-10-17 14:37:11 +03:00
Andrey Breslav
a0da37fd41
Fix the description file
2017-10-17 12:13:22 +02:00
Anton Bannykh
f92c4b7704
Fixed indentation
2017-10-17 13:04:35 +03:00
Anton Bannykh
6d6ce7cbab
JS: publish to NPM sourcemaps and *.kjsm files
2017-10-17 13:04:35 +03:00
Nikolay Krasko
6804409fc5
Fix idea version to 2017.2.5 (172.4343.14)
2017-10-17 12:33:01 +03:00
Nikolay Krasko
0ce4873312
Extract variable for idea download
2017-10-17 12:33:01 +03:00
Nikolay Krasko
c4e3cc0705
Add read action for getting text
...
Fix "Read access is allowed... exception"
2017-10-17 12:33:01 +03:00
Nikolay Krasko
339b1a3895
Minor: cleanup
2017-10-17 12:33:01 +03:00
Nikolay Krasko
3fda173ced
TypeDeclarationProvider should return null for irrelevant symbols
...
Otherwise other providers won't be checked.
2017-10-17 12:33:01 +03:00
Alexey Sedunov
9fe0681fb6
MPP: Fix implementing module search in Gradle runner
2017-10-16 23:55:28 +03:00
Alexey Sedunov
db34bae05b
Gradle: Support 'expectedBy' configuration
2017-10-16 23:55:28 +03:00
Alexey Sedunov
a2a8335bab
Gradle: Add dependencies for indirectly implemented modules
...
#KT-16926 Fixed
2017-10-16 23:55:28 +03:00
Sergey Igushkin
0a808528b7
Fix missing ReflectUtil, call the ctor through reflection manually.
2017-10-16 21:48:38 +02:00
Sergey Igushkin
e94e62be98
Add android-extensions-compiler content to kotlin-android-extensions
2017-10-16 21:48:36 +02:00
Ilya Chernikov
431d47a605
Fix dependencies rewriting and gradle integration tests after applying rewriting
2017-10-16 21:48:36 +02:00
Ilya Chernikov
050403d15b
Use rewriteDeps task on the projects with runtime dependency on embeddable compiler...
...
which are using shaded dependencies
2017-10-16 21:48:35 +02:00
Ilya Chernikov
fb70227868
Move embeddable compiler shading logic to buildSrc, implement rewriteDeps task
...
the task takes a jar an a shading task (like the one that creates embeddable
compiler) and rewrites jar's dependencies to the shaded ones according the
the shade task.
2017-10-16 21:48:34 +02:00
Ilya Chernikov
5babf89245
Remove original jar artifact from archives when adding a new one by runtimeJar tasks
2017-10-16 21:48:33 +02:00
Yan Zhulanow
6fb1e269b4
Minor: Fix build, add missing Android library dependency JARs
2017-10-16 22:43:09 +03:00
Yan Zhulanow
43a1162b25
Evaluate: Fix for evaluating local variables captured by an inline function (KT-17514)
2017-10-16 21:25:44 +03:00
Yan Zhulanow
fed5bddde2
Android Extensions: Initial IC support (KT-14125)
2017-10-16 21:25:42 +03:00
Yan Zhulanow
1b5b9f1fbb
Kapt: Support 'correctErrorTypes' in annotations (KT-19518)
2017-10-16 21:25:41 +03:00
Yan Zhulanow
91ed130286
Add additional diagnostic for EA-107110
2017-10-16 21:25:40 +03:00
Yan Zhulanow
58571dcf1d
Fix KNPE in evaluator (EA-89384)
2017-10-16 21:25:39 +03:00
Yan Zhulanow
8c7f469030
Parcelable: Use @IgnoredOnParcel annotation instead of Transient cause it's inapplicable on properties (KT-20298)
2017-10-16 21:25:37 +03:00
Yan Zhulanow
cafd99660a
Minor: Make class abstract to get rid of the warning in tests
2017-10-16 21:25:36 +03:00
Yan Zhulanow
27d3ed76a0
Android Extensions: Support non-latin identifiers (KT-20299)
2017-10-16 21:25:34 +03:00
Yan Zhulanow
eefad896a0
Kapt: Mark 'kapt.kotlin.generated' as a source root automatically in Android projects (KT-20269)
2017-10-16 21:25:33 +03:00
Yan Zhulanow
50ab054883
Kapt: Preserve kapt plugin options if there are also options from compiler plugins (KT-20257)
2017-10-16 21:25:32 +03:00
Yan Zhulanow
d89143e641
Kapt: Report info log messages as warnings
...
Otherwise the log messages are not visible until the "--info" options is provided in Gradle.
2017-10-16 21:25:31 +03:00
Yan Zhulanow
2034b1f075
Parcelable: Provide quick fixes for custom Parceler support
2017-10-16 21:25:29 +03:00
Yan Zhulanow
a63aca08f2
Parcelable: Support custom Parcelers in compiler plugin
2017-10-16 21:25:27 +03:00
Yan Zhulanow
7dbefc1613
Remove generic bound for Parceler
2017-10-16 21:25:25 +03:00
Yan Zhulanow
a4f06c9fa8
Kapt: Do not inline R.resType.resName constants in annotations (KT-18791)
2017-10-16 21:25:24 +03:00
Mikhail Glukhikh
eba2fdfe89
Fix inline test
2017-10-16 21:06:18 +03:00
Stanislav Erokhin
fde1ac5575
Add test for ExpectedTypeFromCast feature
2017-10-16 20:10:57 +03:00
Mikhail Glukhikh
3fb0354676
Minor: add / fix comments (related to KT-20752)
2017-10-16 20:00:47 +03:00
Alexey Andreev
46526db8f0
JS: fix behaviour of char-returning functions with multiple inheritance
...
See KT-19772
2017-10-16 18:56:33 +03:00
Ilya Gorbunov
13d6e96c2f
Do not pack build.txt into jars, leave it only in artifact zip bundles
2017-10-16 18:48:09 +03:00
Ilya Gorbunov
3bea095618
Remove maven poms that are no longer submodules of the main project
2017-10-16 18:48:09 +03:00
Ilya Gorbunov
ef3b0e0ff0
Add kotlin-test parent project
2017-10-16 18:48:09 +03:00
Ilya Gorbunov
13086b4347
Exclude node_modules dir from kotlin-stdlib-js project
...
Minor: shorter IdeaModel configuration.
2017-10-16 18:48:09 +03:00
Ilya Gorbunov
65d9b0edb3
Migrate settings and run configurations from the former libraries subproject
2017-10-16 18:48:09 +03:00
Ilya Gorbunov
341edc3f86
Fork java compiler to ensure forkOptions are used
2017-10-16 18:48:09 +03:00
Ilya Gorbunov
93efc51843
Fix the obsolete form of -Xdump-declarations-to argument
2017-10-16 18:48:09 +03:00
Stanislav Erokhin
b9fa8d4d96
Support parenthesized left expression for ExpectedTypeFromCast
2017-10-16 18:28:57 +03:00
Pavel V. Talanov
539e655802
PluginDeclarationProviderFactory: improve diagnostic
...
Attempting to catch EA-103048
2017-10-16 18:18:36 +03:00
Mikhail Glukhikh
e73e4dcc6a
Delay elvis-bound smart casts to version 1.3
2017-10-16 16:21:46 +03:00
Mikhail Glukhikh
a55c6f0c95
Don't register safe cast type info for unstable values
...
Important: to be removed in 1.3
So #KT-20752 Fixed
2017-10-16 16:21:45 +03:00
Denis Zharkov
8ae3dbdcfc
Refine ClassDescriptor::isCommonFinalClass definition
...
Do not treat annotations as final classes as they are not final in Java
#KT-20776 Fixed
2017-10-16 16:11:35 +03:00
Alexander Udalov
03baa51f82
Write isPreRelease into JvmBuildMetaInfo for non-stable language version
2017-10-16 15:09:37 +02:00
Alexander Udalov
8b0b334601
Extract shouldWritePreReleaseFlag(), use in JS as well as JVM
...
Fix the difference in behavior between JS and JVM
2017-10-16 15:09:36 +02:00
Alexander Udalov
0510c553c3
Mark class files as pre-release if language version > LATEST_STABLE
...
#KT-20547 Fixed
2017-10-16 15:09:36 +02:00
Alexander Udalov
3665255a2b
Extract skipPreReleaseCheck out of DeserializationConfiguration.skipMetadataVersionCheck
2017-10-16 15:09:36 +02:00
Alexander Udalov
8a0dcca957
Do not consider 'expect' class type constructors final
...
Because even a final expected class can be actualized with an open
actual class and thus have subtypes in the platform code
2017-10-16 15:08:50 +02:00
Alexander Udalov
0a861fd4ed
Minor, refine return type of AbstractClassTypeConstructor.getDeclarationDescriptor
2017-10-16 15:08:50 +02:00
Alexander Udalov
dc02b2e3ab
Fix TypeConstructor.isFinal for synthetic class descriptors
...
As in LazyClassTypeConstructor.isFinal, check if the class modality is
Modality.FINAL
2017-10-16 15:08:50 +02:00
Alexander Udalov
2682837fd7
Support 'expect final' -> 'actual open' for callables
...
#KT-17944
2017-10-16 15:08:50 +02:00
Alexey Sedunov
ee9a6ca53e
Introduce Type Parameter: Do not show duplicate dialog under write action
...
#KT-20335 Fixed
2017-10-16 16:04:39 +03:00
Alexey Sedunov
25b6dac7b5
Introduce Type Alias: Don't change non-nullable type to nullable alias
...
#KT-15840 Fixed
2017-10-16 16:04:39 +03:00
Alexey Sedunov
1c3a3cd651
Introduce Parameter: Forbid inside of default values
2017-10-16 16:04:39 +03:00
Alexey Sedunov
790b615fa1
Introduce Parameter: Fix parameter name validation
...
Respect existing parameter names and fix some exceptions
#KT-19439 Fixed
#KT-20402 Fixed
#KT-20403 Fixed
2017-10-16 16:04:39 +03:00
Alexey Sedunov
bf3769f37e
Introduce Parameter: Forbid inside of annotation entries
...
#KT-18594 Fixed
2017-10-16 16:04:38 +03:00
Alexey Sedunov
e2fd9a71df
Rename: Search text occurrences by declaration FQ name
...
#KT-17949 Fixed
#KT-15932 Fixed
2017-10-16 16:04:38 +03:00
Alexey Sedunov
e68f8d6d45
Kotlin Ultimate: Support Protractor run configurations for module directory
2017-10-16 16:04:38 +03:00
Ilya Gorbunov
18d4b91b2d
Minor: improve message from future for use and useLines
...
Annotate RequireKotlin and apiVersionIsAtLeast with SinceKotlin
2017-10-15 21:40:17 +03:00
Ilya Gorbunov
88bb14d0b4
Add kotlin-test-junit dependency to compiler stdlib tests
2017-10-15 21:40:15 +03:00
Ilya Gorbunov
20b122c1dd
Use kotlin.test.Test instead of org.junit.Test in common stdlib tests
...
(and in jvm-only and js-only tests also)
2017-10-15 17:40:53 +03:00
Ilya Gorbunov
f002493218
Multiplatform test annotations
...
Actual annotations are provided in kotlin-test-junit on JVM side
and in kotlin-test-js on JS side.
#KT-19696
2017-10-15 17:40:53 +03:00
Anton Bannykh
4b1b847f0a
Updated the forum link in NPM README.md templates
2017-10-14 02:18:43 +03:00
Anton Bannykh
2d3929ee58
JS: add ant tasks for publishing kotlin-test-js to NPM (KT-19682)
2017-10-14 02:18:43 +03:00
Anton Bannykh
7076fda542
JS: added back integration test for @BeforeTest and @AfterTest annotations
...
The test was removed in e5cfd198c7 in order
to prevent gradle tests from crashing when running with the old compiler.
2017-10-14 02:16:22 +03:00
Anton Bannykh
b5d32f420d
JS: correct Double and Float conversions to Int (KT-8374 fixed)
2017-10-13 20:29:28 +03:00
Alexander Udalov
a52d719943
Fix Java9ModulesIntegrationTest.testDependencyOnReflect
...
Since javac is invoked on a module-info with a reference to the module
kotlin.reflect, we need to pass kotlin-reflect.jar in the module path
2017-10-13 18:45:45 +02:00
Ilya Gorbunov
863727955f
Annotate inline use and useLines with RequireKotlin
...
Compiler version 1.2 is required to use 'use' and inline functions from stdlib that call it.
2017-10-13 18:56:05 +03:00
Ilya Gorbunov
cc150ca832
Make Closeable.use call addSuppressed
...
Call addSuppressed when it's provided by the supplementary artifact for jdk7, and only when targeting apiVersion > 1.1
#KT-18961 Fixed
2017-10-13 18:56:05 +03:00
Ilya Gorbunov
3ab7946c4d
Introduce apiVersionIsAtLeast function to branch in inlines
...
#KT-16028
2017-10-13 18:56:05 +03:00
Ilya Gorbunov
485ca10b84
Improve failed assertSame/NotSame messages, correct tests
2017-10-13 18:53:52 +03:00
Jake Wharton
e611b9a9ba
Add assertSame and assertNotSame methods.
2017-10-13 18:53:52 +03:00
Dmitry Savvinov
edd3f76e7b
Add contract for takeUnless
2017-10-13 18:43:39 +03:00
Dmitry Savvinov
0b88e7cfd0
Annotate contract DSL with @SinceKotlin
2017-10-13 18:43:39 +03:00
Alexander Udalov
5f775497e2
Add Kotlin package FQ name to kotlin.Metadata
...
It might differ from the JVM package FQ name if the JvmPackageName
annotation is used. This will be useful for faster indexing in the IDE
and for reflection
2017-10-13 16:23:07 +02:00
Dmitry Petrov
16b7bece46
Fix constant expression inlining logic
...
Constant expressions are inlined if they do not depend on non-inlineable
vals.
Java constants are always inlined.
Kotlin constants are inlined in LV 1.1+.
2017-10-13 17:01:42 +03:00
Yan Zhulanow
5acc992956
Disable uninitialized object copying checks for Parcelable writeToParcel() to createFromParcel()
2017-10-13 16:35:42 +03:00
Yan Zhulanow
824e0a072e
Minor: Add dependency to android-extensions-runtime to get rid of compile errors in IDE
2017-10-13 16:35:41 +03:00
Yan Zhulanow
eb39c4c590
Tests: Do not search for android-extensions-runtime in KOTLIN_PATH
2017-10-13 16:35:40 +03:00
Mikhail Zarechenskiy
61d1963ddb
Mark incompatibilities related to the declaration signature as STRONG
2017-10-13 16:14:43 +03:00
Mikhail Zarechenskiy
d557c19a88
Test for consistent modality check with implicit and explicit override
...
Test for KT-20680
2017-10-13 16:14:40 +03:00
Mikhail Zarechenskiy
b2dc82f17e
Improve diagnostic for non-actual declaration with weak incompatibility
2017-10-13 16:14:17 +03:00
Mikhail Zarechenskiy
d0cbd73307
Don't report incompatibility expect/actual errors on usual overloads
...
Divide incompatibility on two groups: strong and weak. Strong incompatibility means that if declaration with such incompatibility has no `actual` modifier then it's considered as usual overload and we'll not report any error on it.
#KT-20540 Fixed
#KT-20680 Fixed
2017-10-13 16:14:14 +03:00
Mikhail Zarechenskiy
eb828e3497
Report errors about incompatible constructors of actual class
...
#KT-20540 In Progress
#KT-20680 In Progress
2017-10-13 16:13:40 +03:00
Ilya Gorbunov
748dbc382c
Advance bootstrap to 1.2.0-dev-92
2017-10-13 15:17:34 +03:00
Sergey Igushkin
9d62bb3561
(minor) Reorder args help in test data after the property was renamed
2017-10-13 14:02:42 +03:00
Dmitry Petrov
08b7578e61
Add -Xnormalize-constructor-calls=enable to stdlib submodules
2017-10-13 10:17:13 +03:00
Pavel V. Talanov
df4b90fcb6
Scripts: Accept objects as DependenciesResolver implementations
...
Fixes DependenciesResolver.NoDependencies causing "missing constructor without parameters" warning
2017-10-12 19:22:59 +03:00
Simon Ogorodnik
4972dbfc2d
KT-17165: Support array literals in annotations in completion
...
#KT-17165 fixed
2017-10-12 18:15:53 +03:00
Zalim Bashorov
beec788bd4
KJS: improve declaration for JS Promise and add helpers to simplify some usecases
...
* add `then` with only one parameter to make usages from Kotlin more idiomatic
* add overload static `resolve` which accepts Promise<S> according to the spec
* add helper functions for `then` to simplify chained usages
when Promise is returned from `then` or `catch` (workaround for KT-19672)
2017-10-12 18:07:09 +03:00
Simon Ogorodnik
30853d5f85
Show missing deps when preloaded deps not found
2017-10-12 17:34:55 +03:00
Alexander Udalov
f46c509b31
Regenerate tests
2017-10-12 16:18:29 +02:00
Anton Bannykh
b839ba5015
JS: correct imports in kotlin.test-js integration test
2017-10-12 15:41:54 +03:00
Sergey Igushkin
260244fa09
(minor) Fix bad file content replacement in a test.
2017-10-12 15:14:07 +03:00
Alexey Andreev
8a8891d7c9
Fix Kotlin/JS compiler under JRE9
...
See KT-20653, KT-20650
2017-10-12 14:39:47 +03:00
Anton Bannykh
e5cfd198c7
JS: temporarily remove @BeforeTest and @AfterTest checks from integration test until bootstrap compiler supports the annotations.
2017-10-12 14:24:59 +03:00
Anton Bannykh
c57b0b4cbc
JS: rename @Before to @BeforeTest and @After to @AfterTest for better JUnit compatibility
2017-10-12 14:24:59 +03:00
Sergey Igushkin
bd75a47a07
Update Android license string for Gradle tests
...
(cherry picked from commit 2697445)
2017-10-12 14:23:32 +03:00
Stanislav Erokhin
1f546ea1ae
Revert "Temporary change default behavior for constructor call normalization"
...
This reverts commit 2e8cda8103 .
2017-10-12 14:01:39 +03:00
Nikolay Krasko
bab79e86d6
Revert old id for run configurations (KT-20621)
...
Currently there's no way for smooth IDs migration.
#KT-20621 Fixed
2017-10-12 12:00:35 +03:00
Nikolay Krasko
bc6f2f6659
Request path from URI before construction file
2017-10-12 12:00:35 +03:00
Nikolay Krasko
3c0329b458
Fix tests failure on Windows agents because of wrong slashes
2017-10-12 12:00:35 +03:00
Nikolay Krasko
e31492f96f
Always create psi files in tests from text without '\r'
2017-10-12 12:00:35 +03:00
Nikolay Krasko
b64ab10e89
Fix MavenUpdateConfigurationQuickFixTest tests on Windows agents
2017-10-12 12:00:34 +03:00
Dmitry Savvinov
d4d7946e6a
Effects: add diagnostic tests on functions from stdlib
...
==========
Introduction of EffectSystem: 18/18
2017-10-12 11:55:26 +03:00
Dmitry Savvinov
fb03656e99
Effects: annotate functions in stdlib with contracts
...
build.xml was also changed to incorporate contracts in
mock-runtime-for-tests.jar, because it is using Standard.kt, which, in
turn, has contract-annotated functions.
==========
Introduction of EffectSystem: 17/18
2017-10-12 11:55:26 +03:00
Dmitry Savvinov
4434db4d69
Effects: add diagnostic tests on contracts
...
- Make AbstractDiagnosticsTest dump function contracts
- Add diagnostics tests on parsing contracts
- Add diagnostics tests on smartcats in presence of functions with
contracts
- Add diagnostics tests on initialization and flow in presence of
in-place called lambdas
==========
Introduction of EffectSystem: 16/18
2017-10-12 11:55:26 +03:00
Dmitry Savvinov
f487525a1d
Effects: add cfg-tests on inlined lambdas
...
==========
Introduction of Effect System: 15/18
2017-10-12 11:55:26 +03:00
Dmitry Savvinov
a986999226
Effects: support cfg tests with stdlib
...
- Add method "doTestWithStdLib" which launches test with stdlib
- Change GenerateTests.kt to generate cfg tests with stdlib from
folders 'cfgWithStdLib' and 'cfgVariablesWithStdLib'
==========
Introduction of Effect System: 14/18
2017-10-12 11:55:26 +03:00
Dmitry Savvinov
d20c770a25
Effects: add test on (de)serialization of contracts
...
- Add ContractDescriptorRenderer
- Add option to dump function contracts in DescriptorRendererOptions
- Add parsing of LANGUAGE_VERSION directive in AbstractLoadJava
- Add tests on serialization-deserializaton identity of contracts
==========
Introduction of EffectSystem: 13/18
2017-10-12 11:55:26 +03:00
Dmitry Petrov
75ad20f823
Build compiler, plugin & stdlib with constructor call normalization
...
Required as a workaround for Proguard bug
https://sourceforge.net/p/proguard/bugs/664/
When processing bytecode generated by Kotlin compiler for constructor
call with stack spilling during arguments evaluation, ProGuard performs
an equivalent transformation for the bytecode, but emits invalid stack
frame information.
In JVM 1.6, such invalid stack frames are ignored and re-evaluated by
JVM during bytecode verification.
In JVM 1.8, such invalid stack frames cause VerifyError.
2017-10-12 10:59:57 +03:00
Leonid Stashevsky
13880b18ea
Rename android-annotations -> kotlin-annotations-android
...
also rewrite it's buildscript in kts and add to compiler tests dependencies
2017-10-12 09:11:33 +03:00
Ilya Gorbunov
781ca6d2b5
Inline swap function, do not use deprecated floor.
2017-10-12 06:06:26 +03:00
Pap Lorinc
e640867238
Provide java.util.Collections#shuffle as extensions for collections in JS
...
#KT-2460
2017-10-12 06:06:26 +03:00
Ilya Gorbunov
6fc87c532e
Restore dependency to build kotlin-runtime before BCV tests
2017-10-12 06:06:12 +03:00
Ilya Gorbunov
aab604d154
Improve math docs
...
Add links from log to ln, log2, log10.
Format lists in docs so that they are pretty in quick doc window.
2017-10-12 05:58:04 +03:00
Sergey Igushkin
873994545c
Clear Java srcDirs in JS and multiplatform projects.
...
Issue #KT-20217 Fixed
(cherry picked from commit a4f8a5e)
2017-10-11 20:32:59 +03:00
Sergey Igushkin
dff15a3d59
Fix multiplatform projects communication broken if the plugin is loaded
...
more than once in different class loaders.
Issue #KT-20634 Fixed
(cherry picked from commit c65f210)
2017-10-11 20:32:11 +03:00
Sergey Igushkin
f211985332
Re-generate Gradle options to have allWarningsAsErrors updated.
...
Issue #KT-20553 Fixed
2017-10-11 20:31:23 +03:00
Sergey Igushkin
5edf8664fb
Rename warningsAsErrors -> allWarningsAsErrors in args
...
(cherry picked from commit 377acf5)
2017-10-11 20:13:25 +03:00
Ilya Gorbunov
71e97e32e0
Regenerate gradle options to include warningsAsErrors
2017-10-11 19:23:57 +03:00
Ilya Gorbunov
345e85974e
Bootstrap from intermediate teamcity build
2017-10-11 19:23:55 +03:00
Stanislav Erokhin
4932fa1ddd
Support expected type from explicit cast
...
This commit support the following case.
Suppose we have such declaration:
fun <T> foo(): T { ... }
Then in code we want to use it like this: `foo() as String`.
But in LV <= 1.1 we have type inference error: "Not enough
information for type parameter `T`". This error happened because we
do not use type from cast as expected type for call.
In this commit we fix this problem and use this type as expected type
in following cases:
- our function has only one type parameter (this can be relaxed later)
- function parameter types and extension receiver type not contains `T`
Also this fix problem with `findViewById`.
Already signature was: `fun findViewById(...): View`
and was used like: `findViewById() as MyView`.
New signature is `fun <T : View> findViewById(...): T`
and old usage was broken because of problem described above
2017-10-11 19:23:52 +03:00
Anton Bannykh
ac508a510e
JS: Support isInitialized intrisic for lateinit properties
2017-10-11 19:23:49 +03:00
Alexander Udalov
5cbcbe4a9c
Support -Werror CLI argument to treat warnings as errors
...
The option is named "warningsAsErrors" in the Gradle plugin
#KT-10563 Fixed
2017-10-11 19:23:46 +03:00
Alexander Udalov
897261a8a6
Add test on compiling against kotlin.reflect on JDK 9
2017-10-11 19:23:43 +03:00
Alexander Udalov
d41c1d572b
Remove deprecated API from package kotlin.reflect
...
This is needed to avoid the split package problem on Java 9 (KT-19258):
both kotlin-stdlib.jar and kotlin-reflect.jar export the package
kotlin.reflect
2017-10-11 19:23:40 +03:00
Alexander Udalov
a4f378d04d
Decrease resolution priority of declarations from kotlin-stdlib-jre7/8
...
In order to allow "overload resolution ambiguity" when both
kotlin-stdlib-jre7/8 and kotlin-stdlib-jdk7/8 are in the dependencies
2017-10-11 19:23:38 +03:00
Alexander Udalov
1592555783
Add test on compiling against kotlin.stdlib.jdk7/8 on JDK 9
2017-10-11 19:23:35 +03:00
Alexander Udalov
2a8be2cdb4
Move internal declarations in kotlin-stdlib-jdk7/8 to other packages
...
- in kotlin-stdlib-jdk7, package kotlin.internal -> kotlin.internal.jdk7
- in kotlin-stdlib-jdk8, package kotlin.internal -> kotlin.internal.jdk8
2017-10-11 19:23:32 +03:00
Alexander Udalov
537a0ce315
Restore kotlin-stdlib-jre7/8 libraries
2017-10-11 19:23:30 +03:00
Alexander Udalov
e253acd5fd
Introduce kotlin-stdlib-jdk7/8 libraries, deprecate kotlin-stdlib-jre7/8
...
The idea is to keep all declarations in the same packages from Kotlin's
point of view, but use JvmPackageName annotation to move them to another
JVM package, to avoid the split package problem which is otherwise
unsolvable when using module path on Java 9 (KT-19258).
In this commit, kotlin-stdlib-jre7/8 are moved to kotlin-stdlib-jdk7/8
and in the subsequent commit, -jre7/8 are restored. This is done in
order to make Git recognize this as a file move to preserve history.
Include new stdlib-jdkN artifacts in manifest version tests.
2017-10-11 19:20:24 +03:00
Alexander Udalov
2fc3f4d07b
Update copyrights in kotlin-stdlib-jre7/8 sources
2017-10-11 19:20:24 +03:00
Alexander Udalov
7f8634d9ef
Revert "Temporarily remove JvmPackageName and tests, but keep the implementation"
...
This reverts commit 9ae6feb2c5 .
2017-10-11 19:20:24 +03:00
Alexander Udalov
00be512532
Revert "Temporarily remove isInitialized and tests, but keep the implementation"
...
This reverts commit 234148518e .
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
abdcbf1fb2
Refactor: use the same arraybuffer to compute double hashcode
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
0454bd9e28
Detect endianness when reinterpreting Float64 as two Int32
...
#KT-18264
Use Int32Array instead of Uint32Array since ints are required to be singed.
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
aa3bfc55c3
Implement in JS nextUp(), nextDown(), nextTowards() and ulp extensions
...
#KT-4900
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
480d4a0093
Make withSign(NaN) behave as in JVM
...
#KT-4900
Where only the sign of the result is undefined, but the absolute value is unchanged.
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
132f2f88c2
Provide Double and Float bit conversion functions as extensions in JS and Common
...
Instance extension: Double/Float.toBits/toRawBits
Companion extension: Double/Float.Companion.fromBits
#KT-18264 Fixed
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
044ccf1532
Introduce inverse hyperbolic functions
...
#KT-4900
Improve accuracy of JS polyfills of hyperbolic functions and expm1/log1p
2017-10-11 19:20:24 +03:00
Mikhael Bogdanov
232d1bd9ef
Switch warning to error for java-default method calls within 1.6 target
...
#KT-15825 Fixed
(cherry picked from commit 9b29ebb)
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
5bfa9b248e
Minor fixes in logarithm functions docs
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
57f5791e70
Annotate new API with SinceKotlin, provide common headers
...
#KT-4900
Also update binary API dump.
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
a69a583c64
Deprecate kotlin.js.Math object, rename kotlin.math.kt to just math.kt
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
86b23ffe49
Integer math functions and tests for them
...
#KT-4900
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
a832db48f6
Float Math API
...
#KT-4900
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
f3ea499d2c
JVM-specific math functions and tests
...
#KT-4900
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
7e48f8b180
Provide Double and Float bit conversion functions as extensions
...
Instance extension: Double/Float.toBits/toRawBits
Companion extension: Double/Float.Companion.fromBits
#KT-18264 Fixed
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
6373ac7ef0
Rename log to ln, log1p to ln1p, keep pow only as extension
...
#KT-4900
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
805d1c90b7
Rename sgn to sign, add docs and tests
...
#KT-4900
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
d0b12e3872
Use HALF_EVEN rounding mode for round()
...
Add docs and tests for rounding.
#KT-4900
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
5e9e6d5951
Common math tests and document for trigonometric functions and powers.
...
#KT-4900
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
a375bafa21
Draft common math API with top-level functions and constants in kotlin.math package
...
#KT-4900
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
e59fbc1097
Provide polyfills for missing ES6 math functions
...
#KT-4900
Rename math.kt to js.math.kt
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
559255f38e
windowed function: add default parameters, drop or keep partial windows, KEEP-11
...
Make step default to 1.
Add partialWindows boolean parameter defaulting to false to control
whether to keep partial windows in the end.
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
c04b0072af
Rename pairwise to zipWithNext, KEEP-11
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
c2cee2e405
Update binary api dump, rearrage bignumbers tests
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
b89e5b2708
Add missing api: radix overloads, mathContext and scale overloads, orNull overloads
...
Move string-to-number conversions and their tests near to existing ones
Add documentation and copyrights.
2017-10-11 19:20:24 +03:00
voddan
e86e080088
KEEP-49: extending Kotlin API for BigInteger and BigDecimal
2017-10-11 19:20:24 +03:00
Anton Bannykh
158c03b07f
JS: enable TypedArrays by default
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
a8fef3a385
Provide MutableList.fill for JS, annotate new API with @SinceKotlin
...
#KT-8823 #KT-9010
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
bb22d6647b
Introduce MutableList.fill and shuffle/shuffled extensions for JVM only
...
'shuffle' and 'fill' are inline only, but 'shuffled' is not.
#KT-8823 Fixed
#KT-9010 Fixed
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
16d3d2f764
Make Regex class serializable on JVM
...
#KT-16447 Fixed
Refactor helper functions for serialization tests.
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
99bd54116e
Docs and samples for 'windowed' function
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
b2f2e3537b
Docs and samples for 'chunked' function
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
e418f61f0c
Docs and samples for 'pairwise' function
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
b94fd36d75
Minor refactoring in RingBuffer
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
3f23742298
Optimize 'windowed' and 'chunked' for char sequences, iterables and sequences
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
18c7a01ab5
Add tests for windowed and chunked, fix precondition checks
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
a3a1c391cc
Generate 'chunked' and 'windowed' signatures and delegating implementations
...
Add implementations of windowed.
2017-10-11 19:20:24 +03:00
Sergey Mashkov
6ae85f5108
Sliding window implementation helper utilities
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
c815ccfd6a
Introduce 'pairwise' function, KEEP-11
2017-10-11 19:20:24 +03:00
Mikhael Bogdanov
b73be50e5b
Move object initialization from <init> to <clinit>
...
Codegen generates static backing fields for object properties.
They are initialized in class constructor but some of them are final static
and such access is prohibited in specification but it's allowed in
java bytecode <= 1.8. Such access in 1.9 bytecode cause
"IllegalAccessError: Update to static final field Object.INSTANCE
attempted from a different method (<init>) than the initializer method <clinit>"
Added additional hidden field in interface companion to pass out
companion instance from <clinit>.
#KT-15894 Fixed
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
de004337a2
Pass arguments to bcv tests with system properties rather than env
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
03dcae5010
Attach method counting tasks to check rather than assemble stage
2017-10-11 19:19:08 +03:00
Ilya Gorbunov
2d9c4246bd
Add explicit constructor to expect annotation
2017-10-11 19:18:30 +03:00
Alexander Udalov
ecfea9e340
Forbid private 'expect' declarations
...
#KT-19170 Fixed
2017-10-11 17:21:55 +02:00
Dmitry Savvinov
87b85ce978
Fix testdata for tests which use varargs
...
Change tests to use new syntax for array literals to prevent deprecation
warnings (see KT-20171).
2017-10-11 18:06:00 +03:00
Alexey Andreev
fd1aa97d0c
Enable test that now passes in JS
2017-10-11 17:35:32 +03:00
Alexey Andreev
cddc8df134
Fix Scala code style options
2017-10-11 17:35:32 +03:00
Alexey Andreev
06b1ba7c47
JS: use prototype when checking is against interface
...
See KT-20527
2017-10-11 17:35:31 +03:00
Ilya Chernikov
279126ad7e
Add stdlib to gradle scripts classpath, since it is not included into compiler anymore
2017-10-11 16:24:42 +02:00
Paul Merlin
e911a1e53d
Script template provider for settings.gradle.kts files
...
This commit introduces GradleSettingsKotlinDSLTemplateProvider and
registers it as Kotlin IntelliJ plugin extension.
2017-10-11 16:19:56 +02:00
xiexed
5c2962e195
UAST properly handles string "when conditions" in lazy parent (KT-20709) ( #1338 )
2017-10-11 15:16:15 +02:00
Mikhail Zarechenskiy
88595e1a58
Don't require to override abstract methods in expect class
...
#KT-16099 Fixed
2017-10-11 15:27:50 +03:00
Mikhail Zarechenskiy
5695e76a00
Prohibit inheritance by delegation in expect classes
...
#KT-20431 Fixed
2017-10-11 15:27:46 +03:00
Denis Zharkov
2e8cda8103
Temporary change default behavior for constructor call normalization
...
It's necessary to perform bootstrap and must be reverted after
2017-10-11 14:21:49 +03:00
Dmitry Jemerov
1d4c2e9223
Don't analyze temporary files created from destructuring declarations
...
They are known to not contain any synthetic accessor calls.
2017-10-11 13:20:05 +02:00
Dmitry Savvinov
f5d40a1c98
Fix testdata in varargs tests
...
Testdata have been changed since 1.2. due to KT-20171.
2017-10-11 14:06:54 +03:00
Dmitry Savvinov
eae9923dbe
Add allowKotlinPackage AnalysisFlag
...
This flag is used internally by EffectSystem as a sign of compiling
stdlib. If this flag is present, then EffectSystem will read contracts
on functions and serialize them into metadata even if corresponding
LanguageFeatures are turned off. This is done solely for building
1.2-runtime with contracts in it without the need to turn on
LanguageFeatures manually.
======
This commit finishes a first series of commits related to effect
system. After it, compiler is ready to work with contracts, but it is
impossible to actually annotate anything, because there are no
contracts DSL in stdlib yet.
2017-10-11 13:40:16 +03:00
Dmitry Savvinov
bdbb161cfa
Effects: support called-in-place lambdas
...
Support initialization of local variables in capture, if that capture is
anonymous lambda that was passed to function which explicitly expressed
its intent to call closure "here and now"
Changes:
- LocalFunctionDeclarationInstruction made open
- Introduce InlinedLocalFunctionDeclarationInstruction, which is subtype
of LocalFunctionDeclarationInstruction with additional semantic: it
is statically known that this function will be called in-place and maybe
with some definite amount of invocations.
- Next-instruction of InlinedLocalFunctionDeclarationInstruction depends
on whether flow can exit its body normally, i.e. on wheter EXIT is
reachable. If flow can reach EXIT, then .next is just straight next
instruction, otherwise it's SINK.
- Take non-local instructions into consideration when analyzing
reachability. We didn't it before because no one ever needed proper
analysis. Now we have InlinedLocalFunctionDeclarationInstruction which
cares about proper reachability of EXIT.
- Pull control-flow information from
InlinedLocalFunctionDeclarationInstruction's EXIT into parent's
pseudocode, thus allowing it to participate in initialization/use
analysis.
- Change logic of 'isCapturedWrite' to not report
"CAPTURED_VAL_INITIALIZATION" if value is captured by the inline-lambda.
==========
Introduction of EffectSystem: 12/18
2017-10-11 13:34:54 +03:00
Dmitry Savvinov
0dd6d1f4c7
Effects: support assert-like contracts
...
- Support functions that explicitly express relation between successfull
return and passed arguments (e.g., 'check')
- Note that we have to correct resulting data flow for arguments *after*
resoling (because we get contracts only after resolving). To do so, we
have to extend MutableDataFlowInfoForArguments interface with
'updateResultInfo' method.
==========
Introduction of EffectSystem: 11/18
2017-10-11 13:34:54 +03:00
Dmitry Savvinov
72b0d31329
Effects: support contracts with conditional returns
...
Support functions which have explicitly expressed relation between
return-value and arguments. If we have observed that function returned
this value, get additional information from effect system.
==========
Effect System introduction: 10/18
2017-10-11 13:34:54 +03:00
Dmitry Savvinov
87b0bc43d5
Effects: support parsing of functions contracts
...
Make a fastcheck for a presence of contract-declaration in function
body of FunctionDescriptorResolver. If there's something that looks like
contract and we need resolve to make a final decision, then prepare
LazyContractProvider key in UserDataMap of function's descriptor.
Note that we can't passively wait with contracts resolving until the
function body is analyzed, because we may need it earlier. However, we
can't force body resolve straight during descriptors resolving, because
we can run into recursive problems. That's why we are saving deferred
resolving of functions body via LazyContractProvider.
Also, we have to pass DataFlowInfo into
initializeFunctionDescriptorAndExplicitReturnType, because we save
deferred body resolving inside, which needs DataFlowInfo.
==========
Effect System introduction: 9/18
2017-10-11 13:34:54 +03:00
Dmitry Savvinov
175d23155e
Effects: add (de)serialization of contracts in metadata
...
- Introduce new definitions in descriptors.proto
- Add new corresponding values in Flags.java
- Introduce ContractSerializer and ContractDeserializer, responsible for
for conversion ContractDescription <-> ProtoBuf.Contract
- Add dependency of 'serialization' module on 'resolution' so that it
could see contracts model.
Note that here we do a lot of seemingly unnecessary hoops, which in fact
necessary to respect existing module system (in particular, to be able
to extract ContractDescription declarations from 'descriptors' module to
make them invisible from reflection)
==========
Effect System introduction: 8/18
2017-10-11 13:34:54 +03:00
Dmitry Savvinov
2c0ef592e6
Effects: add DSL for declaration of contracts
...
- Introduce DSL for declaration of contracts. Functions and classes in
this DSL do not bear any computational semantics: in fact, they all do
not exist on runtime. Whole work of extracting semantics from such calls
is done by special parts of compiler
- To make distinguishing those declarations more robust and
convenient, introduce internal annotation @ContractsDSL
- Turn off InlineChecker inside contracts DSL. We do this, because some
functions from DSL should take any possible lambda, so we can't write
any type besides 'Function<R>'. However, InlineChecker will complain if
we will pass inlined lambda in such function -- though, this is false
positive because we know that functions from contracts DSL will never be
executed
- Change testData on HierarchyTestWithLib, where new enum from
kotlin.internal changed expected output
==========
Effect System introduction: 7/18
2017-10-11 13:34:54 +03:00
Dmitry Savvinov
b347e31fc4
Effects: add facade of EffectSystem
...
- Add facade of effect system in form of EffectSystem class, as well as
some other utility classes.
- Inject effect system facade classes into ExpressionTypingComponents
- Call to ContractParsingServices in ExpressionTypingVisitor to record
function contract (if any)
- Introduce FilteringTrace
- Create new FilteringTrace for statement in ExpressionTypingServices
that will serve as a cache for EffectSystem, filtering ES-related
slices from committing into parent.
- Extract and expose ConditionalDataFlowInfo
==========
Effect System introduction: 6/18
2017-10-11 13:34:54 +03:00
Dmitry Savvinov
a46ccdbae1
Effects: add parsing of contracts from PSI
...
- Introduce part of effect system responsible for parsing
contracts which were expressed in sources using DSL from stdlib
- Add new errors to Errors.java related to contracts and corresponding
messages.
==========
Effect System introduction: 5/18
2017-10-11 13:34:54 +03:00
Dmitry Savvinov
32d80f322e
Effects: add new slices in BindingContext
...
==========
Effect System introduction: 4/18
2017-10-11 13:34:54 +03:00
Dmitry Savvinov
d2e582698e
Effects: add interpreters of ContractDescription
...
Interpreters convert declarative representation of contracts
(ContractDescription) in internal representation convenient for usage
inside compiler (Computations, Effects, etc.)
==========
Effect System introduction: 3/18
2017-10-11 13:34:54 +03:00
Dmitry Savvinov
afc15e9211
Effects: Add inner representation of contracts
...
Add model of contracts used by compiler during analysis. It should be
thought of as structure which used by the compiler to implement
semantics, expressed by the ContractDescription.
==========
Effect System introduction: 2/18
2017-10-11 13:34:54 +03:00
Dmitry Savvinov
ba84bd3f19
Effects: Add declarations for description of contracts
...
Add ContractDescription structure which is used for declarative representation
of function's contract.
Also, add corresponding LanguageFeatures.
==========
This is the first commit from a series of 18 commits which gradually
introduce effect system into the compiler. All such commits will be
marked with appropriate comment and index in that series.
While each one of such commits separately shouldn't break compiler (i.e
you can checkout any of them and expect compiler to build and pass
tests successfully, e.g. for bissecting purposes), semantically they
all are one big feature and not entirely independent. Please bear that
in mind while working with/changing only some of them -- some strange
effects can happen.
2017-10-11 13:34:54 +03:00
Dmitry Jemerov
ee72cc268c
Fix NSEE if there's no JVM implementation module (KT-20638)
2017-10-11 12:27:01 +02:00
Dmitry Jemerov
dc7ffdcbe4
Add missing read action
2017-10-11 12:26:59 +02:00
Dmitry Jemerov
6c7f558d36
Add missing FileModificationService call (EA-107395)
2017-10-11 12:26:39 +02:00
Dmitry Jemerov
c2efdfe243
Add space before 'where' keyword
...
#KT-19213 Fixed
2017-10-11 12:25:53 +02:00
Dmitry Jemerov
f2a7e7f238
Show argument name hints for function type calls only for known names
...
#KT-19216 Fixed
2017-10-11 12:25:52 +02:00
Dmitry Jemerov
af09f5a49f
Enable argument name hints for annotations
...
#KT-19146 Fixed
2017-10-11 12:25:51 +02:00
Nikolay Krasko
8a46968292
Fix JUnit3RunnerWithInners runner for gradle execution (KT-20684)
...
#KT-20684 Fixed
2017-10-11 12:43:44 +03:00
Nikolay Krasko
aaa3dd8e70
Don't filter out inner classes when running tests (KT-20684)
...
#KT-20684 In Progress
2017-10-11 12:43:43 +03:00
Ilya Gorbunov
456c26cdae
Remove "EXPERIMENTAL" from 1.2 version description in tests and gradle options
2017-10-11 08:50:30 +03:00
Ilya Gorbunov
b901a8946c
Set 1.2-SNAPSHOT in maven build
2017-10-11 08:50:30 +03:00
Ilya Gorbunov
cffab8d3ef
Set 1.2-SNAPSHOT in gradle build
2017-10-11 08:50:30 +03:00
Ilya Gorbunov
968c9c2034
Set LATEST_STABLE language version and current version of stdlib to 1.2
2017-10-11 08:50:30 +03:00
Sergey Igushkin
17eac133a2
(minor) Make a test running on Gradle 4.0+ check the classes correctly
2017-10-11 02:25:30 +03:00
Mikhail Zarechenskiy
e9aad54664
Add intrinsics to mark and choose special api calls
...
#KT-20585 Fixed
2017-10-11 01:37:05 +03:00
Mikhail Glukhikh
e37bfa13e3
Related to KT-20713: add test for find usages in script
2017-10-10 22:48:42 +03:00
Mikhail Glukhikh
c5cb45794a
Fix CCE in ReplaceAddWithPlusAssignIntention #KT-20183 Fixed
2017-10-10 22:48:39 +03:00
Mikhail Glukhikh
fd95769780
Code cleanup: ReplaceAddWithPlusAssignIntention
2017-10-10 22:48:37 +03:00
Mikhail Glukhikh
45c9be2945
Fix problem with mutable map in "simplifiable call chain"
...
So #KT-20315 Fixed
2017-10-10 22:48:35 +03:00
Mikhail Glukhikh
8e59d3e379
Handle modifiers correctly in "val to object" #KT-18919 Fixed
2017-10-10 22:48:33 +03:00
Mikhail Glukhikh
0b5b5d8e89
Suggest primitive array type for collection literals in "add type" fix
...
So #KT-18549 Fixed
2017-10-10 22:48:30 +03:00
Mikhail Glukhikh
e65112fcab
Disable "Replace camel-case name with spaces" intention for JS / common
...
So #KT-18773 Fixed
2017-10-10 22:48:28 +03:00
Ilya Gorbunov
43e6106791
Bootstrap selection: allow to specify teamcity project with a parameter
2017-10-10 21:00:32 +03:00
Ilya Gorbunov
39c8bae134
Minor: move extra property initialization
2017-10-10 21:00:30 +03:00
Ilya Gorbunov
712d0e0777
Remove redundant repositories
2017-10-10 20:50:03 +03:00
Ilya Gorbunov
5f51a293ba
Use 'idea' plugin to specify excluded dirs
2017-10-10 20:50:03 +03:00
Ilya Gorbunov
a8766a00c6
Remove unused property jdk16.home
2017-10-10 20:50:03 +03:00
Zalim Bashorov
a4722a4000
Make "js.tests" depends on ":kotlin-test:kotlin-test-js" since it's used on runtime inside JS tests.
...
Transform dependency on ":kotlin-stdlib-js" to testRuntime since it's required only on runtime.
And remove unnecessary dependency from jsCompilerTest.
2017-10-10 20:19:07 +03:00
Zalim Bashorov
eb1c76ecc4
Make :kotlin-test-js:distJs depends on compileKotlin2Js to avoid running the task too early
2017-10-10 20:19:07 +03:00
Sergey Igushkin
205df7b1f3
~ Remove debug port
2017-10-10 19:40:18 +03:00
Sergey Igushkin
8e967c9b6b
Move existing multiplatform tests to separate class; add options test.
2017-10-10 19:40:18 +03:00
Sergey Igushkin
6fd9eb2711
Add kotlinOptions to KotlinCompileCommon
2017-10-10 19:40:18 +03:00
Sergey Igushkin
8046959017
Refactor existiong *OptionsImpl classes.
2017-10-10 19:40:17 +03:00
Sergey Igushkin
cce7b3cfdf
Create KotlinMultiplatformCommonOptionsImpl.kt
2017-10-10 19:40:17 +03:00
Sergey Igushkin
e06d60174d
Generate KotlinMultiplatformCommonOptions and <...>OptionsBase.
2017-10-10 19:40:17 +03:00
Alexey Andreev
8cdef4139e
Fix JS DCE removing reachable functions
2017-10-10 18:59:18 +03:00
Denis Zharkov
cb7d561c6c
Add cache for declaration names in StubBasedPackageMemberDeclarationProvider
...
#KT-20683 Fixed
2017-10-10 18:34:31 +03:00
Denis Zharkov
082ed62cd5
Optimize ConstraintSystemBuilderImpl::generateNewBound
...
Do not process the bound if it's just the same
This situation can actually happen in case of adding bound
containing type variable itself
2017-10-10 18:27:00 +03:00
Denis Zharkov
3a9650d0fc
Introduce cache for KotlinBuiltins::builtInClassesByName
...
There are a lot of places requesting nothing/any/.. instances
and just asking the scopes isn't very effecient:
see org.jetbrains.kotlin.builtins.KotlinBuiltIns#createPackage
having ChainedMemberScope and a `map` call
2017-10-10 18:27:00 +03:00
Denis Zharkov
e3b453ada4
Do not create redundant temporary trace
...
It will be commited after use in any case
2017-10-10 18:27:00 +03:00
Denis Zharkov
00df41ee25
Optimize subtyping for simple cases
2017-10-10 18:27:00 +03:00
Denis Zharkov
d5376fa8ba
Drop effectively unused parameter with default value
2017-10-10 18:27:00 +03:00
Denis Zharkov
6e59799b54
Get rid of a couple of usages of simpleTypeWithNonTrivialMemberScope
...
The simple versions of KotlinTypeFactory::simpleType may lead
to smaller number of KotlinType instances
(defaultType from descriptor are used if there are no arguments)
2017-10-10 18:27:00 +03:00
Denis Zharkov
1c9b454d90
Rename KotlinTypeFactory::simpleType to simpleTypeWithNonTrivialMemberScope
...
To state it must be used only for limited number of cases
2017-10-10 18:27:00 +03:00
Denis Zharkov
20334a2321
Cache virtualFilePath for KtFile
...
Because of com.intellij.openapi.vfs.local.CoreLocalVirtualFile#getPath
that has a rather slow implementation calling String::replace on each call
At the same time this method gets called very frequently when
recording lookups
2017-10-10 18:27:00 +03:00
Denis Zharkov
bb6a52c0cc
Optimize subtyping for case of objects identity
...
It may be rather frequent (e.g. in case of types without arguments or
for dispatch receiver parameters)
2017-10-10 18:27:00 +03:00
Denis Zharkov
f81c7a1a47
Add explicit fast path in TypeCheckerContext::anySupertype
2017-10-10 18:27:00 +03:00
Denis Zharkov
b99658b8eb
Optimize CandidateResolver::checkReceiver
...
- Do not calculate smart cast variants unless they're not necessary
- Avoid calling subtyping twice just to know if smart cast is necessary
(now the needed info is contained in ReceiverSmartCastResult)
2017-10-10 18:27:00 +03:00
Denis Zharkov
9fdb702688
Minor. Drop unused method
2017-10-10 18:27:00 +03:00
Denis Zharkov
457b57ace2
Inline TypeCheckerContext::anySupertype
...
This method is a hot spot, since it's may be called
several times during one isSubtypeOf call and it contains
two lambdas, so it's worth inlining it
2017-10-10 18:27:00 +03:00
Denis Zharkov
2fa82edd85
Use smaller default deque size for BFS over supertypes
...
The default value (16) seems to be rather big
2017-10-10 18:27:00 +03:00
Denis Zharkov
df88926ef8
Minor. Get rid of redundant var
...
The lazyness here is redundant since SmartList doesn't make a lot of
harm, but at the same time `var` here leads to another
kotlin/jvm/internal/Ref$ObjectRef instance
2017-10-10 18:27:00 +03:00
Denis Zharkov
bca53e6c1c
Optimize type checking for common cases
...
- Type equality for simple constructors (no arguments)
- Subtyping on final classes
2017-10-10 18:27:00 +03:00
Denis Zharkov
e519095e9e
Minor. Move local functions as a private to class
2017-10-10 18:27:00 +03:00
Denis Zharkov
79a7c01eac
Fix obviously wrong !is check in type checker
2017-10-10 18:27:00 +03:00
Simon Ogorodnik
3ca47f5f4a
Revert "Add note about automatic dev plugin updates to ReadMe"
...
This reverts commit c92408e
2017-10-10 18:25:27 +03:00
Simon Ogorodnik
b7e78e6625
Revert "Add note about bootstrap plugin"
...
This reverts commit 722345d
2017-10-10 18:25:21 +03:00
Simon Ogorodnik
722345d14e
Add note about bootstrap plugin
2017-10-10 18:07:51 +03:00
Simon Ogorodnik
c92408eec9
Add note about automatic dev plugin updates to ReadMe
2017-10-10 18:07:51 +03:00
Mikhael Bogdanov
a79c2bf999
Write script descriptor type to ASM_TYPE slice
...
#KT-20707 Fixed
2017-10-10 17:01:23 +02:00
Nikolay Krasko
eb32f5478a
Minor: use special extension
2017-10-10 16:29:22 +03:00
Nikolay Krasko
6664b7759b
Configure kotlin.stdlib for gradle projects (KT-19207)
...
#KT-19207 Fixed
2017-10-10 16:29:22 +03:00
Nikolay Krasko
023067aaf2
Allow to use folders for gradle configuration tests
2017-10-10 16:29:22 +03:00
Nikolay Krasko
cc0a9070b9
Add kotlin.stdlib to module-info when configure Maven project (KT-19207)
...
#KT-19207 In Progress
2017-10-10 16:29:22 +03:00
Nikolay Krasko
c0e6cb8b92
Log module name when maven project wasn't found in manager
2017-10-10 16:29:21 +03:00
Nikolay Krasko
f05e4c922b
Minor: use another method
2017-10-10 16:29:21 +03:00
Nikolay Krasko
65798cdd81
Minor: optimize imports and clean up
2017-10-10 16:29:21 +03:00
Nikolay Krasko
9d122a275a
Update module-info only for Java configurator (KT-19207)
...
#KT-19207 Fixed
2017-10-10 16:29:21 +03:00
Ilya Gorbunov
fe9ef04cae
Make a task to count dex methods in kotlin-stdlib and kotlin-reflect
2017-10-10 14:48:20 +03:00
Alexander Udalov
00c846a160
Write patch version for VersionRequirement correctly
2017-10-10 13:21:50 +02:00
Alexander Udalov
6f2e6db131
Check the RequireKotlin annotation value
...
Similarly to SinceKotlin
2017-10-10 13:21:50 +02:00
Alexander Udalov
a96861c353
Support version kind for RequireKotlin
...
#KT-20584 Fixed
2017-10-10 13:21:49 +02:00
Alexander Udalov
4532f7556c
Introduce internal RequireKotlin annotation
2017-10-10 13:19:18 +02:00
Alexander Udalov
8962911503
Rename SinceKotlinInfo -> VersionRequirement
2017-10-10 13:19:18 +02:00
Alexey Andreev
8f9fc100a3
Fix compilation of JS stdlib
...
1. Don't import intrinsics when compiling stdlib, use declarations
from current module instead
2. Add constructor with one argument to SourceFilePathResolver,
to fix bootstrapping issues.
3. Pass correct source roots to compiler when building
stdlib, since now we pass module root by default,
while stdlib source roots are outside of module root.
2017-10-10 14:11:15 +03:00
Alexey Sedunov
ea8f3dcc65
Go to Implementation: Support suspend functions
2017-10-10 13:15:16 +03:00
Alexey Sedunov
21bf4d3f24
Rename: Suspend function support
2017-10-10 13:15:15 +03:00
Toshiaki Kameyama
c5b7d0f0df
Remove parentheses after deleting the last unused constructor parameter
...
So #KT-16636 Fixed
2017-10-10 11:55:27 +03:00
Mikhail Glukhikh
7ade2bb708
Move CreateActualFix to expectactual package
2017-10-10 10:45:12 +03:00
Mikhail Glukhikh
104826e0a9
Line markers: use descriptors in isExpect/ActualDeclaration
2017-10-10 10:45:10 +03:00
Mikhail Glukhikh
1bf0424b1c
Set line marker on expect constructor '(' if no constructor keyword
2017-10-10 10:44:51 +03:00
Mikhail Glukhikh
4bfaa46c15
Add correct mapping of module descriptor to implementedDescriptor
...
Now implements dependency is taken into account here
Old commonModuleOrNull() was deleted
Test (JVM + 2xCommon) was added
2017-10-10 10:44:44 +03:00
Mikhail Glukhikh
b5e2fa5f94
Add line marker test for type aliases #KT-20164 Fixed
2017-10-10 10:44:39 +03:00
Mikhail Glukhikh
eec8be2c21
Add line marker test for primary constructors #KT-20254 Fixed
2017-10-10 10:44:38 +03:00
Mikhail Glukhikh
0ebe9d576a
Add line marker test for sealed classes #KT-20043 Fixed
2017-10-10 10:44:36 +03:00
Mikhail Glukhikh
4e56fda439
Introduce isExpect/ActualDeclaration in KotlinLineMarkerProvider
...
Treat every member of expect declaration as expect declaration itself
So #KT-18455 Fixed
2017-10-10 10:44:35 +03:00
Mikhail Glukhikh
ceab148b09
Expect/actual markers: handle secondary constructors correctly
...
So #KT-20309 Fixed
2017-10-10 10:44:33 +03:00
Dmitry Petrov
26136cd0fe
Check constness of 'apiVersionIsAtLeast' arguments
2017-10-10 09:04:51 +03:00
Dmitry Petrov
23d8b4cefe
Do not run CCE if there were no apiVersionIsAtLeast calls
2017-10-10 09:04:51 +03:00
Dmitry Petrov
fd16035bbd
API version calls preprocessing, 1st passing test
2017-10-10 09:04:51 +03:00
Dmitry Petrov
4e7c4c3976
Minor: inline single use of 'analyzeMethodNodeBeforeInline'
2017-10-10 09:04:51 +03:00
Dmitry Petrov
a89f978597
Provide configurable constructor call normalization
...
Three modes:
- 'disable' (default): normalize constructor calls in coroutines only
(required because uninitialized objects can't be stored in fields),
don't insert additional code for forced class initialization;
- 'enable': normalize constructor calls,
don't insert additional code for forced class initialization;
- 'preserve-class-initialization': normalize constructor calls,
insert additional code for forced class initialization.
2017-10-10 08:49:19 +03:00
Dmitry Petrov
e71090ae4c
Spill stack for inline functions only if it's required
...
Stack should be spilled before inline function call and restored after
call only if one of the following conditions is met:
- inline function is a suspend function
- inline function has try-catch blocks
- inline function has loops (backward jumps)
Note that there're quite some "simple" inline functions in Kotlin stdlib
besides run/let/with/apply. For example, many string operations are
implemented as inline wrappers over Java method calls.
2017-10-10 08:49:19 +03:00
Mikhail Zarechenskiy
1845a87813
Provide no-arg constructors for common expected annotations in stdlib
...
This is needed because we treat `expect` classes as not having implicit default constructors (see more in KT-15522, f3344ec )
2017-10-09 18:50:38 +03:00
Mikhael Bogdanov
bd9ac65eaf
Update stdlib jre8 test jvm-target
2017-10-09 16:38:56 +02:00
Mikhael Bogdanov
3c81430bb9
Update cli module jvm-target
...
#KT-20671 Fixed
2017-10-09 16:38:56 +02:00
Kirill Rakhman
91c35a6c59
Support listOfNotNull in SimplifiableCallChainInspection #KT-20410 Fixed
2017-10-09 16:38:52 +03:00
Dmitry Petrov
82a9c35194
Fix self-reference to singleton in initializer
...
Singleton instance is "initialized" by delegating constructor call,
which is superclass constructor call in case of singletons (because
singletons can't have more than one constructor).
Singleton constructor is effectively split into two stages:
- before a super constructor call;
- after a super constructor call.
Before super constructor call, singleton instance can't be used directly
(see KT-20662), because neither 'this' nor static instance is
initialized yet. However, it can be used in closures, in which case a
static instance should be used (escaping uninitialized this is
prohibited by JVM). Actually using this static instance before it is
initialized (e.g., invoking a method that uses this singleton) will
cause a correct ExceptionInInitializerError.
After a super constructor call, static instance of a singleton may be
not initialized yet (in case of enum entries and interface companion
objects). However, we already have an initialized 'this', which we
should use for singleton references.
#KT-20651 Fixed
2017-10-09 16:27:34 +03:00
Vyacheslav Gerasimov
62d0e4a51a
Add name for GradleProjectImportProvider
...
#KT-20648 Fixed
2017-10-09 14:40:35 +03:00
Alexander Udalov
6d9e8c9414
Add Gradle tasks to generate protobuf, update readme
2017-10-09 12:35:46 +02:00
Alexander Udalov
450bfca41f
Move dependency generators->protobufFull up in the list
...
Otherwise protobufLite (required by compiler modules) wins, and
GenerateProtoBufCompare cannot be run
2017-10-09 12:35:42 +02:00
Alexander Udalov
2699868586
Add "-Duser.country=US" to gradle.properties
...
To make Gradle daemon which is run from IntelliJ IDEA use the same
environment as the daemon run by the "gradlew" command (the latter is
always using US)
2017-10-09 12:34:02 +02:00
Dmitry Petrov
a4918748a5
Specialize not-null values using information from current analysis pass
...
Instead of a separate analysis pass to determine variable types at the
point of null checks, use current data flow information and transform
possibly nullable values to definitely non-null values using a special
intrinsic.
This allows to perform a single data flow analysis pass per RNCE
transformation pass (instead of two passes).
2017-10-09 12:20:40 +03:00
Dmitry Petrov
d31efaa7ac
Don't analyze method in RNCE if there're no optimizable instructions
2017-10-09 12:20:40 +03:00
Toshiaki Kameyama
0bda2732e5
Fix for KT-19134 IntelliJ Color Scheme editor - allow changing color of colons and double colons ( #1314 )
2017-10-09 11:02:02 +02:00
Nicolay Mitropolsky
d609579e55
FakeFileForLightClass tries to use ktFile.originalFile.virtualFile
2017-10-06 23:53:33 +03:00
Dmitry Jemerov
703d053157
Additional fixes for consistent parent conversion
2017-10-06 20:51:04 +02:00
Dmitry Jemerov
bde7a657cf
Adapt to new equality rules due to lazy parent calculation
2017-10-06 20:51:04 +02:00
Dmitry Jemerov
ada695bd17
Fix loop in parent structure on 'when' condition with expression
2017-10-06 20:51:03 +02:00
Dmitry Jemerov
31fb34d9af
Fix and add some required type checks
2017-10-06 20:51:03 +02:00
Vyacheslav Gerasimov
b12f24b41c
Fix KtLightClass conversion and testParameterPropertyWithAnnotation
2017-10-06 20:51:03 +02:00
Dmitry Jemerov
fe021afa37
Temp disable UAST caching
2017-10-06 20:51:03 +02:00
Dmitry Jemerov
bab2641bed
Don't test parent structure consistency in irrelevant cases
2017-10-06 20:51:03 +02:00
Dmitry Jemerov
61f6db87c4
Use convertOpt() for getting inner classes of script
2017-10-06 20:51:02 +02:00
Dmitry Jemerov
a4f5a1335a
Fix convering parents of annotations on primary constructor parameters
2017-10-06 20:51:02 +02:00
Dmitry Jemerov
56168b4a09
Fix destructuring declaration test
2017-10-06 20:51:02 +02:00
Dmitry Jemerov
a7efc4f5da
Return correct parent for parts of converted elvis expression
2017-10-06 20:51:02 +02:00
Dmitry Jemerov
e55f4c6e78
Return correct parent element for destructuring declaration initializer
2017-10-06 20:51:02 +02:00
Dmitry Jemerov
a44dff6803
Take into account annotation use site target when converting parent
2017-10-06 20:51:01 +02:00
Dmitry Jemerov
d976c1d594
Correctly convert KtProperty with no backing field to UAST
2017-10-06 20:51:01 +02:00
Dmitry Jemerov
e63838703a
Consistently convert local functions to UAST
2017-10-06 20:51:01 +02:00
Dmitry Jemerov
942fe11020
Correctly convert KtParameter to UAST
2017-10-06 20:51:01 +02:00
Dmitry Jemerov
adf1df3eb0
Return correct parent for elements under when expression body
2017-10-06 20:51:01 +02:00
Dmitry Jemerov
c98c3a7033
Work in progress on consistent UAST structure
2017-10-06 20:51:00 +02:00
Dmitry Jemerov
a5a5b37e1e
Don't duplicate UAST parent calculation logic
2017-10-06 20:51:00 +02:00
Dmitry Jemerov
b638febc41
Fix conversion of destructuring declarations
2017-10-06 20:51:00 +02:00
Dmitry Jemerov
40daeb13d1
Evaluate parents of UAST elements lazily
...
Also add tests for UAST consistency in various cases
2017-10-06 20:51:00 +02:00
Dmitry Jemerov
91459bbd6a
Enable caching of converted UElements for Kotlin
2017-10-06 20:50:59 +02:00
Ilya Chernikov
cff6d8cf17
Refactor context classpath discovery, share it to idea's jsr223 host...
...
...from script-util
fix daemon usage in repls
define compiler classpath for script-util tests explicitly
minor refactorings in the build scripts for better import into idea
2017-10-06 20:12:51 +02:00
xiexed
12e35ccf96
KotlinUastBindingContextProviderService moved to plugin.xml (#1303 )
2017-10-06 19:17:25 +02:00
Raluca Sauciuc
768710676b
AndroidExtensionsReferenceSearchExecutor should also require a read action ( #1327 )
...
... just like AndroidReferenceSearchExecutor does. Otherwise, we get
com.intellij.openapi.application.impl.ApplicationImpl$NoReadAccessException
[java] [uitest] at com.intellij.openapi.application.impl.ApplicationImpl.assertReadAccessAllowed(ApplicationImpl.java:1070)
[java] [uitest] at com.intellij.psi.impl.source.tree.CompositeElement.textToCharArray(CompositeElement.java:291)
[java] [uitest] at com.intellij.psi.impl.source.tree.CompositeElement.getText(CompositeElement.java:261)
[java] [uitest] at com.intellij.psi.impl.source.xml.XmlAttributeValueImpl.getValue(XmlAttributeValueImpl.java:72)
[java] [uitest] at org.jetbrains.android.dom.wrappers.ValueResourceElementWrapper.getValue(ValueResourceElementWrapper.java:458)
[java] [uitest] at org.jetbrains.kotlin.AndroidExtensionsReferenceSearchExecutor.processQuery(AndroidExtensionsReferenceSearchExecutor.kt:42)
[java] [uitest] at org.jetbrains.kotlin.AndroidExtensionsReferenceSearchExecutor.processQuery(AndroidExtensionsReferenceSearchExecutor.kt:38)
[java] [uitest] at com.intellij.openapi.application.QueryExecutorBase.execute(QueryExecutorBase.java:87)
[java] [uitest] at com.intellij.util.ExecutorsQuery.processResults(ExecutorsQuery.java:45)
[java] [uitest] at com.intellij.util.AbstractQuery.forEach(AbstractQuery.java:79)
[java] [uitest] at com.intellij.util.UniqueResultsQuery.process(UniqueResultsQuery.java:66)
[java] [uitest] at com.intellij.util.UniqueResultsQuery.forEach(UniqueResultsQuery.java:56)
[java] [uitest] at com.intellij.psi.search.QuerySearchRequest.runQuery(QuerySearchRequest.java:53)
[java] [uitest] at com.intellij.psi.impl.search.PsiSearchHelperImpl.appendCollectorsFromQueryRequests(PsiSearchHelperImpl.java:635)
[java] [uitest] at com.intellij.psi.impl.search.PsiSearchHelperImpl.processRequests(PsiSearchHelperImpl.java:596)
[java] [uitest] at com.intellij.psi.search.SearchRequestQuery.processResults(SearchRequestQuery.java:45)
[java] [uitest] at com.intellij.util.AbstractQuery.forEach(AbstractQuery.java:79)
[java] [uitest] at com.intellij.util.MergeQuery.processSubQuery(MergeQuery.java:85)
[java] [uitest] at com.intellij.util.MergeQuery.forEach(MergeQuery.java:57)
[java] [uitest] at com.intellij.util.MergeQuery.findFirst(MergeQuery.java:51)
[java] [uitest] at com.intellij.util.UniqueResultsQuery.findFirst(UniqueResultsQuery.java:51)
[java] [uitest] at com.android.tools.idea.editors.theme.ThemeEditorComponent$19.doInBackground(ThemeEditorComponent.java:895)
[java] [uitest] at com.android.tools.idea.editors.theme.ThemeEditorComponent$19.doInBackground(ThemeEditorComponent.java:891)
[java] [uitest] at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
[java] [uitest] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[java] [uitest] at javax.swing.SwingWorker.run(SwingWorker.java:334)
[java] [uitest] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[java] [uitest] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[java] [uitest] at java.lang.Thread.run(Thread.java:745)
[java] [uitest] [ 72230] ERROR - plication.impl.ApplicationImpl - Android Studio 3.1 Canary Build #171.SNAPSHOT
2017-10-06 19:11:59 +02:00
Ilya Gorbunov
8b70767d76
Configure pom signing before deployment
...
Use groovy where kotlin dsl lacks of typed api
2017-10-06 19:50:22 +03:00
Alexey Andreev
eaa8729259
Fix embedding sources to source maps when compiling JS stdlib
2017-10-06 18:26:15 +03:00
Alexey Andreev
3b3fd0fa0d
JS: fix DCE limits in test data to fit new kotlin.js size
...
The size has increased due to new implementation of KClass
2017-10-06 18:16:51 +03:00
Anton Bannykh
997aecfcab
JS: default to enabled TypedArrays translation when configuration key is not present
2017-10-06 17:14:23 +03:00
Mikhail Glukhikh
e1ccd3afc5
Inspection: do not report anything with manual INFORMATION level offline
...
So #KT-20369 Fixed
So #KT-20333 Fixed
2017-10-06 16:21:04 +03:00
Toshiaki Kameyama
ec64a7e422
Insert brackets in "Convert reference to lambda" if necessary
...
So #KT-16394 Fixed
2017-10-06 16:20:45 +03:00
Leonid Stashevsky
0348561cd2
Add annotation for default parameter value
2017-10-06 15:45:38 +03:00
e5l
62e87c873c
Add annotation for parameter name in signatures
2017-10-06 15:45:37 +03:00
Dmitry Jemerov
8201ff3006
Fix properties plugin dependency for AS 2.3
2017-10-06 14:43:22 +02:00
Dmitry Jemerov
d79b9c1b51
Allow plugin dependencies to be optional (no Maven in Android Studio)
2017-10-06 14:43:22 +02:00
Dmitry Jemerov
85254838f6
Allow building UAST for in-memory virtual files
2017-10-06 14:43:22 +02:00
Leonid Stashevsky
a54c71eb30
Escape separator in jsr305 CLI tests
2017-10-06 15:34:33 +03:00
Alexey Andreev
9008791a54
JS: generate paths in source maps relative to .map file location
...
See KT-19818
2017-10-06 15:24:25 +03:00
Alexey Andreev
93a3026c6d
JS: improve representation of KClass for primitive types
...
See KT-17933, KT-17629, KT-17760
2017-10-06 15:21:38 +03:00
Toshiaki Kameyama
bbb571260b
Fix 'Redundant override' when delegated member hides super type override
...
So #KT-20231 Fixed
2017-10-06 14:58:15 +03:00
Dmitry Savvinov
3daee25ce8
Fix tests generators
2017-10-06 13:18:53 +03:00
Mikhail Glukhikh
12ad1b2494
Open created actual class in editor #KT-20135 Fixed
2017-10-06 12:29:00 +03:00
Mikhael Bogdanov
d9df2416a6
Refactor KotlinMultiplatformPlugin to allow Native extend it
2017-10-06 10:56:15 +02:00
Mikhail Glukhikh
8a3fed15f8
Report NO_ACTUAL_FOR_EXPECT etc. on relevant declaration
...
So #KT-20398 Fixed
2017-10-06 10:48:34 +03:00
Mikhail Glukhikh
472e6f462f
Report some actual declaration problems on declaration name
...
Related to KT-20398
2017-10-06 10:48:24 +03:00
Ilya Gorbunov
5b7c3ee655
Advance bootstrap version to 1.1.60-dev-277
2017-10-05 22:48:12 +03:00
Sergey Igushkin
f4ec8df187
Remove erroneous mavenCentral() from plugins DSL tests
2017-10-05 21:07:46 +03:00
Sergey Igushkin
df99c4fe28
Fix compiler classpath discovery:
...
* Fix accidental filtering out the stdlib and reflect
* Fix module search in classpath: use moduleId instead of k-c-embeddable
2017-10-05 21:05:06 +03:00
Sergey Igushkin
a2df5c38dd
Remove the Kotlin version suffix from PluginsDslIT.kt
2017-10-05 21:05:06 +03:00
Sergey Igushkin
769759d6ce
Add jcenter() to testProject repositories where needed.
2017-10-05 21:05:06 +03:00
Sergey Igushkin
ad4fc7363e
Install annotation-processor-example for Gradle integration tests.
2017-10-05 21:05:06 +03:00
Sergey Igushkin
feee93186b
Replace kotlin-annotation-processing -> (...)-gradle for Kapt
2017-10-05 21:05:06 +03:00
Ilya Gorbunov
ae28af03d1
Add mavenCentral or jcenter to fetch external dependencies of our gradle plugin and stdlib
2017-10-05 21:05:05 +03:00
Ilya Gorbunov
865f2464ab
Add aggregation task for gradle integration tests, rename task for gradle tests
2017-10-05 21:05:05 +03:00
Ilya Gorbunov
6a61d22ad3
Correctly setup maven local repository path and kotlin version for gradle integration tests
2017-10-05 21:05:05 +03:00
Sergey Igushkin
7af7696c44
Refactor UpToDatenessIT.kt
...
(cherry picked from commit 878ec8b)
2017-10-05 20:44:55 +03:00
Sergey Igushkin
5f593ac3f8
Add @Input to compiler args and compiler JAR. Add up-to-date-ness tests.
...
Issue #KT-20036 Fixed
Issue #KT-3463 Fixed
Issue #KT-16299 Fixed
Issue #KT-16915 Fixed
(cherry picked from commit e6d867f)
2017-10-05 20:24:01 +03:00
Sergey Igushkin
ba649d0869
Fix POM attributes missing form Gradle plugins
...
(cherry picked from commit bc447e8)
2017-10-05 19:21:04 +03:00
Alexey Sedunov
3df43ccc6a
Gradle: Respect 'implement' when collecting transitive dependencies of
...
IDEA module
This covers the cases when module is transitively reachable via
sequence of "compile"/"implement" dependencies
with at least one "implement" present (cases when module is transitively
reachable via "compile" only are handled automatically)
#KT-16926 Fixed
2017-10-05 17:30:26 +03:00
Ilya Chernikov
69e5f11889
Fix test generation on some platforms
2017-10-05 16:14:27 +02:00
Ilya Chernikov
f00fcddc76
Fix ide dependencies in gradle-plugin module
2017-10-05 16:14:26 +02:00
Ilya Chernikov
f48d0f4b15
Revert accidental test ignoring
2017-10-05 16:14:26 +02:00
Sergey Igushkin
28567570ea
Changes related to the 'expectedBy' Gradle configuration:
...
* Remove the `extendsFrom` relation;
* Refactor, reword warnings;
* Add the new expectedBy name to `KotlinGradleModelBuilder.kt`.
(cherry picked from commit de198f0)
2017-10-05 15:37:44 +03:00
Sergey Igushkin
ff687131b1
Rename implement to expectedBy in Gradle, deprecate the old name
...
Issue #KT-20618 Fixed
(cherry picked from commit 6e0d378)
2017-10-05 15:37:43 +03:00
Mikhail Glukhikh
aff689afba
Allow "create actual" for function even if partially-compatible exists
...
So #KT-20163 Fixed
2017-10-05 15:28:37 +03:00
Mikhail Glukhikh
e8321be380
Handle interface / abstract members correctly in "Create actual" fix
...
So #KT-20243 Fixed
2017-10-05 15:28:33 +03:00
Mikhail Glukhikh
fe786ad7f3
Set primary constructor and its properties actual in "create actual"
...
So #KT-20044 Fixed
2017-10-05 15:28:30 +03:00
Mikhail Glukhikh
d85c2dbe1f
Specify relevant declaration type in "create actual" fix #KT-20325 Fixed
2017-10-05 15:28:28 +03:00
Mikhail Glukhikh
93109c0d0e
Generate actual keyword for secondary constructors #KT-20008 Fixed
2017-10-05 15:28:25 +03:00
Mikhail Glukhikh
1e79d9791d
Generate actual nested classes for actual owner class #KT-19937 Fixed
2017-10-05 15:28:22 +03:00
Mikhail Glukhikh
e47feaf0b8
Add test for KT-20007
2017-10-05 15:28:21 +03:00
Stanislav Erokhin
4c456983eb
Fix javac tests (add separate descriptor rendering)
2017-10-05 15:11:45 +03:00
Stanislav Erokhin
208051b314
Do not run annotation processor in javac integrated tests
...
Annotation processor can be found in javaslang-2.0.6.jar library.
This jar should be in classpath because it used in compiler
(not as annotation processor of course).
Before migration to GSK this library was also in classpath and it isn't
clear, why it not recognised as an annotation processor.
Anyway, for this tests we should'nt run annotation processors
2017-10-05 15:11:44 +03:00
Toshiaki Kameyama
e92af08c98
Introduce "Assign to property" quick-fix #KT-17204 Fixed
2017-10-05 14:25:28 +03:00
Dmitry Petrov
67a50e92d0
Load annotations for default getter and setter
...
#KT-14697 Fixed
2017-10-05 10:24:29 +03:00
Mikhail Zarechenskiy
c6a00af2f0
Fix test data after f3344ec
2017-10-05 10:21:26 +03:00
Ilya Gorbunov
3fd1a0f14b
Update maven-archetype plugin to 3.0.1
...
To get the fix for https://issues.apache.org/jira/browse/ARCHETYPE-488
2017-10-05 02:45:01 +03:00
Mikhail Zarechenskiy
a06203512f
Minor, rename variable: expected -> actual
2017-10-05 00:10:46 +03:00
Mikhail Zarechenskiy
68a2ba4918
Fix function, expected declaration can be without expect modifier
...
For example, for nested classes of expected class
2017-10-05 00:10:45 +03:00
Mikhail Zarechenskiy
4b2fc9a325
Don't offer to remove empty primary constructor of expect class
2017-10-05 00:10:44 +03:00
Mikhail Zarechenskiy
f3344ec2b2
Treat expect classes as not having implicit default constructors
...
#KT-15522 Fixed
2017-10-05 00:10:42 +03:00
Ilya Gorbunov
887e71a7c1
Provide kotlin bootstrap source options
2017-10-04 20:02:26 +03:00
Ilya Gorbunov
5483de276e
Specify bootstrap version with gradle props instead of system props
...
Make bootstrap dependency version explicit
2017-10-04 20:02:12 +03:00
Ilya Gorbunov
b7d21ab4da
Use embeddedKotlinVersion to compile buildSrc, but make it possible to override it
2017-10-04 19:27:28 +03:00
Ilya Gorbunov
2627fe8387
Upgrade to gradle 4.2
2017-10-04 19:27:28 +03:00
Ilya Gorbunov
cfdcc9eb03
Minor: fix description typo #KT-20600 Fixed
2017-10-04 19:15:33 +03:00
Ilya Gorbunov
0898897057
Remove crossinline restriction from synchronized in js and common
...
#KT-20596 Fixed
2017-10-04 19:15:33 +03:00
Ilya Gorbunov
409f361a7c
Pass project version as kotlinVersion to archetype integration tests
...
Verify that the projects created from archetypes can actually be built.
2017-10-04 19:05:31 +03:00
Sergey Igushkin
31c9e0072e
Merge pull request #1289 from gildor/KT-18765
...
Move incremental compilation message from Gradle's warning to info logging level
Issue #KT-18765 Fixed
2017-10-04 16:52:35 +03:00
Simon Ogorodnik
237284d247
Fix ISE already disposed DefaultPicoContainer in Compiler Tests
...
Some test's won't create their own application, and assumes
that ApplicationManager.getApplication() is null
But CompilerEnvironmentTest had created application
somewhere inside compiler, disposed it, but forgot to reset
variable, causing few tests to fail because of not overridden
application
2017-10-04 15:36:46 +03:00
Yoshinori Isogai
0381b74fed
Delete "Running specific generated tests" ( #1329 )
...
This section is valid before kotlin is built by gradle. Since there is
no working directory setting in run configuration, we need to delete
this document
2017-10-04 14:15:16 +02:00
Dmitry Petrov
a88de2b0da
Ignore testSuspendInTheMiddleOfObjectConstructionEvaluationOrder in JS
2017-10-04 13:57:01 +03:00
Dmitry Petrov
7e808bd3ea
Add more tests for constructor call evaluation order
...
- break in arguments
- continue in arguments
- early return in arguments
- non-local return in arguments
- nested constructor call in arguments
2017-10-04 13:39:48 +03:00
Dmitry Petrov
c3d74bdabb
Support jump out of the constructor call in suspend functions
...
Jump out from expression (e.g., break or continue expression in call
arguments) requires stack normalization, which inserts POP instructions.
POPping an uninitialized value is similar to ASTORE, except that it
doesn't store a value to a local variable. Such POP instructions should
be removed during postprocessing of the uninitialized stores.
2017-10-04 13:39:48 +03:00
Dmitry Petrov
da6841163b
Maintain evaluation order for suspend calls in constructor arguments
...
Insert 'Class.forName(...)' in place of NEW instruction, so that the
corresponding class will be initialized if required.
2017-10-04 13:39:48 +03:00
Dmitry Petrov
533c1d2541
Reject bytecode manipulating with uninitialized values on stack
...
NB this will break parcel-related tests in android-extensions compiler
plugin
2017-10-04 13:39:48 +03:00
Dmitry Petrov
3405ae30a1
Inner classes of generic classes can't extend Throwable
...
Do it in the same way as Java: prohibit inner classes (including
anonymous inner classes) capturing type parameters from outer classes
(but not outer methods) extending Throwable.
See KT-17981:
- Deprecated in 1.2
- Error in 1.3
2017-10-04 12:43:50 +03:00
Andrey Mischenko
e4fe9be5e7
Merge branch 'master' into KT-18765
2017-10-04 17:43:11 +08:00
Alexey Andreev
27e319a279
JS: fix parsing of object literals in js() function.
...
Also, fix generation of source maps of content of js() function.
See KT-19794
2017-10-04 12:01:51 +03:00
Alexey Andreev
c15847a957
JS: support non-local return from secondary constructor
...
See KT-14549
2017-10-04 12:00:53 +03:00
Alexey Andreev
e323da3c5e
Fix compilation of Maven JS plugin
2017-10-03 17:23:02 +03:00
e5l
cbaf38f793
Add CLI test on new jsr305 flag values
2017-10-03 16:44:02 +03:00
e5l
1e157d6480
Use report policy from TypeQualifierDefault annotation if possible
2017-10-03 16:44:02 +03:00
e5l
c512db8e1c
Validate -Xjsr305 value in CLI
2017-10-03 16:44:02 +03:00
Leonid Stashevsky
95d32d8d1e
Add @UnderMigration annotation and options for report level
2017-10-03 16:44:02 +03:00
Nikolay Krasko
a524bde9b7
Rename: JetRunConfiguration* -> KotlinRunConfiguration*
2017-10-03 16:18:54 +03:00
Nikolay Krasko
0bffd04ef1
Add kotlin.stdlib requirement to module-info on configure (KT-19207)
...
KotlinAddRequiredModuleFix is almost copy ofAddRequiredModuleFix from
the platform but it moves actual fix method to static with less
parameters and checks directive presence before add.
#KT-19207 Fixed
2017-10-03 16:18:53 +03:00
Nikolay Krasko
2634ed15fa
Configure sdk properly in configure Kotlin tests
2017-10-03 16:10:33 +03:00
Nikolay Krasko
0f61a0f7bd
Fix file root access failure in configure tests
2017-10-03 16:10:33 +03:00
Nikolay Krasko
dc86f8c432
Refactoring: extract "kotlin.stdlib" to constant
...
It will be used in IDE as well.
2017-10-03 16:10:33 +03:00
Nikolay Krasko
3145c096a7
Refactoring: introduce Sdk.version extension
...
(cherry picked from commit d387e6e)
2017-10-03 16:10:33 +03:00
Nikolay Krasko
4cdd4c04a3
Run configurations with module path for Java 9 named modules (KT-19886)
...
#KT-19886 Fixed
(cherry picked from commit 1e12828)
2017-10-03 16:10:33 +03:00
Nikolay Krasko
166682937f
Copy mock JDK 9 from intellij idea
...
(cherry picked from commit aef9220)
2017-10-03 16:10:33 +03:00
Nikolay Krasko
8aa4b75e1c
Quick fix for module is absent in module-info requirements (KT-20108)
...
#KT-20108 Fixed
2017-10-03 16:10:32 +03:00
Simon Ogorodnik
228588a87c
Fix TestExecutedOnlyOnceTest by properly setting RunWith
...
When test contains nested test classes
Both root and nested classes should be annotated with
`@RunWith(JUnit3RunnerWithInners.class)`
to avoid running tests twice
2017-10-03 15:45:36 +03:00
Simon Ogorodnik
289b0862a7
Fix MavenTestCase to use Maven mirror only when it available
2017-10-03 15:18:04 +03:00
Alexey Andreev
10f7f61991
Fix compilation of Gradle JS task
2017-10-03 14:50:24 +03:00
Alexey Andreev
21e91c4052
JS: rename -source-map-source-roots to -source-map-base-dirs
...
See KT-19906
2017-10-03 14:26:37 +03:00
Mikhail Glukhikh
b3fe572447
Minor fix for EA-108087
2017-10-03 11:05:21 +03:00
Mikhail Glukhikh
5c4c77a80a
Determine enclosing element correctly inside base constructor
...
So #KT-17680 Fixed
So #KT-18740 Fixed
So EA-76201 Fixed
2017-10-03 11:05:21 +03:00
Nicolay Mitropolsky
b839081349
Support for collections literals in LightAnnotations (KT-20543)
2017-10-02 18:44:23 +03:00
Alexey Sedunov
b288406e3c
Multiplatform: Fix dependencies of implementing module descriptors cache
...
This fixes some failing tests
2017-10-02 18:14:05 +03:00
Alexey Sedunov
67798d73a1
Minor: Fix multi-module test data
...
This is required since "implements" dependency is now specified
explicitly in the Kotlin facet configuration
2017-10-02 18:14:04 +03:00
Alexey Sedunov
ea99a2b537
Kotlin Facet: Fix deserialization of "implements" dependency
2017-10-02 18:14:04 +03:00
Alexey Sedunov
9afd2d367b
Minor: Fix ReferenceResolveTestGenerated test data
2017-10-02 18:14:04 +03:00
Alexey Sedunov
aabe23d410
Minor: Fix coroutine package name in quick fix tests
2017-10-02 18:14:04 +03:00
Toshiaki Kameyama
2121322665
Fix useless "Remove curly braces" before Chinese character
...
So #KT-20409 Fixed
2017-10-02 17:46:07 +03:00
Mikhail Glukhikh
912ddfcb2b
Build name correctly in ShadowedDeclarationsFilter
...
So #KT-16383 Fixed
Also should fix EA-104812, EA-99338, EA-107064
2017-10-02 17:41:24 +03:00
Mikhail Glukhikh
9aa25f8af8
Code cleanup: shadowed declarations filter
2017-10-02 17:41:24 +03:00
Denis Zharkov
edbf360852
Do not render trivial variables in DataFlow tests
...
The reason is that while there are optimizations for them
definition of their state is both rather simple and may be
confusing in testData
2017-10-02 10:04:16 +03:00
Denis Zharkov
477aeef90c
Update test data for rendered CFA results after optimizations
2017-10-02 10:04:16 +03:00
Denis Zharkov
a51078fda6
Turn off optimizations in case of do-while presence
2017-10-02 10:04:16 +03:00
Denis Zharkov
c31b5beb9e
Remove redundant check for a variable being initialized after write
...
It's anyway is obvious for write instruction, while effectively
after optimizations we treat val with syntactic initializer
uninitialized until their immediate initiazer
2017-10-02 10:04:16 +03:00
Denis Zharkov
8eb36947ca
Minor. Invert and extract condition for checkAssignmentBeforeDeclaration
2017-10-02 10:04:16 +03:00
Denis Zharkov
527daced46
Optimize CFG for cases of simple variables
...
Parameters/vals with an immediate initializer (which we assume is a
rather common situation) do not require any kind of complicated CFA
- Unused vals can be simply determined by linear traversal of
the pseudocode
- Definite assignment is a bit more complicated: a read-instruction of val
can be considered as a safe if it's located *after* the first write in
the pseudocode. It works almost always beside the case with do/while
(see the test changed). This case will be fixed in the further commits
The test for kt897.kt will also be fixed further, all other changes
might be considered as minor as they mostly change diagnostics for
already red code
2017-10-02 10:04:16 +03:00
Denis Zharkov
4b79269cec
Extract ReadOnly*ControlFlowInfo interfaces from *ControlFlowInfo
...
It's necessary for further optimizations: not for all cases we actually
need to build a map
The naming is still a subject for discussion
2017-10-02 10:04:16 +03:00
Ilya Gorbunov
791bfde64b
Fork ivy download process
...
Helps to fix download hangs under some circumstances.
2017-10-02 05:24:28 +03:00
Alexey Tsvetkov
72d2e7dd45
Minor: restore accidentally removed import
2017-09-29 21:40:54 +03:00
Alexey Tsvetkov
a8cfe19769
Add option to debug Kotlin daemon in Gradle integration tests
2017-09-29 15:19:36 +03:00
Alexey Tsvetkov
39f49f1449
Ensure dependencies are installed before running Gradle integration tests
2017-09-29 15:19:36 +03:00
Alexander Udalov
5348d2e43a
Consider module output as part of the same Java module
...
This fixes incremental compilation for explicit Java 9 modules
#KT-20064 Fixed
#KT-20082 Fixed
2017-09-29 15:10:38 +03:00
Alexander Udalov
0a9c21dbc8
Refactor roots computation in ClasspathRootsResolver
2017-09-29 15:10:37 +03:00
Alexander Udalov
848be226ed
Minor, invert JavaModule.isBinary -> isSourceModule
2017-09-29 15:10:37 +03:00
Alexander Udalov
8496944a36
Refactor JavaModule, support several roots in one module
...
In case of partial/incremental compilation, a module usually consists of
two roots, one of which is source and another is binary. Thus, it's
incorrect to divide modules into "binary" and "non-binary", and only
look for .class files in "binary" modules in
CliJavaModuleResolver.findJavaModule. The more correct way is to think
of a module as a collection of roots, and every root is either binary or
source
2017-09-29 15:10:37 +03:00
Simon Ogorodnik
03f97ff7f1
Revert "Add 1.2-Beta to changelog"
...
This reverts commit 676e5d2a88 .
2017-09-29 14:54:23 +03:00
Sergey Mashkov
49cbb2219c
Maven: reduce maven plugin output
...
#KT-20400 Fixed
2017-09-29 14:49:41 +03:00
Alexey Sedunov
be21a84778
Configuration: Fix modification checking in compiler settings UI
...
#KT-18996 Fixed
2017-09-29 14:37:04 +03:00
Alexey Sedunov
b4847e69e8
Minor: Fix test data
2017-09-29 14:37:04 +03:00
Alexey Sedunov
f63e33b23d
Modules: Support production-on-test dependency
...
This feature is supported in IDEA project configuration
and can be used in Maven/Gradle-based projects
#KT-20112 Fixed
2017-09-29 14:37:04 +03:00
Alexey Andreev
0269c3309a
JS: fix parsing of wrong delete operation in js function.
...
See KT-15294
2017-09-29 14:32:49 +03:00
Alexey Andreev
bad50c03a7
JS: support cross-module inlining of suspend functions
...
See KT-18063
2017-09-29 14:32:49 +03:00
Alexey Andreev
992cc61abc
JS: prove that KT-15292 is no more reproducible
2017-09-29 14:32:48 +03:00
Alexey Andreev
bf87826dd1
JS: add test to prove that KT-15622 is no more reproducible
2017-09-29 14:32:47 +03:00
Alexey Andreev
43c6f8b9b1
JS: fix copying fun with default args from interface to abstract class
...
See KT-20451
2017-09-29 14:32:47 +03:00
Simon Ogorodnik
676e5d2a88
Add 1.2-Beta to changelog
2017-09-29 14:20:26 +03:00
Denis Zharkov
13bf35f48e
Make TYPE_USE default qualifiers overriding all other applicabilities
...
If there is default qualifier with TYPE_USE closer than one with METHOD
then its nullability should be considered even when enhancing return type
#KT-20016 Fixed
2017-09-29 10:01:04 +03:00
Alexey Tsvetkov
62f293280c
Gradle: compile tests incrementally when main is changed
...
#KT-17674 fixed
2017-09-29 05:11:20 +03:00
Ilya Gorbunov
779b9c6fcc
Change TeamCity build status badge to point to the compiler build configuration
2017-09-28 22:02:53 +03:00
Francesco Vasco
9ffd0db4a8
Avoid ISUB in kotlin.repeat
2017-09-28 22:02:53 +03:00
Anton Bannykh
ab615b7d70
Merge pull request #1321 from JetBrains/abannykh/fix-npm-publish
...
Don't set publish tag in package.json since it overrides the CLI flags
2017-09-28 19:50:11 +03:00
Anton Bannykh
796e0feaa4
Don't set publish tag in package.json since it overrides the CLI flags
2017-09-28 19:45:44 +03:00
Mikhail Glukhikh
e8682fa9b9
Use diagnoseDescriptorNotFound() in findClassDescriptor
2017-09-28 18:43:39 +03:00
Mikhail Glukhikh
5c0bc266b3
Do not use unsafe getClassDescriptor() inside resolveToDescriptor
...
Introduce getClassDescriptorIfAny / findClassDescriptorIfAny instead
May fix KT-18740 / EA-76201
2017-09-28 18:43:38 +03:00
Mikhail Glukhikh
adf0b25c0b
LazyDeclarationResolver.kt: convert to Kotlin
2017-09-28 18:43:38 +03:00
Mikhail Glukhikh
04157c4137
LazyDeclarationResolver.java --> kt
2017-09-28 18:43:38 +03:00
Mikhail Glukhikh
5c5776a6b5
Use resolveToDescriptorIfAny in IDELightClassGenerationSupport
2017-09-28 18:43:38 +03:00
Denis Zharkov
5b7c766a54
Use Jsr305State.DEFAULT instead of IGNORE as a default value
2017-09-28 15:38:27 +03:00
Denis Zharkov
dd2630e5c6
Fix loading additional compiler arguments from facets for libraries
2017-09-28 15:38:11 +03:00
Mikhail Glukhikh
43f1dbeabf
Introduce cached ModuleDescriptor.implementingDescriptors
...
This property is used instead of findImplementingDescriptors,
which is basically too slow
2017-09-28 15:15:03 +03:00
Mikhail Glukhikh
fa23471397
Add test for KT-19222 to fix behaviour
...
Issue was fixed together with KT-17374
So #KT-19222 Fixed
2017-09-28 15:15:02 +03:00
Mikhail Glukhikh
5687fe6e39
Introduce ModuleDescriptor.findImplementingDescriptor() via facets
...
This function is now used instead of allImplementingCompatibleModules,
thus allowing it to be deleted together with allImplementingModules
So #KT-17369 Fixed
So #KT-17374 Fixed
May fix also some other MPP issues
2017-09-28 15:15:02 +03:00
Mikhail Glukhikh
c9f11e4bc2
Add implements common dependency for regular multiplatform tests
2017-09-28 15:15:02 +03:00
Mikhail Glukhikh
848a80a266
Add test (with incorrect work yet) for KT-17374
2017-09-28 15:15:01 +03:00
Mikhail Glukhikh
390de737e7
Fix messages in some multi platform highlighting tests
2017-09-28 15:15:01 +03:00
Mikhail Glukhikh
5edeb359c8
Split multi module and multi platform highlighting tests
...
Now both of them can execute without problems
2017-09-28 15:15:01 +03:00
Dmitry Petrov
3158700500
Add test for generic setValue called via synthetic accessor
...
Synthetic accessor for 'setValue' was generated incorrectly,
specific case of KT-20491 (Incorrect synthetic accessor generated for a
generic base class function specialized with primitive type).
Make sure there's no equivalent of KT-20387 for delegated properties.
2017-09-28 14:55:11 +03:00
Dmitry Petrov
f4f1ea91d9
Use accessible get/set arguments for collection element receiver
...
When generating collection element receiver (such as 'a[i]'), accessible
descriptor for get/set operator should be used.
Otherwise, if the corresponding get/set operator fun is called via an
accessor, its argument types may be different in case of generic fun
specialized with primitive types.
#KT-20387 Fixed
2017-09-28 14:55:11 +03:00
Dmitry Petrov
3994034f46
Keep track of synthetic accessor parameter types
...
Accessor parameter types may be different from callee parameter types
in case of generic methods specialized by primitive types:
open class Base<T> {
protected fun foo(x: T) {}
}
// in different package
class Derived : Base<Long> {
inner class Inner {
fun bar() { foo(42L) }
}
}
Synthetic accessor for 'Base.foo' in 'Derived' has signature '(J)V'
(not '(Ljava.lang.Object;)V' or '(Ljava.lang.Long;)V'),
and should box its parameter.
Note that in Java the corresponding synthetic accessor has signature
'(Ljava.lang.Long;)V' with auto-boxing at call site.
#KT-20491 Fixed
2017-09-28 14:55:11 +03:00
Dmitry Petrov
73724bcdc7
Do not copy immediately created arrays in spread arguments
...
E.g., 'foo(x = *intArrayOf(42))'.
#KT-20462 Fixed
2017-09-28 14:55:11 +03:00
Denis Zharkov
0d5a2a7e18
Minor. Drop unused class ScopeLevelsAndSkippedForLookups
2017-09-28 14:01:30 +03:00
Denis Zharkov
12b348ae48
Fix incorrectly configured IDE tests
...
The important changes are in ideaTestUtils.kt:
`configureByFiles` must be called on the relative to testData dir path,
otherwise java files in the project belong to src/idea/testData/.../A.java
instead of src/A.java and can't be found in the root package
New updates in resolution when resolving A() call is now asking whether
<root>.A exists in PsiPackage::getClasses instead of
PsiPackage::findClassByShortName that can find a class even if it's located
in the wrong directory
2017-09-28 14:01:30 +03:00
Denis Zharkov
5b01a32bd3
Extract val isNameForHidesMember
2017-09-28 14:01:30 +03:00
Denis Zharkov
1f23d610a6
Extract TowerResolver.Task::processImplicitReceiver
2017-09-28 14:01:30 +03:00
Denis Zharkov
6b97203979
Move all state from TowerResolver.Task::run to Task class
...
Also extract local functions from it and introduce
TowerData.ForLookupForNoExplicitReceiver class
2017-09-28 14:01:30 +03:00
Denis Zharkov
c7fda42ccc
Introduce TowerResolver.Task class
...
Its main purpose is code simplification: ImplicitScopeTower::run
contains a lot of local functions that are needed because of
lots of shared state
So, we're moving the state to the Task class instead
NB: This change doesn't change the code of `run`, it will be done
in further commits
2017-09-28 14:01:30 +03:00
Denis Zharkov
b77cc54122
Update lookupTracker testData
...
Just the order of lookups has been changed
2017-09-28 14:01:30 +03:00
Denis Zharkov
b1387b2ae7
Make call resolution responsible for calling recordLookups
...
The idea is that all tower levels are partitioned into two groups:
- ones that may contain the target name or INVOKE; they're processed as usual
- ones that can't contain the name; they're simply skipped until
the end of resolution process when it's being passed to scope processors
to allow them record necessary lookups
2017-09-28 14:01:30 +03:00
Denis Zharkov
265794e712
Add necessary ResolutionScope::recordLookup implementations
2017-09-28 14:01:30 +03:00
Denis Zharkov
580a7e3e4d
Drop location parameter from ResolutionScope::definitelyDoesNotContainName
...
definitelyDoesNotContainName is called too eagerly sometimes and it leads
to obviously redundant lookups
The idea is to put responsibility for calling recordLookup to resolution
itself
2017-09-28 14:01:30 +03:00
Denis Zharkov
37440c70e2
Optimize invoke processors
...
- Avoid creating of empty KnownResultProcessor for variables
- Do not consider definetely inapplicable tower data
2017-09-28 14:01:30 +03:00
Denis Zharkov
860951748f
Filter out inapplicable member scopes in resolution
2017-09-28 14:01:30 +03:00
Denis Zharkov
d0bf0f5fb3
Filter out inapplicable non-local levels for implicit receivers
2017-09-28 14:01:30 +03:00
Denis Zharkov
51d3969822
Do not run resolution processors for inapplicable statics
2017-09-28 14:01:30 +03:00
Denis Zharkov
c018a76aaa
Use the same default import scopes for all files in module
2017-09-28 14:01:30 +03:00
Denis Zharkov
3322ed6e04
Implement LazyImportResolver::definitelyDoesNotContainName
2017-09-28 14:01:30 +03:00
Denis Zharkov
6e766634c1
Add location parameter to ResolutionScope::definitelyDoesNotContainName
...
It should be used to record lookups in case of fast paths
in resolution
2017-09-28 14:01:30 +03:00
Denis Zharkov
69f3b01e98
Introduce ImportingScope::computeImportedNames
2017-09-28 14:01:30 +03:00
Denis Zharkov
cd3edfc5b2
Introduce MemberScope::classifierNames and some implementations
...
It aims to help with further optimizations
2017-09-28 14:01:30 +03:00
Denis Zharkov
1b255b4ed0
Implement LazyPackageMemberScope::getFunctions/VariableNames
...
It's necessary for future optimizations
Although current implementation is rather conservative,
it should be enough for current needs
2017-09-28 14:01:30 +03:00
Denis Zharkov
688a359985
Avoid running scope processors on hides-member for not-forEach names
2017-09-28 14:01:30 +03:00
Denis Zharkov
fb80e19b88
Filter out inapplicable local scopes in call resolution
...
The idea is that resolution has an approximate complexity
close to (n + n*m) * 3
Where n is a number of scopes, m is a number of receivers
and 3-constant is used because each of these combinations
runs through 3 processors for functions.
And while call resolver seems to be a hot spot, it should be
useful to decreate the value of n
2017-09-28 14:01:30 +03:00
Denis Zharkov
94356e891b
Introduce ResolutionScope::definitelyDoesNotContainName
...
Also add some obvious implementations
This method might be used in resolution to filter out
inapplicable scopes
2017-09-28 14:01:30 +03:00
Mikhail Glukhikh
7b5842a088
Fix inspection test
2017-09-28 14:00:56 +03:00
Mikhael Bogdanov
e7e28419e4
Migrate CodegenJdkCommonTestSuite.kt to gradle
2017-09-28 12:36:31 +02:00
Stanislav Erokhin
4a0ad54829
Fix Working with the project in IntelliJ IDEA instruction
2017-09-27 21:23:00 +03:00
Alexander Udalov
77765a8064
Do not run proguard by default, unless "kotlin.build.proguard" is "true"
2017-09-27 20:15:31 +03:00
Dmitry Jemerov
16a97a8917
Mark multiplatform projects as experimental in the UI
2017-09-27 17:18:12 +02:00
Alexander Udalov
a7443adb65
Remove obsolete dependency on cli-parser
2017-09-27 15:47:35 +03:00
Alexander Udalov
24b0b75d8e
Do not output compiler jar path during configuration of libraries
2017-09-27 15:47:34 +03:00
Alexey Andreev
3b5c2bbcaa
Add Gradle task to run JS tests without DCE
...
This should be helpful when frequently testing changes in JS BE.
2017-09-27 14:22:15 +03:00
Dmitry Petrov
c0a83c3c8a
KT-19251 Process uninitialized stores in mandatory bytecode pass
...
See
https://youtrack.jetbrains.com/issue/KT-19251
https://github.com/puniverse/quasar/issues/280
https://bugs.openjdk.java.net/browse/JDK-8046233
Inline function calls (as well as try/catch expressions) in constructor
arguments produce bytecode that spills stack, and stores uninitialized
objects (created by 'NEW C', but not initialized by 'C.<init>') to
local variables. Such bytecode is valid according to the JVM spec, but
confuses Quasar (and other bytecode postprocessing tools),
and fails to verify under some (buggy) versions of JDK 8.
In order to avoid that, we apply 'processUnitializedStores' already
implemented for coroutines. It moves 'NEW' instructions after the
constructor arguments evaluation, producing code like
<initialize class C using Class.forName>
<evaluate constructor arguments>
<store constructor arguments to variables>
NEW C
DUP
<load constructor arguments from variables>
INVOKESPECIAL C.<init>(...)
NB some other expressions, such as break/continue in the constructor
arguments, also can produce "weird" bytecode: object is created by a
'NEW C' instruction, but later (conditionally) POPped from stack and
left uninitialized. This, as we know, also can screw bytecode
postprocessing. However, it looks like we can get away with it ATM.
Otherwise it looks like we'd have to analyze constructor arguments, see
if the evaluation can "jump out", and perform argument linearization in
codegen.
2017-09-27 12:38:52 +03:00
Andrey Mischenko
3d8486e8a6
Allow to use Gradle property to configure JDK path
2017-09-26 18:14:45 +02:00
Yoshinori Isogai
4428ba0bb7
Add "Generate Tests" run configuration ( #1318 )
2017-09-26 18:02:03 +02:00
Denis Zharkov
d6ee774243
Load some of the TYPE_USE annotations in fast class reading mode
...
Only top-level types on fields, methods' return types and
value parameters are supported to catch-up how class-files are loaded
in IntelliJ (see IDEA-153093)
NB: this commit also affects
ForeignJava8AnnotationsNoAnnotationInClasspathWithFastClassReadingTestGenerated
that were failing before
#KT-20016 Fixed
2017-09-26 16:40:47 +03:00
Denis Zharkov
08f3dbce67
Fix configuration for FastClassReading foreign-annotations tests
...
Prior to this change USE_FAST_CLASS_FILES_READING actually
has not worked because the flag is being read in the KotlinCoreEnvironment
constructor 🤦♂️
2017-09-26 16:40:47 +03:00
Denis Zharkov
fd9025a4fb
Add Java8 foreign-annotations tests without jsr305.jar in the classpath
...
Some of them are expected to fail since neither IntelliJ class reading
nor our fast class reading can read annotations on type arguments
2017-09-26 16:40:47 +03:00
Denis Zharkov
58a0ca61a9
Minor. Fix java test data to make it actually compilable
2017-09-26 16:40:47 +03:00
Denis Zharkov
fdc6b37264
Obtain default type qualifiers from value parameters too
...
#KT-20016 In Progress
2017-09-26 16:40:47 +03:00
Denis Zharkov
71f85812d6
Improve support for TYPE_USE default qualifiers
...
- Apply default qualifiers to type arguments if they contain TYPE_USE
in applicability list
- Read TYPE_USE placed default qualifier annotations
#KT-19592 Fixed
#KT-20016 In Progress
2017-09-26 16:40:47 +03:00
Denis Zharkov
69665e7560
Minor. Convert function to block body, extract val
2017-09-26 16:40:47 +03:00
Denis Zharkov
bd809c872a
Minor. Move local functions to file and inline parameter
2017-09-26 16:40:47 +03:00
Denis Zharkov
775d6988e8
Preserve flexibility for Java types annotated with @NonNull(UNKNOWN)
...
Before this chanhe, these annotations are simply ignored, but they should
preserve flexibility in case of enhanced nullability obtained from
enclosing default qualifier
#KT-20158 Fixed
2017-09-26 16:40:47 +03:00
Denis Zharkov
d0e912167e
Minor. Simplify handling nullablility for warning
2017-09-26 16:40:47 +03:00
Denis Zharkov
02d3d9785c
Move JSR-305 tests to one directory and strip common name prefix
2017-09-26 16:40:47 +03:00
Denis Zharkov
8a66919a5c
Support @NonNull(when = NEVER) nullability annotation
...
#KT-20131 Fixed
2017-09-26 16:40:47 +03:00
Alexey Tsvetkov
1c7b8ec938
Change test data so IC and non IC warnings count match
...
When IC is on and new Kotlin class is referencing
new Java class, new Kotlin file is compiled twice,
because JPS thinks new Kotlin class is affected by
new Java class (see https://youtrack.jetbrains.com/issue/KT-20318 ).
This does not happen when IC is off, and KotlinBuilder
requests chunk rebuild (see previous commit).
I decided to remove the reference, because the issue
is now known, and the reference is non critical for the test.
2017-09-26 16:35:24 +03:00
Alexey Tsvetkov
7a5e0e1107
Request CHUNK_REBUILD when IC is off and there are dirty Kotlin files
...
Otherwise unexpected compile error might happen,
when there are Groovy files, but they are not dirty,
so Groovy builder does not generate source stubs,
and Kotlin builder is filtering out output directory
from classpath (because it may contain outdated Java classes).
Previously the issue was not detected,
because it was not possible to turn off the IC completely (in JPS),
only switch to the legacy IC.
#KT-20138
2017-09-26 16:35:24 +03:00
Dmitry Jemerov
c290212901
Allow to suppress "Kotlin not configured" notification per-module
2017-09-26 14:52:10 +02:00
Dmitry Jemerov
572ec19c55
SuppressNotificationState: J2K
2017-09-26 14:46:40 +02:00
Dmitry Jemerov
e02d121438
SuppressNotificationState: rename to .kt
2017-09-26 14:46:40 +02:00
Dmitry Jemerov
09f826b68d
Enable UI Designer instrumentation in Gradle build
2017-09-26 14:43:01 +02:00
Mikhail Zarechenskiy
8a545f05de
Provide quick fix for migration of single elements in named arguments
...
See more in KT-20171
2017-09-26 14:49:43 +03:00
Mikhail Zarechenskiy
8ab7c26cae
Provide quick fix for named arguments to varargs in annotations
...
See more in KT-20171
2017-09-26 14:49:43 +03:00
Mikhail Zarechenskiy
66cb8db12a
Support LANGUAGE_VERSION directive in quick fix tests
2017-09-26 14:49:43 +03:00
Mikhail Zarechenskiy
69e3dd89f6
Split diagnostic factory for the ease of code evolution and tooling
2017-09-26 14:49:42 +03:00
Alexey Andreev
3b2d634cea
JS: optimize variable representation in coroutines
...
Don't convert local variables to fields of coroutine object
when variable is both used and defined in a single block.
2017-09-26 13:56:20 +03:00
Alexey Andreev
b852f73dd2
JS: make string template optimization more conservative
...
See KT-18548
2017-09-26 13:56:20 +03:00
Alexey Andreev
ca014468ee
JS: improve name clash checker to handle complicated cases
...
See KT-18010
2017-09-26 13:56:19 +03:00
Alexey Andreev
95566b1374
JS: fix serialization of fileId in case of incremental compilation
2017-09-26 13:56:19 +03:00
Nikolay Krasko
3bbf054f0a
Fix memory leak from SpecifyTypeExplicitlyIntention
2017-09-26 13:48:22 +03:00
Sergey Igushkin
40ec513c68
Fix tests compilation: cuplicate compileOnly dependencies to testCompile
2017-09-26 13:11:02 +03:00
Kirill Rakhman
1db365bb59
Insert explicit property type while converting accessor to block body
...
So #KT-20417 Fixed
2017-09-26 12:16:14 +03:00
Nikolay Krasko
31f5c105f3
Remove "javax.annotation.Nullable" usage and clean up file
2017-09-25 20:41:54 +03:00
Nikolay Krasko
412fb62bbb
Fix de-reference nullable virtual file (EA-107980)
2017-09-25 20:41:54 +03:00
Nikolay Krasko
500d192063
Remove null assert (EA-107777)
2017-09-25 20:41:53 +03:00
Nikolay Krasko
98c50d3bfb
Do not try to create ExactJavaBreakpointVariant with null position (EA-107577)
2017-09-25 20:41:53 +03:00
Nikolay Krasko
8b1fbc9828
fixHost might be null (EA-107022)
2017-09-25 20:41:53 +03:00
Nikolay Krasko
fc54018313
Don't convert to PropertyDescriptor without check (EA-92870)
2017-09-25 20:41:53 +03:00
Nikolay Krasko
d51f54693f
Exist if no identifier found (EA-91332)
2017-09-25 20:41:53 +03:00
Nikolay Krasko
2e7be02d51
Add settings for protobuf plugin
2017-09-25 20:41:53 +03:00
Nikolay Krasko
ed2c7d3a9f
Minor: fix warnings in increment-version.kts
2017-09-25 20:41:53 +03:00
Sergey Igushkin
a23532d1ee
Replace the compile dependency on the Gradle API with a compileOnly one
2017-09-25 18:42:39 +03:00
Mikhail Glukhikh
e8b95b971d
Make parentheses necessary for '(x op return y) op z' #KT-16808 Fixed
2017-09-25 18:16:42 +03:00
Mikhail Glukhikh
426a54c3ab
Do not count callable reference as recursive property access
...
So #KT-20104 Fixed
2017-09-25 18:16:42 +03:00
Dmitry Petrov
8f9ea3e08b
Fix const range bounds generation
2017-09-25 17:49:33 +03:00
Kirill Rakhman
e82544ffb0
build.gradle.kts: replace listOf().filterNotNull() with listOfNotNull()
2017-09-25 16:32:08 +03:00
Mikhail Glukhikh
253ae10e5f
Array equality: replace Arrays.equals with contentEquals in intention
2017-09-25 16:27:51 +03:00
Mikhail Zarechenskiy
32531b3afc
Allow to have all parameters with default values in actual annotation
...
#KT-19656 In Progress
2017-09-25 16:19:05 +03:00
Toshiaki Kameyama
8b135c12e7
Delete useless assert() after simplify comparison #KT-14695 Fixed
2017-09-25 15:35:11 +03:00
Alexey Sedunov
e87f9633be
Copy: Do not check conflicts for cross-project copying
...
#KT-19949 Fixed
#KT-19972 Fixed
#EA-105637 Fixed
2017-09-25 14:40:17 +03:00
Alexey Sedunov
6e59cc2140
Copy: Copy entire file if it contains just a selected declaration
2017-09-25 14:40:17 +03:00
Alexey Sedunov
c8c0ab1647
Copy: Fix import insertion on declaration copying
...
#KT-19909 Fixed
2017-09-25 14:40:17 +03:00
Alexey Sedunov
0beadddb7f
Copy: Improve file copying
...
- Do not copy individual declarations if entire file is selected
(keeping original content with comments, formatting, etc.)
- Update package directive when original file packages matches
its directory
#KT-20092 Fixed
#KT-18196 Fixed
2017-09-25 14:40:17 +03:00
Alexey Sedunov
fbf6bd534c
Move: Disable MoveDeclarationsCopyPasteProcessor in dumb mode
...
#KT-20199 Fixed
2017-09-25 14:40:16 +03:00
Alexey Sedunov
963747ce04
Move: Optimize conflict analysis
...
- Do not process conflicts twice wgen moving a directory
- Check move target before resolving usage context declaration
- Skip visibility check for usages referring to public declarations
- Skip module conflict check for declarations with unchanged module
- Do not report lambdas as usage container (use enclosing declaration)
2017-09-25 14:40:16 +03:00
Alexey Sedunov
fefa2304a0
Move to Separate File: Optimize usage search/processing
...
- Import optimization is already performed by refactoring helper,
so running optimizer explicitly is unnecessary
- Do not search external usages for declarations with unchaged package
and module
#KT-18823 Fixed
2017-09-25 14:40:16 +03:00
Alexey Sedunov
0a0457298b
Misc: Run MoveKotlinDeclarationsProcessor.findUsages() under progress
...
#KT-20205 Fixed
2017-09-25 14:40:16 +03:00
Alexey Sedunov
c37489ab8b
Kotlin Facet: Do not restrict API version list by stdlib version
...
#KT-19955 Fixed
2017-09-25 14:40:16 +03:00
Alexey Sedunov
1e82b23321
Minor: Drop unnecessary non-null assertion
...
#EA-107378 Fixed
2017-09-25 14:40:16 +03:00
Toshiaki Kameyama
1043284afe
Add data modifier to a class quickfix #KT-18220 Fixed
2017-09-25 14:17:35 +03:00
Toshiaki Kameyama
f08e9832a6
Show warning also if arrays are compared by '!=' #KT-20259 Fixed
2017-09-25 12:15:17 +03:00
Kirill Rakhman
93252926ba
Introduce additional quick-fix for (collection) type mismatch
...
This fixed inserts conversion .toSequence/Array/Iterable/Collection/List
So #KT-19735 Fixed
2017-09-25 12:10:28 +03:00
Alexander Udalov
7f5b9b1760
Add tests on quick fix that adds 'actual' to platform declaration
...
#KT-18454
2017-09-25 12:00:18 +03:00
Alexander Udalov
60430828cf
Deduplicate code in AbstractQuickFixMulti{File,Module}Test
2017-09-25 12:00:18 +03:00
Alexander Udalov
113c83b47a
Minor, cleanup AbstractQuickFixMultiFileTest
2017-09-25 12:00:18 +03:00
Alexander Udalov
23d6690581
Fix codegen for multifile class parts with type aliases only
...
#KT-20337 Fixed
2017-09-25 11:58:20 +03:00
Alexander Udalov
09f36927a5
Do not try to generate 'expect' declarations in multifile classes
...
Similarly to PackageCodegenImpl#generateFile
#KT-15754 Fixed
#KT-17478 Fixed
2017-09-25 11:58:20 +03:00
Alexander Udalov
3f1ee74475
Minor, refactor compiler-running code in multiplatform integration test
...
The compiler is run twice and outputs are compared for equality. Thus,
if both runs ended with exceptions, the outputs were never equal because
the compiler was run from different places (stack traces were different
in only one line), which was a bit weird. Now outputs are equal and in
case of an exception, a standard "actual data differs from file content"
message is displayed
2017-09-25 11:58:20 +03:00
Alexander Udalov
2d9f07deec
Minor, add test for obsolete issue on "actual missing" error
...
#KT-20142
2017-09-25 11:58:20 +03:00
Alexander Udalov
2281ac842a
Prohibit super constructor call for 'expect' class
...
#KT-15490 Fixed
2017-09-25 11:58:20 +03:00
Alexander Udalov
8ae7343557
Prohibit 'expect' lateinit member properties
...
#KT-20319 Fixed
2017-09-25 11:58:20 +03:00
Alexander Udalov
1f992ed845
Improve error on 'expect' delegated property
...
#KT-15054 Fixed
#KT-15055 Fixed
2017-09-25 11:58:20 +03:00
Mikhail Glukhikh
258e8f73b6
Expect/actual: add inspection for Suppress("DIAGNOSTIC") migration
...
So #KT-20328 Fixed
2017-09-25 11:48:15 +03:00
Mikhail Glukhikh
0bce06dc0f
Synchronize cleanupTool = true with CleanupLocalInspectionTool
...
So #KT-20366 Fixed
2017-09-25 11:47:11 +03:00
Mikhail Glukhikh
d6028877e1
Add kapt3-idea dependency to gradle script
2017-09-25 11:47:08 +03:00
Mikhail Glukhikh
f348ee9381
Fix a pair of multi-platform messages #KT-20327 Fixed
2017-09-25 11:47:05 +03:00
Alexey Andreev
ee4d790f43
JS: optimize default arguments in cross-module inliner
...
This reduces size of circlet UI (of approx 2.5 mb) by about 90 kb
2017-09-25 11:29:05 +03:00
Alexey Andreev
e6ab3dc936
JS: generate aliases for intrinsics.
...
This makes generated code more friendly to UglifyJS.
For example, uglified circlet loses 15 kb.
2017-09-25 11:29:04 +03:00
Ilya Chernikov
80ac8897ff
Fix idea plugin jar name and ultimate build
2017-09-22 17:41:52 +02:00
Sergey Igushkin
25ca079fc5
Fix agp25 source set Kotlin classes not included in kotlin-gradle-plugin
2017-09-22 17:30:01 +03:00
Nikolay Krasko
1d51e5b59b
Refactoring: reuse implementation
2017-09-22 16:51:08 +03:00
Nikolay Krasko
5a8c957edc
Fix null-pointer template apply (EA-102391)
2017-09-22 16:51:08 +03:00
Nikolay Krasko
a8211a77d4
Fix null-pointer because of nullable elementAt (EA-99963)
...
#EA-99963 Fixed
2017-09-22 16:51:08 +03:00
Nikolay Krasko
a51a9795ae
Fix null-pointer because of nullable elementAt (EA-101762)
...
#EA-101762 Fixed
2017-09-22 16:51:08 +03:00
Ilya Gorbunov
00fa8ee464
Setup JRE version for codegen tests
...
Add camelCase task name aliases for codegen tests
2017-09-22 15:37:38 +03:00
Ilya Gorbunov
43e2be26f8
Advance stdlib version to 1.1.60
2017-09-22 15:37:38 +03:00
Dmitry Jemerov
0682f74560
Avoid duplicate file type calculation
2017-09-22 14:30:36 +02:00
Denis Zharkov
c7812beea4
Fix SOE in SignatureEnhancement::extractNullability
...
The problem was that `resolveTypeQualifierAnnotation` actually doesn't
guarantee that `typeQualifierAnnotation` is javax.annotation.NonNull
with argument
It could be just any type qualifier (see the test)
2017-09-22 14:15:11 +03:00
Ilya Chernikov
1953f8e945
Fix build-common publishing
2017-09-21 20:34:10 +02:00
Ilya Chernikov
0b34dde905
Add android-extensions-runtime to the dist
2017-09-21 20:34:08 +02:00
Ilya Chernikov
b5d68515e8
Fix path to android-extensions-runtime in ParcelBoxTest
2017-09-21 20:34:07 +02:00
Dmitry Jemerov
4549cc7289
Fix CodeConformanceTest for new gradle build
2017-09-21 18:09:25 +02:00
Dmitry Jemerov
65c0e445fd
Don't crash when trying to build stubs for files that have been deleted
...
Fixes EA-97751
2017-09-21 17:48:06 +02:00
Dmitry Jemerov
690eaa95bd
Update expected testdata of live templates test
2017-09-21 17:33:55 +02:00
Dmitry Jemerov
4c04eaa29a
Don't hard-code dependency versions in Maven import test
2017-09-21 17:17:44 +02:00
Dmitry Jemerov
7821366f6a
Add missing runtime dependency on TestNG and coverage plugins
2017-09-21 16:58:28 +02:00
Dmitry Jemerov
459d4f3ee9
Fix EAP detection regexp for double-digit patch releases
...
#KT-20331 Fixed
2017-09-21 16:17:51 +02:00
Toshiaki Kameyama
0b7055f7c0
Join lines could "convert to expression body" #KT-15769 Fixed ( #1304 )
2017-09-21 16:15:44 +02:00
Dmitry Jemerov
ab25beeb37
Fix exception in KotlinExpandNodeProjectViewProvider.modify
2017-09-21 15:19:19 +02:00
Mikhail Glukhikh
658ffa6c49
Add deprecated modifier to cleanup diagnostic list
2017-09-21 16:09:57 +03:00
Jonathan Leitschuh
539aed32d2
Improve information regarding running tests that load resources ( #1298 )
...
* Improve information regarding running tests that load resources
Figuring out how to run isolated generated tests is not imidiately straightforward.
This clears up confusion by throwing a more helpful error in the tests and
adding a section to the ReadMe.
* Cleanup ReadMe and comments after review feedback
2017-09-21 11:20:49 +02:00
Andrey Mischenko
4a2ea4de4b
KT-18765 Move incremental compilation message from Gradle's warning to info logging level
2017-09-21 14:30:09 +08:00
Dmitry Jemerov
9e3f866831
Update README, remove misleading information ( #1306 )
2017-09-20 18:56:44 +02:00
Dmitry Jemerov
c8d171b543
Don't show "Run tests" gutter icon when there's nothing to run
...
#KT-20338 Fixed
2017-09-20 18:49:25 +02:00
Ilya Gorbunov
7e0f38e07a
Rename run configuration (IDEA insists on it)
2017-09-20 18:47:57 +03:00
Ilya Gorbunov
3708a96d91
Add KEEP issues reference pattern
2017-09-20 18:47:27 +03:00
Simon Ogorodnik
d9b6495f01
Remove obsolete libraries xml's
2017-09-20 18:04:54 +03:00
Simon Ogorodnik
25f0322791
Apply code style settings migration
2017-09-20 18:00:58 +03:00
Simon Ogorodnik
228927f948
Remove obsolete run configurations and artifacts
2017-09-20 18:00:10 +03:00
Ilya Gorbunov
d91cedc0e5
Root project idea module with folder exclusions
2017-09-20 15:51:45 +03:00
Ilya Chernikov
ce18c2bf26
Fix readme - only basic corrections
2017-09-20 14:30:04 +02:00
Ilya Chernikov
d9e0486061
Fix ultimate tests
2017-09-20 11:52:07 +02:00
Ilya Chernikov
0f199835a3
Fix idea-gradle tests
2017-09-20 11:52:07 +02:00
Ilya Gorbunov
83908388db
Remove coverage section from run configurations (IDEA 172 insists on it)
2017-09-20 11:52:06 +02:00
Ilya Gorbunov
701f24ead5
Split apply block, so that gradle scripts are imported separately, one after other
2017-09-20 11:52:05 +02:00
Ilya Gorbunov
1c6b858153
Do not hardcode kotlin version into maven plugin smoke test
2017-09-20 11:52:04 +02:00
Ilya Gorbunov
c29e44f057
Correct setup for the mavenDeployer
2017-09-20 11:52:03 +02:00
Ilya Gorbunov
4a3c8286a3
Fix developer organization in pom, make artifact manifests same as in libraries
2017-09-20 11:52:03 +02:00
Ilya Gorbunov
d441f7ad9a
Remove unused and duplicate gradle files
2017-09-20 11:52:02 +02:00
Ilya Gorbunov
678caa5676
Setup project versions
...
Build parameters (with corresponding project properties):
- build.number (buildNumber) - build number from build server, goes into manifest, by default snapshot
- deployVersion (kotlinVersion, project.version) - version of artifacts, by default build.number
- bootstrap.kotlin.version (bootstrapKotlinVersion) - version of bootstrap compiler
2017-09-20 11:52:01 +02:00
Ilya Chernikov
df04efcf14
Rename artifacts, fix dependencies and artifact contents
2017-09-20 11:52:00 +02:00
Ilya Chernikov
d61695be55
Fix embeddable compiler dependencies, fix dist task, use runtimeJar...
...
dependencies where appropriate, some helpers refactoring
2017-09-20 11:52:00 +02:00
Ilya Chernikov
b7226951b6
introduce ideaPlugin task as a replacement for idea-plugin...
...
leave idea-plugin as a reference to the new one for compatibility
2017-09-20 11:51:59 +02:00
Ilya Chernikov
372138977d
Fix compiler archives config contents - fixes signing, add some utils
2017-09-20 11:51:58 +02:00
Ilya Chernikov
8d0694c129
Rename kotlin-plugin project to idea-plugin
2017-09-20 11:51:57 +02:00
Alexander Udalov
8f5dae8f57
Do not set KOTLIN_HOME env var for tests
...
Instead, rework the (already suspicious) KotlinPaths-finding code in
PathUtil to support the new model of running tests (the compiler is
split into several jars according to the project structure) instead of
the old one (where class files were not in the jars, but in the out/
directory).
This fixes Java9ModulesIntegrationTest
2017-09-20 11:51:56 +02:00
Ilya Chernikov
630d090103
Fix after rebasing on master
2017-09-20 11:51:56 +02:00
Ilya Chernikov
4073280b50
Comment out obsolete kannotator tests
...
(cherry picked from commit b318d97)
2017-09-20 11:51:55 +02:00
Ilya Chernikov
51efd717f6
Extract jvm6-specific test utils, add codegen on specific jdk tests
2017-09-20 11:51:54 +02:00
Ilya Chernikov
82690fe6b3
Switch to new bootstrap, fix after rebase
2017-09-20 11:51:53 +02:00
Ilya Chernikov
bb72da7d10
Add kapt3-idea to gradle build
2017-09-20 11:51:53 +02:00
Ilya Chernikov
5e108d8efd
Fix stdlib test in compiler in the gradle environment
2017-09-20 11:51:52 +02:00
Ilya Chernikov
dfb0a47260
attempt to fix chained test failures
...
- commenting out potentially "bad" test
- calculating homedir only once
2017-09-20 11:51:51 +02:00
Ilya Chernikov
e92ef59873
Delete obsolete tests - we have no more iml files in the repo
2017-09-20 11:51:50 +02:00
Ilya Chernikov
c4de5ee6b7
Fix ScriptGen tests
2017-09-20 11:51:50 +02:00
Ilya Chernikov
bcf08c2246
Fix TestExecutedOnlyOnceTest
2017-09-20 11:51:49 +02:00
Ilya Chernikov
099bd2f564
Fix test ProtoBufCompareConsistencyTest.testAlreadyGenerated on ubuntu agents
2017-09-20 11:51:48 +02:00
Ilya Chernikov
fc540b2d63
Fix android tests
2017-09-20 11:51:47 +02:00
Ilya Chernikov
4eb4466314
Fix home dir definition in some compiler tests
2017-09-20 11:51:47 +02:00
Ilya Chernikov
51fc3da2f5
Implement compiler classpath config property in gradle...
...
instead of compiler jar
And add stdlib/reflect/script_runtime to the classpath on detection
2017-09-20 11:51:46 +02:00
Ilya Chernikov
776f1c8d19
Do not shade com.intellij in embeddable compiler
2017-09-20 11:51:45 +02:00
Ilya Chernikov
1862c78bdc
Fix projects for gradle integration tests
2017-09-20 11:51:44 +02:00
Ilya Gorbunov
8ec5cc7d16
Rename composite tasks to use camelCase convention
2017-09-20 11:51:44 +02:00
Ilya Gorbunov
6fc3f269a6
Change logical path of kotlin-test-js-it project, fix paths to outputs
...
Fix paths to kotlin-test-js and kotlin-test-js-it outputs
2017-09-20 11:51:43 +02:00
Ilya Gorbunov
cf5dcb7b5c
Advance bootstrap version
2017-09-20 11:51:42 +02:00
Ilya Gorbunov
99f2cc3d00
Fix paths to stdlib-jre6 test output
2017-09-20 11:51:41 +02:00
Ilya Gorbunov
e3899ff7ee
Serialize builtins *before* compiling builtins in stdlib
2017-09-20 11:51:41 +02:00
Ilya Gorbunov
47eedd1941
Add missing dependencies for commit dcd966f7
2017-09-20 11:51:40 +02:00
Ilya Gorbunov
479a8b7578
Add property for plugin artifact dir to zip artifacts from KotlinUltimate
...
Do not delete artifact dir after packing as we may need them later for tests
2017-09-20 11:51:39 +02:00
Ilya Chernikov
d92cce6e6a
Fix build after rebase on master
2017-09-20 11:51:38 +02:00
Ilya Chernikov
46884bec84
Add missing artifact, fix some deps and publishing
2017-09-20 11:51:38 +02:00
Ilya Chernikov
a8c45819a1
Fix sources/javadoc artifactsi in gradle tools, separating android extensions runtime
2017-09-20 11:51:37 +02:00
Ilya Gorbunov
403f2c6f99
Fix dependencies of kotlin-compiler(+embeddable), remove them from kotlin-maven-plugin
2017-09-20 11:51:36 +02:00
Ilya Gorbunov
ec2e7bb43c
Fix manifest classpath in kotlin-compiler
2017-09-20 11:51:35 +02:00
Ilya Gorbunov
6e75d44bc3
Declare shared shadow plugin version and use it consistently
2017-09-20 11:51:35 +02:00
Ilya Gorbunov
6d97866a3a
Fix module name to avoid changes in binary classes
2017-09-20 11:51:34 +02:00
Ilya Chernikov
0e306ac889
Fix install task config
2017-09-20 11:51:33 +02:00
Ilya Chernikov
fc3dda47c0
Update compiler artifact according to the changes in master
2017-09-20 11:51:32 +02:00
Ilya Chernikov
02ec70e9f1
Fix kotlin-daemon-client project config and publications, fix problem with uploadArchives task
2017-09-20 11:51:32 +02:00
Simon Ogorodnik
5dfcac18b7
Add no process canceled exception configurations
2017-09-20 11:51:31 +02:00
Simon Ogorodnik
bcd31de84a
Implement ultimate-runner
2017-09-20 11:51:30 +02:00
Ilya Chernikov
cf7312dea8
Add gradle plugin markers
2017-09-20 11:51:29 +02:00
Ilya Chernikov
9df5d53a9d
Add classes dirs artifact helpers, minor cleanup
2017-09-20 11:51:29 +02:00
Ilya Chernikov
4b3936b598
Revert to default build dirs, add missing projects
2017-09-20 11:51:28 +02:00
Simon Ogorodnik
3262ac0129
Fix compileJava not found when running idea:test
2017-09-20 11:51:27 +02:00
Simon Ogorodnik
129dc42a25
Fix JPS classpath
2017-09-20 11:51:26 +02:00
Ilya Chernikov
a63d1a53c3
Reduce memory requirements for gradle and js backend tests
2017-09-20 11:51:25 +02:00
Ilya Chernikov
c428f12d71
Add Idea Ultimate plugin build
2017-09-20 11:51:25 +02:00
Ilya Chernikov
8c44b62d16
Fix recursive task dependency helpers
2017-09-20 11:51:24 +02:00
Ilya Chernikov
95035b3d72
Fix various tests
2017-09-20 11:51:23 +02:00
Simon Ogorodnik
98413f200f
Disable test optimization on patterns with wildcards
2017-09-20 11:51:22 +02:00
Simon Ogorodnik
34ac3a818a
Optimize run tests
2017-09-20 11:51:21 +02:00
Ilya Chernikov
3aabeca191
Fix maven and android tests after modularizing and rebasing
2017-09-20 11:51:21 +02:00
Ilya Chernikov
3a55ed31a6
Rearrange and add aggregate tests tasks
2017-09-19 23:58:42 +02:00
Simon Ogorodnik
360a692af8
Apply rri/yole/modularize, create gradle run configuration for IDEA
2017-09-19 23:58:41 +02:00
Ilya Chernikov
7cb8a90513
Strip maven build from moved parts
2017-09-19 23:58:40 +02:00
Ilya Chernikov
f7b9ae2556
Add missing dist jars
2017-09-19 23:58:39 +02:00
Ilya Chernikov
aa34c7d32a
Fix tests after projects rearrangement
2017-09-19 23:58:39 +02:00
Ilya Chernikov
0676ebd530
Fix after rebase on master
2017-09-19 23:58:38 +02:00
Ilya Chernikov
b4c9422376
Rearrange and rename idea-plugin related and annotation-processing modules
2017-09-19 23:58:37 +02:00
Simon Ogorodnik
e23c26b5d1
Fix j2k tests failing if started after web demo tests
2017-09-19 23:58:36 +02:00
Ilya Chernikov
e7ac8443ee
Implement proper artifacts signing, add missing install and publish tasks
2017-09-19 23:58:35 +02:00
Ilya Chernikov
08e2ee0951
Restore legacy kotlin-runtime maven artifact
2017-09-19 23:58:34 +02:00
Ilya Chernikov
19e0cfeb9e
Add annotation processing into dist, publish & tests
2017-09-19 23:58:33 +02:00
Ilya Chernikov
c0572aeb34
Refactor mock-runtime build to avoid source roots conflicts
2017-09-19 23:58:33 +02:00
Ilya Chernikov
fd1b677904
Switch reflect to compiled core classes
2017-09-19 23:58:32 +02:00
Ilya Chernikov
d89b53dfea
Reorganize builtins built and use in the projects
2017-09-19 23:58:31 +02:00
Ilya Chernikov
d039d191f2
Fix tests in the new build infrastructure
2017-09-19 23:58:30 +02:00
Ilya Chernikov
a61facf3d1
Clean most of the shared source roots conflicts
2017-09-19 23:58:29 +02:00
Ilya Chernikov
e26b421e6c
Add JDK detection
2017-09-19 23:58:29 +02:00
Ilya Chernikov
0c085cd0a2
Remove gradle files from obsolete gradle build parts
2017-09-19 23:58:28 +02:00
Alexander Podkhalyuzin
3f8170d369
Clean idea files generated on the gradle import, add them to .gitignore
2017-09-19 23:58:27 +02:00
Ilya Chernikov
3e46c59187
Clean unused dependencies, minor refactorings
2017-09-19 21:37:27 +02:00
Ilya Chernikov
27968c8e13
Set proper jvmTarget for projects
2017-09-19 21:37:27 +02:00
Ilya Chernikov
deda50dbbb
Continue switching projects to improved dsl: sourceSets and test running
2017-09-19 21:37:26 +02:00
Ilya Chernikov
336e24b837
Fix project structure after rebase on master
2017-09-19 21:37:25 +02:00
Ilya Chernikov
d0b8767536
Enable gradle build-scan
2017-09-19 21:37:24 +02:00
Ilya Chernikov
46c10157d3
Add aggregate tests tasks
2017-09-19 21:37:23 +02:00
Ilya Chernikov
b6c255cea5
Refactor: project renaming, using improved build dsl
2017-09-19 21:37:22 +02:00
Ilya Chernikov
8e24383428
Improve build DSL
2017-09-19 21:37:22 +02:00
Ilya Chernikov
a87396b070
Add scripting projects from libraries
2017-09-19 21:37:21 +02:00
Ilya Chernikov
87726b38b6
Add generated project-schema extensions, example refactoring
2017-09-19 21:37:20 +02:00
Ilya Chernikov
24c192135f
Control plugin version and repo from properties
2017-09-19 21:37:19 +02:00
Ilya Chernikov
96d5e0bb21
Refactoring - renaming projects, applying sourceSets DSL
2017-09-19 21:37:18 +02:00
Ilya Chernikov
a6aaee3fe0
Add system property/environment var for -kotlin-home compiler option
2017-09-19 21:37:17 +02:00
Ilya Chernikov
fac2c16999
Fix generators tests compilation
2017-09-19 21:37:16 +02:00
Ilya Chernikov
513ab08edd
Refactor and clean preloader project
2017-09-19 21:37:16 +02:00
Ilya Chernikov
1d56730538
Separate j2k and eval4j tests from idea tests
2017-09-19 21:37:15 +02:00
Ilya Chernikov
e18b77af21
Refactor compiler-related published projects
...
- move preparation into separate projects
- rename projects for publishing
- add compiler plugins
2017-09-19 21:37:14 +02:00
Ilya Chernikov
aa4fdaa713
Implement publishing in the build
2017-09-19 21:37:13 +02:00
Ilya Chernikov
438525dfff
Proper import of the gradle part:
...
- using non-shadowed libs
- stop preshgadowing plugins
- switch to project dependencies
- add annotation processing module
2017-09-19 21:37:12 +02:00
Ilya Chernikov
3caa426b76
Switching library projects to java 8 compilation with exceptions for stdlib/runtime/reflect/test
2017-09-19 21:37:11 +02:00
Ilya Chernikov
fca9478fd8
Tweak dependencies loading and other minor infrastructure changes
2017-09-19 21:37:10 +02:00
Ilya Chernikov
06532cefa2
Fix teamcity build
2017-09-19 21:37:09 +02:00
Ilya Chernikov
628927782a
Fix tests in the gradle environment
2017-09-19 21:37:09 +02:00
Ilya Chernikov
f053ed968f
Change core env and proguard config for compatibility with new gradle build
...
(the build.xml should be modified to support the proguard config in this form)
2017-09-19 21:37:08 +02:00
Ilya Chernikov
6b22282ad4
Change previous gradle build for compatibility with the centralized build
...
incompatible with the main build yet
2017-09-19 21:37:07 +02:00
Ilya Chernikov
61dfb75e0e
Implement Gradle Kotlin DSL build
2017-09-19 21:37:06 +02:00
Ilya Chernikov
f5d6e41993
Update gradle wrapper
2017-09-19 21:37:05 +02:00
Ilya Gorbunov
095aacecac
Minor, test: align assertion with the expectation message
2017-09-19 17:57:18 +03:00
Mikhail Glukhikh
38ddc731ea
Do not check 'isArrayOfMethod' using BuiltInsPackageFragment
...
So #KT-18631 Fixed
2017-09-19 17:14:22 +03:00
Mikhail Glukhikh
bf739198aa
Fix regular quick-fix test with multi-platforms required
2017-09-19 17:13:58 +03:00
Mikhail Glukhikh
ef6a00f477
Fix completion tests
2017-09-19 17:13:37 +03:00
Valentin Kipyatkov
454c5229f9
Ability to disable caches reset on ProcessCanceledException via internal action
2017-09-19 16:52:20 +03:00
Sergey Igushkin
41b13d25f2
Fix javaOutputDir changed to the JAR, which was breaking unit tests
...
internal visibility, because they did not get the JAR into classpath
Issue #KT-20212 Fixed
(cherry picked from commit 19e861b)
2017-09-19 15:33:58 +03:00
Sergey Igushkin
5ce514bd42
Changes to configuration of Kotlin source set
...
* Include the Java source directory set as-is, without iterating over
its srcDirs
* Avoid Java sources duplication with newer Gradle versions.
Issue #KT-16764 Fixed
Issue #KT-17564 Fixed
2017-09-19 15:33:58 +03:00
Alexey Andreev
c5e5a43f68
JS: fix unit materialization in case of null check and elvis operator
...
See KT-20287
2017-09-19 15:30:55 +03:00
Alexey Andreev
b4c622d433
JS: optimize destructuring declaration when possible
...
See KT-8285
2017-09-19 15:30:26 +03:00
Alexey Andreev
a2bfaf4fc8
Fix multiplatform test (use expect/actual instead of header/impl)
2017-09-19 15:21:30 +03:00
Nikolay Krasko
1b447a0231
Execute action without writeActionPriority in tests
2017-09-19 11:27:23 +03:00
Dmitry Jemerov
c05c359703
Correctly detect multiplatform modules in run code
...
LanguageVersionSettings doesn't mean that the module is actually
multiplatform; it only means that it _could_ be one. Use
platform and information from facet instead.
Also fix detection of common stdlib version and add tests for common
run config.
2017-09-18 19:23:22 +02:00
Dmitry Jemerov
dd34c67849
Add missing dependencies
2017-09-18 19:23:22 +02:00
Alexey Sedunov
04a4bef615
Misc: Fix multiplatform test configuration
2017-09-18 19:43:41 +03:00
Vyacheslav Gerasimov
43ee2bd9c4
Add new Gradle with Kotlin DSL project wizard for Kotlin, KotlinJS, Java, Groovy
...
#KT-20308 Fixed Target Version 1.2
2017-09-18 17:15:54 +03:00
Vyacheslav Gerasimov
3d71fa85be
Copy initial new gradle project wizard files from idea gradle plugin
2017-09-18 17:15:50 +03:00
Stanislav Erokhin
e8d42e4dde
Increase stub version because we add new soft-keywords: expect and actual
2017-09-18 16:37:36 +03:00
Alexey Sedunov
7c26f87b0c
Misc: Fix multiplatform test configuration
2017-09-18 16:30:28 +03:00
Mikhail Glukhikh
9b0f15137f
Expect/actual: introduce DEPRECATED_MODIFIER instead of ..._FOR_TARGET
2017-09-18 16:19:41 +03:00
Mikhail Glukhikh
721889600f
Expect/actual: fix some error messages
2017-09-18 16:09:18 +03:00
Nikolay Krasko
98e9238763
Force canceling injection search when it's executed without progress (KT-19901)
...
More accurate fix for KT-19901.
There're cases when injectors are counted without progress indicator but
under read action. In that cases typing can't be started until exit from
the computing that produces lags in typing.
Tested with long spek-like test file.
#KT-19901 Fixed
2017-09-18 14:56:46 +03:00
Alexey Sedunov
bd3d79d318
Minor: Do not specify platform for project-level language settings
2017-09-18 14:55:16 +03:00
Mikhail Glukhikh
79308287be
Minor: rename directory in quick-fix test data
2017-09-18 14:40:14 +03:00
Denis Grachev
0722c5c13a
KT-19565: J2K: Determine mutability using iterator
...
#KT-19565 fixed
2017-09-18 14:07:57 +03:00
Alexey Andreev
d312996f3a
JS: generate import statement for COROUTINE_SUSPENDED property
...
This makes code with lots of corutines more feasible for uglification
2017-09-18 13:13:40 +03:00
Alexey Andreev
9771a3c66e
JS: prove that KT-8282 is no more reproducible
2017-09-18 13:13:00 +03:00
Alexey Andreev
aa35d4ed36
JS: prove that KT-8315 is no more reproducible
2017-09-18 13:13:00 +03:00
Alexey Andreev
6ba0ac1238
JS: prove that KT-7011 is no more reproducible
2017-09-18 13:12:59 +03:00
Alexey Andreev
a66cd8b309
Fix name clash in JS implementation of multiplatform extension property
...
See KT-18756
2017-09-18 13:10:51 +03:00
Toshiaki Kameyama
1c7d66c803
Do not suggest "Redundant Unit return type" for Nothing-typed expression
...
So #KT-20261 Fixed
2017-09-18 13:02:03 +03:00
Toshiaki Kameyama
d87c0b164f
Add quick-fix for CANNOT_CHECK_FOR_ERASED #KT-18742 Fixed
2017-09-18 12:11:15 +03:00
Mikhail Zarechenskiy
6a1b6d10d8
Setup JDK roots and initialize JDK_HOME in common core environment
...
#KT-20167 Fixed
2017-09-18 08:19:41 +03:00
Stanislav Erokhin
6d26d1fb67
Minor. rename header -> commonModule
2017-09-16 19:47:47 +03:00
Stanislav Erokhin
91a99b4726
Migrate impl to actual in libraries projects
2017-09-16 19:47:46 +03:00
Stanislav Erokhin
481cbd0850
Migrate header to expect in libraries projects
2017-09-16 19:47:45 +03:00
Stanislav Erokhin
7cd5eeb24d
Regenerate common stdlib: use 'expect' instead 'header'
2017-09-16 19:47:44 +03:00
Mikhail Glukhikh
e12de11ce9
Fix add modifier for replacement case, add expect/actual order tests
2017-09-16 19:47:43 +03:00
Mikhail Glukhikh
2c521727c3
Add header/impl/expect/actual into modifiers order list
2017-09-16 19:47:42 +03:00
Mikhail Glukhikh
c0dd97b40d
Migration to expect/actual: fix CLI tests
2017-09-16 19:47:41 +03:00
Mikhail Glukhikh
a18e9436a1
Migration to expect/actual: change diagnostics rendering
2017-09-16 19:47:40 +03:00
Stanislav Erokhin
7982f3489e
Rename compiler key -Xno-check-impl to -Xno-check-actual
2017-09-16 19:47:39 +03:00
Mikhail Glukhikh
2fe7cc5534
Add more tests for KT-20262
2017-09-16 19:47:38 +03:00
Mikhail Glukhikh
77f625bfc8
Include ReplaceModifierFix in cleanup #KT-20262 Fixed
2017-09-16 19:47:37 +03:00
Stanislav Erokhin
7849452b66
Rename ALLOW_HEADER_WITHOUT_IMPLS to ALLOW_EXPECT_WITHOUT_ACTUAL
2017-09-16 19:47:36 +03:00
Vyacheslav Gerasimov
bba2d27e82
UAST: Fix getType and getText for UastKotlinPsiVariable
2017-09-16 13:21:44 +03:00
Vyacheslav Gerasimov
14742a6048
UAST: Fix getContainingFile, should return KtFile instead of FakeFileForLightClass
...
#KT-20170 Fixed
2017-09-16 13:02:08 +03:00
Vyacheslav Gerasimov
6d7c88a2bc
Fix KotlinWithGradleConfigurator, get psi files under read action
...
EA-106672 Fixed
2017-09-16 13:02:07 +03:00
Alexander Udalov
37a23f0958
Use JVM package name in Java 9 module accessibility checks
...
This fixes Java9ModuleIntegrationTest.testDependencyOnStdlibJdk78 from
the 1.2 branch
2017-09-15 20:30:29 +03:00
Mikhail Glukhikh
d3082b0e62
Migration to expect/actual: change some comments in compiler
2017-09-15 18:30:32 +03:00
Mikhail Glukhikh
fcc84d00c3
Migration: make header/impl/expect/actual contradictory to each other
2017-09-15 18:30:25 +03:00
Mikhail Glukhikh
fc4ff3b760
Migration to expect/actual: renames in DeclarationResolver
2017-09-15 18:30:18 +03:00
Mikhail Glukhikh
afdd647df1
Migration to expect/actual: renames in DeclarationsChecker
2017-09-15 18:30:11 +03:00
Mikhail Glukhikh
c5c6050baa
Migration to expect/actual: renames in ExpectedActualDeclarationChecker
2017-09-15 18:30:04 +03:00
Stanislav Erokhin
88644001d3
Rename heared/impl around highlighter markers
2017-09-15 18:29:57 +03:00
Stanislav Erokhin
8d8f683042
Fix header/impl in LazyClassDescriptor.toString
2017-09-15 18:29:50 +03:00
Stanislav Erokhin
956b0aca92
Rename header/impl in DescriptorRendererModifier
2017-09-15 18:29:43 +03:00
Stanislav Erokhin
194d16176c
Rename protobuf header/impl flags
2017-09-15 18:29:36 +03:00
Stanislav Erokhin
2b186909d4
Migrate diagnostic names for header/impl
2017-09-15 18:29:29 +03:00
Mikhail Glukhikh
d20ba5d082
Migration to expect/actual minor: rename icon constants
2017-09-15 18:29:21 +03:00
Mikhail Glukhikh
19b8ecab61
Migration to expect/actual: KotlinSafeDeleteProcessor
2017-09-15 18:29:13 +03:00
Mikhail Glukhikh
6e41bbc2a7
Migration: header->expect & impl->actual in IDEA test data
2017-09-15 18:29:06 +03:00
Mikhail Glukhikh
32cc619f15
Migration to expect/actual: fix multiplatform highlighting tests
2017-09-15 18:28:57 +03:00
Mikhail Glukhikh
85d6a4d1af
Migration to expect/actual: fix multiplatform integration tests
2017-09-15 18:28:50 +03:00
Mikhail Glukhikh
27615209ed
Migration to expect/actual: remove header/impl from completion, tests
2017-09-15 18:28:43 +03:00
Mikhail Glukhikh
6766196bd8
Migration to expect/actual: correct multi-module QF tests
2017-09-15 18:28:36 +03:00
Mikhail Glukhikh
bc78d672c1
Migration: add quick-fix to replace header->expect & impl->actual
2017-09-15 18:28:28 +03:00
Mikhail Glukhikh
e896a1f5ea
Migration: add check for illegal expect on nested in non-expect class
2017-09-15 18:28:21 +03:00
Mikhail Glukhikh
5d25106267
Migration: deprecation tests for header/impl
2017-09-15 18:28:14 +03:00
Mikhail Glukhikh
dd8bed8b46
Migration: expect/actual in diagnostic tests
2017-09-15 18:28:07 +03:00
Mikhail Glukhikh
1a2dc4c96c
Migration: expect/actual in descriptor renderer
2017-09-15 18:28:00 +03:00
Mikhail Glukhikh
205272f51b
Migration: add expect/actual to hasExpected... / hasActualModifier
2017-09-15 18:27:53 +03:00
Mikhail Glukhikh
0640d5618c
Migration: make modifiers HEADER & IMPL deprecated
2017-09-15 18:27:47 +03:00
Mikhail Glukhikh
6650340716
Migration: expect/actual in OverrideMemberChooserObject
2017-09-15 18:27:40 +03:00
Mikhail Glukhikh
b909704bb9
Migration: expect/actual in KotlinSafeDeleteProcessor
2017-09-15 18:27:33 +03:00
Mikhail Glukhikh
31f4f2d0c9
Migration: add actual instead of impl on IMPL_MISSING
2017-09-15 18:27:26 +03:00
Mikhail Glukhikh
89c8ee8614
Migration: hasImpl -> hasExpectedModifier (OverrideMemberChooserObject)
2017-09-15 18:27:19 +03:00
Mikhail Glukhikh
280a60af6f
Migration to expect/actual: some intentions
2017-09-15 18:27:12 +03:00
Mikhail Glukhikh
62ec4b5a31
Migration to expect/actual: KeywordCompletion
2017-09-15 18:27:05 +03:00
Mikhail Glukhikh
9f02a8b2a8
Migration: PlatformHeaderAnnotator -> PlatformExpectedAnnotator
2017-09-15 18:26:59 +03:00
Mikhail Glukhikh
74f81f38ba
Migration to expect/actual: highlighter markers
2017-09-15 18:26:46 +03:00
Mikhail Glukhikh
2d0ac0011a
Migration to expect/actual: ExpectedActualDeclarationChecker
2017-09-15 18:26:23 +03:00
Mikhail Glukhikh
c4fd1a8e5c
Migration to expect/actual: ModifierCheckerCore
2017-09-15 18:26:16 +03:00
Mikhail Glukhikh
fba1a2a2db
Migration to actual/expect: quick-fix CreateActualFix with tests
2017-09-15 18:26:09 +03:00
Mikhail Glukhikh
810d62bbaf
Add expect & actual to MODIFIERS_TO_REPLACE table
2017-09-15 18:26:02 +03:00
Mikhail Glukhikh
eb648e20c6
Add expect & actual modifiers
2017-09-15 18:25:56 +03:00
Stanislav Erokhin
e86d2f00ff
Rename isImpl to isActual in descriptors
2017-09-15 18:25:49 +03:00
Stanislav Erokhin
c8ee424f67
Rename isHeader to isExpect in descriptors
2017-09-15 18:25:41 +03:00
Stanislav Erokhin
fd6eab38e5
Regenerate comments in protobuf files for isHeader -> isExpect
2017-09-15 18:25:34 +03:00
Stanislav Erokhin
4dc47c734c
Rename has[Header|Impl]Modifier() to has[Expect|Actual]Modifier()
2017-09-15 18:25:27 +03:00
Stanislav Erokhin
0bf7dc3e0c
Refactoring. Replace hasModifier(IMPL_KEYWORD) to hasImplModifier()
2017-09-15 18:25:20 +03:00
Stanislav Erokhin
1ebfe1af43
Refactoring. Replace hasModifier(HEADER_KEYWORD) to hasHeaderModifier()
2017-09-15 18:25:13 +03:00
Yan Zhulanow
79b2b40289
Allow access to effectively invisible declarations in evaluator (KT-18775)
2017-09-15 17:54:46 +03:00
Yan Zhulanow
5641909d1d
Parcel: Invoke box tests as an external process to prevent class clashes with IntelliJ platform
2017-09-15 17:54:46 +03:00
Mikhail Zarechenskiy
11b6382518
Revert "Setup JDK roots and initialize JDK_HOME in common core environment"
...
This reverts commit 05dd4714045494dcc648412t 2ea2179a242991639.
2017-09-15 16:47:42 +03:00
Mikhail Zarechenskiy
05dd471404
Setup JDK roots and initialize JDK_HOME in common core environment
...
#KT-20167 Fixed
2017-09-15 16:34:12 +03:00
Anton Bannykh
373bd5ff17
JS: throw exception on access to an uninitialized local variable (KT-20248 fixed)
2017-09-15 14:46:26 +03:00
Nikolay Krasko
aa442860c2
Run inline usages search in debugger under progress indicator (KT-19974)
...
#KT-19974 Fixed
2017-09-15 12:27:41 +03:00
Mikhail Zarechenskiy
bbf4c56c06
Update generated tests
2017-09-15 11:47:16 +03:00
Mikhail Glukhikh
faaddacec6
Fix "unexpected error type" exception in constructor conversion
...
So #KT-20218 Fixed
2017-09-15 11:17:21 +03:00
Mikhail Glukhikh
13fc526695
Fix "unexpected error type" exception in initializer -> getter
...
So #KT-19674 Fixed
2017-09-15 11:16:51 +03:00
Mikhail Glukhikh
a9ece23e63
Remove BodyResolveMode.FULL from OverrideImplementMembersHandler
2017-09-15 11:15:44 +03:00
Mikhail Zarechenskiy
a63495aa0b
Use language version settings of definitely known module
2017-09-15 08:16:25 +03:00
Yan Zhulanow
26af128694
Parcelable: produce error on "CREATOR" companion object
2017-09-14 19:36:48 +03:00
Yan Zhulanow
d9f99971bb
Disable old Parcelable quickfixes if @Parcelize annotation is present
2017-09-14 19:36:47 +03:00
Yan Zhulanow
e6171dc4c5
Parcelable: Add quick fixes
2017-09-14 19:36:24 +03:00
Yan Zhulanow
8eeed17b65
Add android-extensions-runtime.jar to CLI libs
2017-09-14 19:29:11 +03:00
Yan Zhulanow
9984b6f9d1
Minor: Refactoring
2017-09-14 19:29:10 +03:00
Yan Zhulanow
2fb2211a4d
Kapt: Prevent kaptGenerateStubsTask from being UP-TO-DATE when there is no incremental data generated for some reason
2017-09-14 19:16:55 +03:00
Yan Zhulanow
83bf257666
Kapt: Attach kapt stub location when reporting annotation processor errors
2017-09-14 19:16:55 +03:00
Yan Zhulanow
4ac8a98050
Kapt: Hide fake "Error while annotation processing" error in Android Studio build console
2017-09-14 19:16:54 +03:00
Yan Zhulanow
69051a4764
Simplify KotlinOutputParser, remove old reflection-based logic that didn't work well with the newer versions of Android Studio
2017-09-14 19:16:53 +03:00
Anton Bannykh
74bda80ec2
JS: added forgotten JsLegacyPrimitiveArraysBoxTestGenerated.java
2017-09-14 18:55:12 +03:00
Yan Zhulanow
8e72a1211b
Kapt: Add IDEA integration (KT-19097, KT-17923, KT-19823)
2017-09-14 18:40:55 +03:00
Mikhail Zarechenskiy
b574ddfba0
Deprecate syntax for assigning single named arguments to varargs
...
See more in KT-20171
2017-09-14 18:27:43 +03:00
Mikhail Zarechenskiy
68259f7939
Allow assigning array to vararg in named form in annotations
...
See more in KT-20171
2017-09-14 18:27:41 +03:00
Mikhail Zarechenskiy
f905d56b38
Don't try to get KtFile on random element as it can throw exception
...
For example, this can be for copied elements (DummyHolder)
2017-09-14 18:27:40 +03:00
Mikhail Zarechenskiy
b1d9abdf83
Propagate languageVersionSettings to resolution context
2017-09-14 18:27:34 +03:00
Denis Zharkov
6336ad874b
Get rid of ParametersAreNonnullByDefault copy in test data
2017-09-14 18:05:32 +03:00
Denis Zharkov
24b1f2ed1f
Minor. Update CliTestGenerated.Jvm::testExtraHelp test data
2017-09-14 18:05:32 +03:00
Denis Zharkov
4d95c30360
Restore -Xjsr305-annotations flag as a deprecated
2017-09-14 18:05:32 +03:00
Denis Zharkov
97fed6336b
Add cli tests on different options of -Xjsr305 flag
2017-09-14 18:05:32 +03:00
Denis Zharkov
363d345752
Make default value for -Xjsr305 flag to be WARN
2017-09-14 18:05:32 +03:00
Denis Zharkov
2ca220d442
Ignore built-in type qualifier defaults when Jsr305State=IGNORE
2017-09-14 18:05:32 +03:00
Denis Zharkov
b744ed0fd3
Minor. Remove unused properties
2017-09-14 18:05:32 +03:00
Denis Zharkov
943dd96a87
Fix Jsr305State::STRICT description
2017-09-14 18:05:32 +03:00
Alexander Udalov
d32e101802
Support deprecatedName for advanced CLI arguments
2017-09-14 18:05:32 +03:00
Mikhail Glukhikh
92215b41b9
Replace resolveToDescriptor with unsafeResolveToDescriptor
...
Now unsafeResolveToDescriptor is equivalent to resolveToDescriptorIfAny
but throws exception in case no descriptor is found.
Old version of resolveToDescriptor is kept intact but made deprecated.
Some clarifying comments were added
2017-09-14 17:20:37 +03:00
Toshiaki Kameyama
cd6201c5df
Java class with static-only methods can contain 'protected' members ( #1257 )
...
#KT-19651 Fixed
2017-09-14 15:47:10 +03:00
Mikhail Glukhikh
0f9d31c9d1
Patch resolveToDescriptorIfAny() for parameter case
...
Now property descriptor is returned for primary constructor val / var,
otherwise parameter descriptor is returned.
2017-09-14 15:08:06 +03:00
Mikhail Glukhikh
04b8f1db6e
Minor: convert to expression body applied (resolutionApi)
2017-09-14 15:08:05 +03:00
Mikhail Glukhikh
71c2489ade
Use safe resolveToDescriptorIfAny() when possible (related to EA-105681)
2017-09-14 15:08:04 +03:00
Nikolay Krasko
94e3a51a45
Test no psi stub mismatch for light classes with suspend in overloads
...
IdeCompiledLightClassTestGenerated is relevant.
2017-09-14 12:28:26 +03:00
Nikolay Krasko
74043089ab
Generate modifier list stub under nullable type for suspend functions (KT-20185)
...
Otherwise there's a PSI and Stub mismatch error produced.
#KT-20185 Fixed
2017-09-14 12:28:26 +03:00
Nikolay Krasko
b9872b7651
Render annotations in suspend functions in single modifier list (KT-20185)
...
#KT-20185 Fixed
2017-09-14 12:28:26 +03:00
Dmitry Petrov
d20af1133a
Use captured instance in interface companion object initializer
...
Similar to enum entry initialization, when we have a companion object
in an interface, its constructor (or clinit) initializes its state
before the instance field in corresponding interface is initialized.
So, interface companion object must be accessed via a captured object
reference (#0 , or #0.this$0 for inner anonymous objects).
2017-09-14 10:26:35 +03:00
Dmitry Petrov
179e720e4a
Provide fallback flag for KT-19174
...
-Xno-exception-on-explicit-equals-for-boxed-null
Also unify corresponding names.
2017-09-14 10:15:28 +03:00
Dmitry Petrov
773eff1de8
Update IEEE 754 'equals' tests for LV 1.2
...
NB IEEE 754 doesn't say anything about nulls.
2017-09-14 10:15:01 +03:00
Dmitry Petrov
a3c4850f0d
Fail with NPE on explicit 'equals' call for null platform type value
2017-09-14 10:15:01 +03:00
Dmitry Petrov
4c2cfd3ea9
Synthesized 'copy' in data classes cannot override anything since 1.3
...
Synthesized 'copy' introduces default values for parameters, which is
prohibited for regular overrides.
Report warning in language version 1.2-, error in 1.3+.
2017-09-14 10:13:22 +03:00
Alexander Udalov
9ae6feb2c5
Temporarily remove JvmPackageName and tests, but keep the implementation
...
This is needed because we want the compiler code to stay as much the
same in master and in 1.2 as possible
2017-09-13 23:23:36 +03:00
Alexander Udalov
e8e38d90ff
Validate JvmPackageName annotation value and placement
...
- do not allow it to be used together with JvmMultifileClass (otherwise
implementation becomes complex)
- do not allow to declare classes in a JvmPackageName-annotated file
(similarly, the implementation of this would be much harder in the
compiler, and there would need to be special support in the IDE)
- check that the value is a valid FQ name
- do not allow root package just in case
2017-09-13 22:59:03 +03:00
Alexander Udalov
2bb437b219
Do not load JvmPackageName-annotated parts on Kotlin < 1.2
2017-09-13 22:59:03 +03:00
Alexander Udalov
70ae1596fb
Support JvmPackageName annotation in binary format
...
The main changes are in jvm_package_table.proto and ModuleMapping.kt.
With JvmPackageName, package parts can now have a JVM package name that
differs from their Kotlin name. So, in addition to the old package parts
which were stored as short names + short name of multifile facade (we
can't change this because of compatibility with old compilers), we now
store separately those package parts, which have a different JVM package
name. The format is optimized to avoid storing any package name more
than once as a string.
Another notable change is in KotlinCliJavaFileManagerImpl, where we now
load .kotlin_module files when determining whether or not a package
exists. Before this change, no PsiPackage (and thus, no JavaPackage and
eventually, no LazyJavaPackageFragment) was created unless there was at
least one file in the corresponding directory. Now we also create
packages if they are "mapped" to other JVM packages, i.e. if all package
parts in them have been annotated with JvmPackageName.
Most of the other changes are refactorings to allow internal names of
package parts/multifile classes where previously there were only short
names.
2017-09-13 22:59:03 +03:00
Alexander Udalov
d07b628e0c
Support JvmPackageName annotation in JVM back-end
...
This annotation is currently internal because we only commit to its
support for our own libraries. It will be used to change JVM package
names of declarations in JDK-specific stdlib additions (now called
kotlin-stdlib-jre7/8), both to preserve source compatibility of the old
Kotlin code and to solve the split package problem (KT-19258)
2017-09-13 22:59:03 +03:00
Alexander Udalov
234148518e
Temporarily remove isInitialized and tests, but keep the implementation
...
This is needed because we want the compiler code to stay as much the
same in master and in 1.2 as possible
2017-09-13 22:51:23 +03:00
Alexander Udalov
7d80afbe63
Avoid getting invisible_fake visibility for properties in ExpressionCodegen
...
Before this change, we were computing the visibility of an inherited
private property setter, and ISE at AsmUtil.getVisibilityAccessFlag
happened ("invisible_fake is not a valid visibility in backend")
2017-09-13 22:49:26 +03:00
Alexander Udalov
c6263ac8e6
Support isInitialized intrinsic for lateinit properties
...
See https://github.com/Kotlin/KEEP/pull/73
#KT-9327 Fixed
2017-09-13 22:49:26 +03:00
Ilya Gorbunov
08052e63e9
Test to ensure fixed typed char array content[Deep]ToString, relates to #KT-16056
2017-09-13 20:53:17 +03:00
Anton Bannykh
2249675e59
JS: throw exception when accessing uninitialized lateinit property (KT-14964)
2017-09-13 20:16:01 +03:00
Anton Bannykh
49bc9249a1
JS: add support for the ::foo syntax (callable reference with empty LHS)
2017-09-13 20:12:48 +03:00
Anton Bannykh
497251a6d7
Revert "JS: use Mocha + NodeJs instead of Karma + PhantomJs to run stdlib tests" so that it wouldn't clash with Gradle Build transition
...
This reverts commit 11c83ad
2017-09-13 20:11:11 +03:00
Anton Bannykh
11c83ad0fc
JS: use Mocha + NodeJs instead of Karma + PhantomJs to run stdlib tests
2017-09-13 19:43:53 +03:00
Anton Bannykh
22dc36a596
JS: enable translation of primitive arrays to TypedArray's by default (KT-17137)
2017-09-13 18:45:19 +03:00
Dmitry Jemerov
cc8fbf6078
Store third-party annotations in a separate directory
2017-09-13 17:25:20 +02:00
Alexander Udalov
296638a7c4
Minor, fix test after 60c735f2fd
2017-09-13 18:13:39 +03:00
Nikolay Krasko
cad6fdb323
Reenable workaround for JVMTI_ERROR_WRONG_PHASE in debugger tests
...
It was fixed in custom intellij jdk and disabled in DescriptorTestCase.
2017-09-13 16:29:51 +03:00
Nikolay Krasko
75fa982370
Minor: split long line in KotlinDebuggerSettings.kt
2017-09-13 16:29:51 +03:00
Alexander Udalov
1b45e9d517
Minor, fix before vs after in some tests
2017-09-13 15:46:37 +03:00
Alexander Udalov
b01a3eb747
Drop JvmFileClassesProvider and inline implementations
...
Both of its implementations called the same static function; inline
those and move related utilities to JvmFileClassUtil
2017-09-13 15:46:36 +03:00
Alexander Udalov
16c5fb6f6b
Refactor and simplify JvmFileClassUtil
2017-09-13 15:46:35 +03:00
Denis Zharkov
28d785854c
Optimize codegen for generic SAM types
...
Search abstract members in unsubstituted scope to avoid computation
of substituted descriptors for each type (effectively for each SAM call)
#KT-20055 In progress
2017-09-13 15:34:14 +03:00
Denis Zharkov
97fd72a1e0
Minor. Drop unused function in resolution
2017-09-13 15:34:14 +03:00
Denis Zharkov
b905ddeac9
Memoize deprecations-related computations
...
It might be helpful for performance as these methods are called
for each resolution candidate and in the same time they scan
the whole overridden tree of a callable member
2017-09-13 15:34:14 +03:00
Denis Zharkov
4eb0f245a6
Avoid creating substitution instances for empty argument list
2017-09-13 15:34:14 +03:00
Denis Zharkov
fbdcf45976
Optimize AbstractClassTypeConstructor::equals
2017-09-13 15:34:14 +03:00
Denis Zharkov
8753baeab6
Optimize DirectoriesScope::contains
...
Previously its complexity was O(directoriesCount * pathSize),
now it's O(pathSize) in average
2017-09-13 15:34:14 +03:00
e5l
5bb88b659b
Rename flag Xjsr305-annotations->Xjsr305
2017-09-13 15:19:54 +06:00
Zalim Bashorov
30c7f633bd
KJS: don't load declarations marked by PlatformDependent annotation
...
#KT-17450 Fixed
2017-09-13 02:18:43 +03:00
Yan Zhulanow
d7ad973843
Kapt, minor: Remove duplicating 'visitInnerClass()' calls (rebase issue)
2017-09-12 22:17:18 +03:00
Vladimir
9a8699a2ab
Kapt: kaptGenerateStubs now depends on kapt build dependencies (KT-20001)
2017-09-12 22:07:18 +03:00
Yan Zhulanow
7b4e24a454
Android Extensions: Allow LayoutContainers in inner/local classes and objects
2017-09-12 22:07:18 +03:00
Yan Zhulanow
07be1e9d10
Android Extensions: Generate proper receiver for clearFindViewByIdCache() call (KT-19742)
2017-09-12 22:07:17 +03:00
Yan Zhulanow
f84df6381e
NoArg: Support @MappedSuperclass JPA annotation (KT-19692)
2017-09-12 22:07:16 +03:00
Yan Zhulanow
3f4ddb006a
Android Extensions: Fix compilation when LayoutContainer is used as an interface (KT-19753)
2017-09-12 22:07:16 +03:00
Yan Zhulanow
eefb490a8a
Parcelable: Use efficient serialize strategy for Java/Kotlin Parcelables only from the current source roots (KT-20029)
2017-09-12 22:07:15 +03:00
Yan Zhulanow
1b688182cd
Parcelable: Use specialized write/create methods where available (KT-20057)
2017-09-12 22:07:14 +03:00
Yan Zhulanow
f6d7a17227
Parcelable: Remove 'ACC_STATIC' flag from Creator class, Dalvik dex checker hates it, and it's illegal anyway (KT-20034)
2017-09-12 22:07:13 +03:00
Yan Zhulanow
e0509e8c4d
Parcelable: Specify declaration origin for the synthetic descriptors
2017-09-12 22:07:13 +03:00
Yan Zhulanow
033386b47d
Parcelable: Do not check property types if the Parcelable class has a custom Parceler implementation (KT-20062)
2017-09-12 22:07:12 +03:00
Yan Zhulanow
89c5f78a8e
Parcelable: Use Parcel methods for reading-writing primitive types (KT-20020)
2017-09-12 22:07:11 +03:00
Yan Zhulanow
a03c03c427
Parcelable: Handle nullability in Parcelize Parcelable serializer (KT-20032)
2017-09-12 22:07:11 +03:00
Yan Zhulanow
88138fc420
Parcelable: Use java/lang/Enum methods to read/write enum values (KT-20022)
2017-09-12 22:07:10 +03:00
Yan Zhulanow
7b96c9a003
Parcelable: Give priority to Parcelable type over objects and enums (KT-20021)
2017-09-12 22:07:09 +03:00
Yan Zhulanow
be3273a933
Parcelable: Flags argument should be propagated to the nested Parcelable's writeToParcel() (KT-20019)
2017-09-12 22:07:08 +03:00
Yan Zhulanow
3587a2a08e
Parcelable: Use ClassLoader from the container class to load Parcelable (KT-20027)
...
When the parameter type is just "Parcelable", we would not pick the wrong (system) class loader anymore.
2017-09-12 22:07:08 +03:00
Yan Zhulanow
c9ec1a2511
Parcelable: Array serializer should correctly handle wide primitive types – long, double (KT-20002)
2017-09-12 22:07:07 +03:00
Yan Zhulanow
32fc340d62
Parcelable: Parcelize overrides describeContents despite being already implemented (KT-20026)
2017-09-12 22:07:06 +03:00
Yan Zhulanow
e645da64da
Parcelable: Use the Parcelable implementation class as a containing declaration for Creator (KT-19899)
2017-09-12 22:07:06 +03:00
Yan Zhulanow
f8ca714c45
Parcelable: Cast types deserialized with Parcel.readValue() (KT-19747)
2017-09-12 22:07:05 +03:00
Yan Zhulanow
eee28d8507
Parcelable: Fix signature for Serializable Parcel serializer (KT-19749)
2017-09-12 22:07:04 +03:00
Nikolay Krasko
32c02161cd
Refactoring: improve isApplicable methods in surrounders
2017-09-12 18:27:47 +03:00
Nikolay Krasko
b925df0e14
Minor: remove '\n' from if surrounder
2017-09-12 18:27:47 +03:00
Nikolay Krasko
239f88e5d3
Refactoring: use sealed classes for try-catch expression surrounders
2017-09-12 18:27:47 +03:00
Kirill Rakhman
08103d1cb4
Implement "Surround with try/catch(/finally)" and "Surround with if/else" for expressions
...
Fixes #KT-14175
Fixes #KT-19782
2017-09-12 18:27:47 +03:00
Mikhail Zarechenskiy
e16d16fdb7
Do not report diagnostic about annotation with receiver target twice
2017-09-12 17:39:24 +03:00
Mikhail Zarechenskiy
2048a74302
Introduce Language Feature for annotations with wrong targets
...
#KT-9580 Fixed
2017-09-12 17:39:23 +03:00
Mikhail Zarechenskiy
a4766cc293
Report errors on annotations with wrong use site targets
...
#KT-9580 In Progress
2017-09-12 17:39:22 +03:00
Mikhail Glukhikh
dafb52a44a
CodeBlockModification...: count file as changed when no changed elements
...
It means that root PSI (KtFile itself) is changed
So #KT-19726 Fixed
So #KT-20157 Fixed
2017-09-12 17:28:32 +03:00
Mikhail Glukhikh
dd1ac5bb6b
Add a set of tests for internal callables find usages
...
Related to KT-19811
2017-09-12 16:51:02 +03:00
Mikhail Glukhikh
97233448d0
Enclosing element: do not handle parameters of for as function ones
...
So #KT-19626 Fixed
2017-09-12 16:13:56 +03:00
Mikhail Glukhikh
7ae722492f
Unused symbol: do not use body of function literal as scope for members
...
So #KT-10546 Fixed
2017-09-12 16:13:34 +03:00
Mikhail Glukhikh
4b25317ecb
Minor: KtPsiUtil: extract isNonLocalCallable
2017-09-12 16:13:15 +03:00
Toshiaki Kameyama
5eb69e0ae4
KT-20010 'Replace safe access expression with 'if' expression' IDEA Kotlin plugin intention may failed ( #1288 )
...
* 'Replace safe access expression with 'if' expression' IDEA Kotlin plugin intention may failed #KT-20010 Fixed
* #KT-20010 Fixed
2017-09-12 14:54:50 +02:00
Alexander Udalov
60c735f2fd
Do not use deprecated kotlin.reflect API
2017-09-12 15:08:21 +03:00
Alexander Udalov
593d6b7a95
Minor, do not use ".java.kotlin" on KClass instances
2017-09-12 15:02:25 +03:00
Alexander Udalov
ac1c7d9a6a
Drop Incompatible.NoImpl, fix no "missing impl" on nested class
...
Header/impl declarations are now considered fully compatible even in the
case when the impl declaration has no "impl" modifier. The error about
no "impl" is now reported separately and only on the impl declaration,
never on the header declaration
#KT-20087 Fixed
2017-09-12 14:41:11 +03:00
Vyacheslav Gerasimov
b6c32edc43
Implement Kotlin Script support in UAST
...
#KT-18353 Fixed
2017-09-12 13:10:38 +03:00
Vyacheslav Gerasimov
89257e6397
Implement light classes for Kotlin scripts
2017-09-12 13:10:38 +03:00
Vyacheslav Gerasimov
26cbcfa1ac
J2K: AbstractCompilerLightClassTest java -> kt
2017-09-12 13:10:38 +03:00
Kirill Rakhman
7fe1e4f83e
Fix grammar in inspection description
2017-09-12 12:05:30 +03:00
Dmitry Petrov
38d1d06e6e
Update modifier applicability tests for LV 1.2
2017-09-12 11:54:04 +03:00
Dmitry Petrov
6b6d1e80f8
Fix enum entry reference from enum entry initialization context
...
Enum entries are "special" kind of singletons that should be
referenced as a captured 'this' instance inside during entry
initialization, because corresponding static fields in enum class
are not initialized yet.
#KT-7257 Fixed
2017-09-12 11:00:24 +03:00
Anton Bannykh
40e2046e76
Updated ChangeLog.md
2017-09-11 21:06:32 +03:00
Anton Bannykh
ea9f5a7200
Update ChangeLog.md for version 1.1.50
2017-09-11 21:05:36 +03:00
Dmitry Jemerov
b2e27f9172
Add idea-jvm to ultimate classpath
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
cd44131f88
Add impl module roots also when gradle-aware make is enabled
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
0caadcd2f1
Put Kotlin runner on the first place
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
9d2b9df3b4
Correctly run multiplatform modules
...
When a JVM run configuration requests compiling a common module,
compile the corresponding JVM module instead.
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
1d05e83401
Recognize common tests marked with annotations typealiased to @Test
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
6d30123c21
Add test dependencies when creating multiplatform projects
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
aed01c8475
Consistent naming: common platform is common, not default
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
62b3059425
Support running main() under JVM in multiplatform projects
...
#KT-20093 In progress
2017-09-11 15:07:51 +02:00
Dmitry Jemerov
0b143e982f
Always delegate build/run actions in MPP projects to Gradle
2017-09-11 15:07:51 +02:00
Alexey Andreev
c90c3e4bf5
Add hack to make JS coercion compatible with older versions of stdlib
2017-09-11 14:34:35 +03:00
Alexey Andreev
0acc96c4f3
Translate reference to kotlin.Unit to a shorter JS code
2017-09-11 14:34:35 +03:00
Alexey Andreev
2656a6a513
Eliminate redundant RHS of JS comma expression
2017-09-11 14:34:34 +03:00
Alexey Andreev
37fa45dc34
Add mechanism for type coercion in JS
...
Use it for char boxing/unboxing and unit materialization.
Possible to use for other purposes, for example, to add type checks
to dynamics.
See KT-18793, KT-17915, KT-19081, KT-18216, KT-12970, KT-17014,
KT-13932, KT-13930
2017-09-11 14:34:34 +03:00
Mikhail Glukhikh
ae509d5980
Unused symbol: add test to fix behaviour #KT-16318 Obsolete
2017-09-11 12:12:20 +03:00
Mikhail Glukhikh
37d2386a0b
Unused symbol: handle imports from nested objects correctly
...
So #KT-17437 Fixed
2017-09-11 12:12:18 +03:00
Mikhail Glukhikh
7e3d3bde74
Unused symbol: never use VALUE_ARGUMENT scope for members
...
So #KT-10546 Fixed
2017-09-11 12:12:17 +03:00
Mikhail Glukhikh
5c4e034171
Unused symbol: do not search for internal member light methods
...
Use direct references search instead
So #KT-19811 Fixed
2017-09-11 12:12:16 +03:00
Dmitry Petrov
4428798c61
Change diagnostic message and rename to NESTED_CLASS_DEPRECATED
2017-09-11 09:42:18 +03:00
Dmitry Petrov
66ece54b25
Fix initialization of inner class instances in enum entries
...
In an inner class of the enum entry class, enum entry reference should
be generated as an outer 'this', not as a enum entry access, because
enum entry itself may be not initialized yet.
2017-09-11 09:42:18 +03:00
Dmitry Petrov
26b2f59b86
Check that resolve works properly with inner classes in enum entries
2017-09-11 09:42:18 +03:00
Dmitry Petrov
ba2c3136bb
Prohibit non-inner classes in enum entries since 1.3
2017-09-11 09:42:18 +03:00
Dmitry Petrov
ea91a0794d
Allow modifier 'inner' on a class nested in enum entry class
2017-09-11 09:42:18 +03:00
Dmitry Petrov
488a825349
Specialize diagnostic message for nested classes not allowed
2017-09-11 09:42:18 +03:00
Mikhail Zarechenskiy
dd9ffd10b6
Preserve order of types in new type intersector
2017-09-10 22:29:07 +03:00
Dmitry Jemerov
d8b46406ab
Delete unused extension point
2017-09-09 10:01:36 +02:00
Alexey Andreev
24c6f5f0f0
JS: add test to prove that KT-19483 is no more reproducible
2017-09-08 18:27:43 +03:00
Alexey Andreev
c65a79bca4
Fix tests for inline cycle diagnostics in JS
2017-09-08 18:27:42 +03:00
Alexey Andreev
c66bc0b0e9
Remap source maps in JS DCE. Improve JS DCE error logging
...
See KT-19821
2017-09-08 18:27:41 +03:00
Alexey Andreev
1350e3c4ac
JS: improve optimization of for loop over range literals
...
See KT-18329, partial fix for KT-8372
2017-09-08 18:27:40 +03:00
Alexey Andreev
502c51ccff
Sanitize names for backing fields and private declarations in JS BE
...
See KT-1816
2017-09-08 18:27:40 +03:00
Alexey Andreev
206369c088
JS: fix capturing of reified type parameters when used as class literals
...
See KT-19891
2017-09-08 18:27:39 +03:00
Mikhail Glukhikh
03ce6d859f
Disable destructure inspection by default
...
Now (by default) action is accessible as intention only
So #KT-15422 Fixed
So #KT-18666 Fixed
2017-09-08 17:41:44 +03:00
Mikhail Glukhikh
c149c37ac7
Do not suggest destructuring for invisible properties #KT-18665 Fixed
2017-09-08 17:41:44 +03:00
Mikhail Glukhikh
c4ebfe8e84
Add accessors: determine header properties more correctly
...
Related to KT-17322
2017-09-08 16:10:55 +03:00
Mikhail Glukhikh
13775f8637
Fix broken quick-fix tests (related to KT-17322)
2017-09-08 16:10:54 +03:00
Alexey Sedunov
bdad58cec6
Kotlin Facet: Support "implements" relation between modules
...
#KT-17593 Fixed
2017-09-08 15:38:14 +03:00
Alexey Sedunov
8ebc766b5b
Kotlin Ultimate: Support Mocha run configurations for module directory
...
#KT-16814 In Progress
2017-09-08 15:38:14 +03:00
Alexey Sedunov
8b64a4c8ea
Override/Implement: Drop 'impl' modifier for non-impl class members
...
#KT-18469 Fixed
2017-09-08 15:38:14 +03:00
Alexey Sedunov
6f8503a178
Override/Implement: Do not generate bodies for header class members
...
#KT-15659 Fixed
2017-09-08 15:38:14 +03:00
Alexander Udalov
6c3620f481
Suppress logging from jline
...
#KT-19243 Fixed
2017-09-08 15:33:30 +03:00
Nikolay Krasko
69176a146e
getModuleInfo.kt: refactor
2017-09-08 15:06:03 +03:00
Pavel V. Talanov
deda5e7eee
Fix navigation to script dependency sources failing
...
Specifically in case where some lib is in project and script dependencies at the same time
2017-09-08 15:06:00 +03:00
Pavel V. Talanov
ebd3ac6dc8
Fix script resolver failing
...
Specifically the case where some lib is in project dependencies and script dependencies at the same time
#EA-105435 at least partially fixed
#KT-19458 Fixed
#KT-19474 Fixed
2017-09-08 15:05:58 +03:00
Pavel V. Talanov
e9ce5bbb37
Infrastructure to test sharing libs by project and scripts
...
Allow to test scenario where project and scripts share some jar as dependency
Refactor AbstractScriptConfigurationTest
2017-09-08 15:04:20 +03:00
Pavel V. Talanov
53144def10
AbstractScriptConfigurationTest: rewrite script template setup
...
Allow simpler setup of common scenarios
Do not require to define DependenciesResolver for every test
Drop redundant template files
2017-09-08 15:04:17 +03:00
Pavel V. Talanov
d7149a4083
getModuleInfo.kt: allow go get all module infos for a given psiElement
2017-09-08 15:04:14 +03:00
Pavel V. Talanov
6bec17246c
Fix inspections run for script dependency source files in come cases
...
This filter defines which files inspections are run for
In most cases other platform code prevented inspections from running for
library source files but this check is needed to prevent KT-19377
#KT-19377 Fixed
2017-09-08 15:03:30 +03:00
Nikolay Krasko
6b14d15374
Clean state in AbstractKotlinKapt3IntegrationTest
2017-09-08 12:56:28 +03:00
Nikolay Krasko
c479e585ca
Clean project in uast tests
2017-09-08 12:56:28 +03:00
Nikolay Krasko
fcab80db96
Add uast-tests files to our project
...
Copy files from obsolete project https://github.com/JetBrains/uast
2017-09-08 12:56:28 +03:00
Nikolay Krasko
6fd3ce07b3
Force remove JpsModel in BaseKotlinJpsBuildTestCase tests
2017-09-08 12:56:28 +03:00
Nikolay Krasko
eb7a984843
Store descriptor via soft reference to avoid holding project from debugger
2017-09-08 12:56:28 +03:00
Alexander Udalov
2877314313
Support "::foo" as a short-hand for "this::foo"
...
#KT-15667 Fixed
2017-09-08 10:59:44 +03:00
Alexey Andreev
d2ff821a3b
JS: prove that lambdas in inline function compiled correctly
...
Obsoletes KT-19712
2017-09-08 10:57:42 +03:00
Alexey Andreev
ff0efe59f6
JS: fix error in generation of if/else statements in some cases
...
See KT-19495
2017-09-08 10:56:49 +03:00
Alexey Andreev
4779f4fefb
JS: don't mark access to captured var as pure
...
See KT-19108
2017-09-08 10:56:06 +03:00
Alexey Sedunov
f2b6644db5
Kotlin Ultimate: Add JS debugger plugin dependency
...
This fixes tests failure due to unresolved NodeJS dependency
2017-09-08 03:42:22 +03:00
Ilya Gorbunov
980feffffa
Improve @PublishedApi annotation docs #KT-19881
2017-09-07 20:07:27 +03:00
Alexey Sedunov
78b1fb2e93
Kotlin Facet: Avoid reparse of additional arguments during analysis
2017-09-07 17:39:18 +03:00
Alexey Sedunov
dcd966f7c2
Kotlin Ultimate: Support Mocha run configurations for Kotlin sources
...
#KT-16814 In Progress
2017-09-07 17:39:17 +03:00
Alexey Sedunov
4f647e84c9
Line Marking: Respect @Test/@Ignore annotations in test line markers
...
#KT-16814 In Progress
2017-09-07 17:39:16 +03:00
Toshiaki Kameyama
5a5a27b983
Intentions to generate accessors for a property #KT-17322 Fixed
2017-09-07 17:33:39 +03:00
Toshiaki Kameyama
fe0f44da94
Added "Add remaining branches with import" quick fix #KT-16033 Fixed
2017-09-07 16:24:35 +03:00
Mikhael Bogdanov
2fa4c28e0f
Properly reorder arguments in anonymous object super class constructor
...
#KT-18356 Fixed
2017-09-07 15:18:05 +02:00
Mikhael Bogdanov
44fd8103d4
Convert ObjectSuperCallArgumentGenerator to Kotlin
2017-09-07 15:18:04 +02:00
Mikhael Bogdanov
ddb6e3307e
Rename ObjectSuperCallArgumentGenerator.java to ObjectSuperCallArgumentGenerator.kt
2017-09-07 15:18:04 +02:00
Mikhael Bogdanov
529036eb78
Move ObjectSuperCallArgumentGenerator to separate file
2017-09-07 15:18:03 +02:00
Nikolay Krasko
c327118eac
Remove PCE throwing as it can cancel background tasks (KT-19901)
...
Method can be called from the background task and be paused because
the write action is in progress. Throwing the PCE might stop the whole
task, that is wrong.
Explicit read action seems to be unneeded.
#KT-19901 Fixed
2017-09-07 16:10:09 +03:00
Nikolay Krasko
d38fd0fdf8
Need reformat inspection
2017-09-07 16:10:09 +03:00
scache
ba19931aef
Keep braces in redundant cascade if #KT-19704 Fixed
2017-09-07 15:23:04 +03:00
Dmitry Jemerov
97e4dbe330
Add 'multiplatform' to spellchecker dictionary
2017-09-07 12:29:24 +02:00
Dmitry Jemerov
e1b79fc316
Show descriptions for Kotlin Gradle frameworks
2017-09-07 12:29:24 +02:00
Dmitry Jemerov
f840d0df41
Wizard for creating multiplatform projects
2017-09-07 12:29:24 +02:00
Dmitry Jemerov
140db74607
Correctly import 'implements' dependencies on root project
2017-09-07 12:29:24 +02:00
Dmitry Jemerov
369f3d6553
Don't break dependency import on invalid 'implement' dependency
2017-09-07 12:29:24 +02:00
Dmitry Jemerov
e392b4a427
Framework providers for modules of Kotlin multiplatform projects
2017-09-07 12:29:24 +02:00
Mikhail Zarechenskiy
088800d82f
Report error about val reassignment via backing field since Kotlin 1.3
...
Also improve message for current warning
#KT-16681 Fixed
2017-09-07 12:54:31 +03:00
Mikhail Zarechenskiy
03440210ee
Introduce language version 1.3
2017-09-07 12:52:32 +03:00
Alexander Udalov
27b8b209e3
Refactor accessors for backing fields in JVM back-end
2017-09-07 12:24:54 +03:00
Alexander Udalov
326111aece
Render .kotlin_module files nicely for tests
2017-09-07 12:24:53 +03:00
Mikhael Bogdanov
1cf8ee9433
Don't remove nullability assertions of anonymous object transformation
...
#KT-19910 Fixed
2017-09-06 17:48:13 +02:00
Ilya Gorbunov
599113b30f
Fix internal KotlinVersion representation that caused invalid comparison
2017-09-06 18:45:33 +03:00
Alexey Andreev
5bf4540458
JS: fix inlining of functions derived from other modules
...
See KT-16408
2017-09-06 17:55:31 +03:00
Alexey Andreev
361d6dfca0
JS: rewrite source map generator to use specialized JSON writer
...
Fixes problems with string escaping. See KT-20005
2017-09-06 17:55:06 +03:00
Yan Zhulanow
187ca71dc6
NoArg: Fix compatibility with sealed classes with non-zero-parameter constructors (KT-19687)
...
Also check if a class has a sealed super class properly.
2017-09-06 17:40:20 +03:00
Yan Zhulanow
cea891c754
Kapt: Do not replace '/' with dots before converting to fqName (KT-19680)
...
getQualifiedName() converts slashes by itself, and it causes the internal name equality check (it.name == classFromSources.name) to fail.
This reproduces only for the pure synthetic classes (for which we don't generate Java light classes).
2017-09-06 17:40:19 +03:00
Yan Zhulanow
fe3413c291
Parcelable: Add INNERCLASS metadata to Creator factory class and its outer class
2017-09-06 17:40:19 +03:00
Yan Zhulanow
04c2e28341
Kapt: Do not use awkward ('$' -> '/') logic for KAPT3 class builder mode
...
So (for the most often reproduction case) #KT-19433 Fixed
Before this commit, internal names for nested classes were written as test/Foo/Bar (comparing to test/Foo$Bar in the normal mode), as getting qualified names from such internal names was trivial. But, because of IC, we needed to write class files to the disk, so our decompiler could find such "broken" classes and read it in a wrong way.
2017-09-06 17:40:18 +03:00
Yan Zhulanow
c330285fd0
Parcelable: Use innerClassNameFactory to figure out the internal name of the Creator class (KT-19680)
...
KAPT3 class builder mode in 1.1.4 replaces '$' (inner class name separators) with '/' by providing special innerClassNameFactory.
We should use it to be compatible with kapt.
2017-09-06 17:40:18 +03:00
Yan Zhulanow
84e59601c1
Kapt: Generic arguments in anonymous type should always be mapped to boxed types (KT-19750)
2017-09-06 17:40:17 +03:00
Yan Zhulanow
4d9a612a64
Kapt: Substitute type parameters from the actual type, not from the anonymous one (KT-19700)
2017-09-06 17:40:16 +03:00
Dmitry Jemerov
4e4291c586
Fix formatting of class headers when "blank lines after class
...
header" is enabled
2017-09-06 15:11:05 +02:00
Anton Bannykh
f4b329a055
JS: support @Before and @After annotations in kotlin.test
2017-09-06 14:36:45 +03:00
Dmitry Petrov
8c5d18c1f2
Tests for boxing optimization on KClass are JVM-specific
2017-09-06 14:20:05 +03:00
Dmitry Petrov
61faa068d4
Do not optimize == for KClasses in redundant boxing elimination
...
For primitive wrappers such as java.lang.Integer,
jlc = java.lang.Integer.class
jlt = java.lang.Integer.TYPE
!(ljc.equals(ljt))
However, in Kotlin corresponding KClass instances are equal.
#KT-17748 Fixed Target versions 1.1.50
#KT-17879 Fixed Target versions 1.1.50
2017-09-06 09:54:36 +03:00
Dmitry Petrov
2b27e64fc8
Improve diagnostics for "not yet supported in inline"
...
- Tell user what exactly is not supported (e.g., local inline function)
- Reduce diagnostics range to a keyword or an identifier
where appropriate
#KT-16223 Fixed Target versions 1.1.50
2017-09-06 09:46:33 +03:00
Mikhael Bogdanov
160ba0c7c0
Destroy state and environment in android test
2017-09-06 08:20:33 +02:00
Mikhael Bogdanov
71663afbfe
Update android test configuration
2017-09-06 08:20:33 +02:00
Mikhael Bogdanov
81a1bf3319
Recalculate max stack on method emitting: optimizations could change it
2017-09-06 08:20:32 +02:00
Nikolay Krasko
638cf346aa
Add soutf template for printing current position (KT-19709)
...
#KT-19709 Fixed
2017-09-05 19:49:58 +03:00
Nikolay Krasko
2ce6a0eaee
Minor: fix warnings in TypedHandlerTest.kt
2017-09-05 19:49:02 +03:00
Nikolay Krasko
385ff3f4eb
Test for smart indent in parameters (KT-17648)
...
Fixed in IDEA-173208
#KT-17648 Fixed
2017-09-05 19:49:01 +03:00
Nikolay Krasko
80ffc5cd41
Make local file indent feature work for Kotlin files
...
Revert "Add language to formatting blocks to fetch indent settings propertly"
This reverts commit d717da5
2017-09-05 19:49:01 +03:00
Toshiaki Kameyama
e01371b231
Redundant getter / setter inspection #KT-19514 Fixed ( #1282 )
2017-09-05 17:27:56 +02:00
Mikhail Zarechenskiy
a3060f1073
Add test on obsolete issue
...
#KT-9203 Obsolete
2017-09-05 16:15:18 +03:00
Dmitry Petrov
21cdf9dd5b
Add cast to expected type in call-based in-expression generation
...
#KT-20106 Fixed
2017-09-05 15:32:53 +03:00
Mikhail Zarechenskiy
081b732070
Improve diagnostics for lateinit properties with generic type
...
#KT-11834 Fixed
2017-09-05 14:44:55 +03:00
Mikhail Zarechenskiy
356f903645
Make classes for CLI public to reuse them in other tools
...
To configure Kotlin environment and use them in plugins for Eclipse or NetBeans
2017-09-05 14:42:48 +03:00
Mikhail Zarechenskiy
0dc29d6d7e
Get rid of passing typeChecker from the call hierarchy
2017-09-05 14:41:46 +03:00
Mikhail Zarechenskiy
e7449a3584
Fix referencing inner class constructor on an outer class instance
...
#KT-12796 Fixed
2017-09-05 14:41:44 +03:00
Mikhail Zarechenskiy
4a6f35b9c2
Fix exception on invalid code, don't resolve uninitialized type
...
#KT-11963 Fixed
2017-09-05 14:41:42 +03:00
Mikhail Zarechenskiy
6d4bb229ac
Fix compilation exception where overload ambiguity should be
...
#KT-16246 Fixed
2017-09-05 14:41:40 +03:00
Mikhail Zarechenskiy
ec512d1c8a
Add tests on obsolete issues
...
#KT-11236 Obsolete
#KT-12399 Obsolete
2017-09-05 14:41:34 +03:00
Dmitry Jemerov
cbe79e94a6
Update testdata
2017-09-04 20:39:52 +02:00
scache
e5b290d77f
Fix replacedBaseClause for selector which has implicit receiver
...
#KT-19666 Fixed
2017-09-04 20:36:07 +02:00
Toshiaki Kameyama
a9a52379ee
Quickfix for "variable initializer is redundant" (VARIABLE_WITH_REDUNDANT_INITIALIZER) #KT-5878 Fixed ( #1281 )
2017-09-04 16:58:32 +02:00
Pavel V. Talanov
653314e671
IDE script support: cancel coroutines on project disposal
2017-09-04 16:35:28 +03:00
Pavel V. Talanov
7f361c7579
Add utility for EDT coroutines to be canceled on project disposal
2017-09-04 16:33:31 +03:00
Dmitry Jemerov
7ca1fe0f55
Fix compilation
2017-09-04 14:39:25 +02:00
Alexey Andreev
b8aa2f81a2
Fix delegate property name clash in JS BE
...
See KT-19542
2017-09-04 15:35:35 +03:00
Alexey Andreev
28c9d274ec
JS: prohibit illegal chars on dynamic call site
...
See KT-19540
2017-09-04 15:35:00 +03:00
Alexey Andreev
5a984a40e6
Fix JS compiler crash when translating external object fun with vararg
...
See KT-19793
2017-09-04 15:34:10 +03:00
Alexey Andreev
989cebe79e
JS: fix bug in temporary variable eliminator
...
The problem was in considering `a` as trivial in following case:
```
var a = b;
```
However, that's wrong assumption, since `b` can be temporary variable
itself which is further substituted by a non-trivial expression.
2017-09-04 15:33:16 +03:00
Alexey Andreev
abb254297a
Properly rename local name aliases when merging JS fragments together
2017-09-04 15:33:16 +03:00
Alexey Andreev
593aa72439
Fix bug in new JS inliner when inlining nested calls
2017-09-04 15:33:15 +03:00
Alexey Andreev
63855af026
Raise JS metadata version due to incompatible changes in inliner
2017-09-04 15:33:14 +03:00
Alexey Andreev
df7d69b5b4
Minor refactoring after improving JS inliner
2017-09-04 15:33:14 +03:00
Alexey Andreev
918ce78c5a
Support inlining internal functions to friend modules in JS BE
...
There's one exception: if an inline internal function calls
private function, this will fail at run time.
2017-09-04 15:33:13 +03:00
Alexey Andreev
41140d00b1
JS: do not copy declarations from inline function wrapper more than once
2017-09-04 15:33:13 +03:00
Alexey Andreev
1260146d25
Use local aliases for char boxing and unboxing in JS BE
2017-09-04 15:33:12 +03:00
Alexey Andreev
7646c2fc72
Use local aliases for Kotlin runtime functions in JS BE
2017-09-04 15:33:11 +03:00
Alexey Andreev
8c256b24dc
Avoid duplication of imports introduced during JS inlining
2017-09-04 15:33:10 +03:00
Alexey Andreev
f2b2e20331
Minor cleanup in JS backend
2017-09-04 15:33:10 +03:00
Alexey Andreev
b90885d1cb
Support new inline function format in JS DCE tool
2017-09-04 15:33:09 +03:00
Alexey Andreev
901346243d
JS: fix inlining of function that calls functions from other modules
2017-09-04 15:33:08 +03:00
Alexey Andreev
6bb5d00700
Fix inlining of default arguments in JS BE
2017-09-04 15:33:07 +03:00
Alexey Andreev
834cd1d93d
Fix testdata for new JS inliner
2017-09-04 15:33:07 +03:00
Alexey Andreev
61ba6e528a
Fix JS line number tests
2017-09-04 15:33:06 +03:00
Alexey Andreev
df782eaadd
Fix incremental compilation to JS with new inliner
2017-09-04 15:33:06 +03:00
Alexey Andreev
eb6186b74d
Fix translation of classes to work with new JS inliner
2017-09-04 15:33:05 +03:00
Alexey Andreev
8e6b1da592
Generate less JS inline function wrappers
2017-09-04 15:33:04 +03:00
Alexey Andreev
aaf3380050
Add optimizer for trivial functions with wrappers in JS BE
2017-09-04 15:33:04 +03:00
Alexey Andreev
445a80c755
Support new JS inline function format in multi-module projects
2017-09-04 15:33:03 +03:00
Alexey Andreev
7c421b0b83
Refactor JS translator to generate code for new inliner
2017-09-04 15:33:03 +03:00
Nicolay Mitropolsky
29857e48c8
KtLightAnnotationTest fix for oddly broken annotations getter
2017-09-04 15:20:20 +03:00
Nicolay Mitropolsky
be4b86e3d9
KtLightAnnotationForSourceEntry fix for smart-pointers creating
...
`LightElementValue` made PsiCompiledElement to make it properly anchorable when creating smartpointers, when still use `kotlinOrigin.containingFile` for it to be able to `registerProblem` on such elements. (refs KT-18054)
2017-09-04 15:20:20 +03:00
Dmitry Jemerov
b0fb3370e3
Correctly get qualified name for properties without backing field
...
#KT-19903
2017-09-04 13:21:03 +02:00
Dmitry Jemerov
cc6bfcfc7c
Attach super line marker to name identifier
...
#KT-19843 Fixed
2017-09-04 13:21:03 +02:00
Dmitry Jemerov
f008736ef7
Fix package name convention pattern
...
#KT-19927 Fixed
2017-09-04 13:21:03 +02:00
Dmitry Jemerov
f709bd869a
Accept invalid patterns in naming convention settings
...
#KT-19926 Fixed
2017-09-04 13:21:03 +02:00
Dmitry Jemerov
f74416a151
Cache the result of hasTopLevelCallables() for a KtFile
...
#KT-19885 Fixed
2017-09-04 13:21:03 +02:00
Dmitry Jemerov
839f197a1e
KtFile: J2K and cleanup
2017-09-04 13:21:03 +02:00
Dmitry Jemerov
ebef2dc0cf
KtFile: rename to .kt
2017-09-04 13:21:03 +02:00
dzieciolowski
80f1a1bde8
Update gradle.xml - remove typo ( #1279 )
2017-09-04 13:11:24 +02:00
Alexander Udalov
840fce520c
Update KotlinVersion.CURRENT to 1.1.50
2017-09-04 13:09:52 +03:00
Dmitry Jemerov
2d10df1541
Fix red code: mark dependency as exported
2017-09-01 16:59:03 +02:00
Dmitry Jemerov
81d0445775
Fix master-171 build: don't use API introduced in newer IDEA
2017-09-01 16:54:24 +02:00
Dmitry Jemerov
ad37626af3
Fix compilation of KotlinBytecodeToolWindow
2017-09-01 16:41:26 +02:00
Dmitry Jemerov
59976baac2
Fix path to generated test
2017-09-01 15:27:44 +02:00
Dmitry Petrov
76acd23bd7
Revert "Fix synthetic accessor generation for properties"
...
This reverts commit 2427b2c
2017-09-01 16:09:29 +03:00
Dmitry Jemerov
db840a73a9
Set scope of all plugin module dependencies to provided
2017-09-01 14:06:39 +02:00
Alexander Udalov
05290c3ed2
Fix AssertionError on incompatible scopes with impl typealias
...
This has been introduced in 9ecd04f628
2017-09-01 14:47:29 +03:00
Pavel V. Talanov
f695ff96e8
IDEKotlinBinaryClassCache: store soft reference in UserData
...
Storing hard reference leads to binary headers being stored indefinitely
2017-09-01 14:30:27 +03:00
Dmitry Jemerov
0fa4e1cbaf
Set scope of plugin dependencies to provided
2017-09-01 13:11:39 +02:00
Vyacheslav Gerasimov
5220dfc0ad
Android: Add inspection & quickfix to convert findViewById to api 26
...
#KT-19940 Fixed Target Version 1.1.5
2017-09-01 13:32:52 +03:00
Vyacheslav Gerasimov
be900a76d8
Android Lint: check for array initializer in SuppressLint
2017-09-01 13:32:08 +03:00
Vyacheslav Gerasimov
f4da6c2cc6
UAST: findAttributeValue returns default value when no declared value found
2017-09-01 13:32:00 +03:00
Vyacheslav Gerasimov
56a075eab6
UAST: Fix annotation arguments processing
...
multiple unnamed arguments represented as value named expression with array initializer
call kind for array in annotation argument should be "array initializer" instead of "method call"
#KT-16600 Fixed Target Versions 1.1.5
2017-09-01 13:31:50 +03:00
Dmitry Jemerov
e0bf438195
Move .xml files back to main idea module
2017-09-01 11:57:37 +02:00
Dmitry Jemerov
895d5fda46
Extract parts of plugin that depend on Java-only plugins to idea-jvn
2017-09-01 11:57:37 +02:00
Dmitry Jemerov
8b0d606ab5
Move Android .xml file to idea-android module
2017-09-01 11:57:37 +02:00
Dmitry Jemerov
9eace7b295
Move Gradle tests to idea-gradle module; remove idea dep on idea-gradle
2017-09-01 11:57:37 +02:00
Dmitry Jemerov
d2972314bc
Remove duplicate version detection code from AddKotlinLibQuickFix
2017-09-01 11:57:37 +02:00
Dmitry Jemerov
92103ff393
Add tests for "add kotlin-reflect.jar" quickfix
2017-09-01 11:57:37 +02:00
Dmitry Jemerov
feeacda12b
Extract logic of adding a dependency to KotlinProjectConfigurator
2017-09-01 11:57:37 +02:00
Dmitry Jemerov
f5cea51d21
idea no longer depends on idea-maven
2017-09-01 11:57:37 +02:00
Dmitry Jemerov
bf639b1272
Move logic of EnableUnsupportedFeatureFix into KotlinProjectConfigurator
2017-09-01 11:57:37 +02:00
Dmitry Jemerov
6fbb370eae
Move coroutine state update logic to KotlinProjectConfigurator
2017-09-01 11:57:37 +02:00
Dmitry Jemerov
e781b70170
Remove unnecessary dependency
2017-09-01 11:57:37 +02:00
Dmitry Jemerov
6f9869ae11
Remove unnecessary dependency
2017-09-01 11:57:37 +02:00
Dmitry Jemerov
d8b6bd5cb3
Decouple idea-analysis from Android
...
Introduce API for extending syntax highlighting; use it in android
component
2017-09-01 11:57:37 +02:00
Dmitry Jemerov
982461e207
Remove unnecessary dependencies
2017-09-01 11:57:37 +02:00
Dmitry Petrov
5d44e095c8
Nullability assertions for extension receiver
...
In Kotlin 1.1 and before, there were no nullability assertions on
extension receivers, because receiver is resolved with NO_EXPECTED_TYPE.
So, if an expression of platform type is passed as an extension receiver
to a non-private function, it would fail with IllegalArgumentException.
However, if the function is private, then we generated no parameter
assertions under assumption that such function can be called from Kotlin
only, and all arguments are checked on the call site. Thus 'null' could
propagate indefinitely.
In Kotlin 1.2, we do the following:
- Generate nullability assertions for expression receivers.
NB nullability assertions are stored for ReceiverValue instances, not
for expressions: given expression can act as receiver in different
calls, each with an expected receiver type of its own.
- Generate nullability assertions for extension receivers of private
operator functions.
NB it still can throw NPE for some particular "optimized" cases, but at
least those nulls would not propagate indefinitely.
This behavior is disabled by an "advanced" command-line option
'-Xno-receiver-assertions'.
2017-09-01 09:49:21 +03:00
Dmitry Petrov
2427b2cc6c
Fix synthetic accessor generation for properties
...
Generate synthetic accessors for property accessors only if the
corresponding methods are accessible in the current context.
#KT-19306 Fixed Target versions 1.1.5
2017-09-01 09:48:26 +03:00
Mikhail Zarechenskiy
dde0efd8ab
Refactoring: extract anonymous objects to classes, rename variable
2017-09-01 02:24:35 +03:00
Mikhail Zarechenskiy
f5222600d8
Improve diagnostics for fake calls when type inference failed
...
#KT-13665 Fixed
2017-09-01 02:05:58 +03:00
Mikhail Zarechenskiy
17b4874c37
Refactor FakeCallResolver, make error reporting simpler
2017-09-01 02:05:50 +03:00
Sergey Igushkin
ff1c5ad793
Merge pull request #1260 from JetBrains/kotlinx.serialization.patches/gradle
...
Support for gradle subplugins in Kotlin2JS compilation
2017-09-01 01:03:37 +03:00
Leonid Startsev
a0ddef22ef
Extension points for serialization plugin in JS translator:
...
* Plugins for JS CLI compiler now can be loaded via -XPlugin option
* New extension point in project
* JS translator modified to accept synthetic declarations and call
extension.
* Some functions made public to create a small API
2017-09-01 00:50:46 +03:00
Toshiaki Kameyama
0246b82833
@deprecated with multi-line message in Javadoc converted to @Deprecated("long ugly string") #KT-19644 Fixed ( #1253 )
2017-08-31 14:15:15 +02:00
Denis Zharkov
4e4bf31016
Fix loading JSR-305 nicknames for @CheckForNull annotation
...
For sake of working without jsr305.jar in the classpath `resolveTypeQualifierAnnotation`
may return javax.annotation.CheckForNull (although the latter is nickname itself)
#KT-19985 Fixed
2017-08-31 15:13:26 +03:00
Denis Zharkov
ed79891ee6
Fix type mapping for parameter of Collection<Int>::remove override
...
In the case the single parameter of override has `Integer` type instead
of `int` type (while in common case it would be just `int`)
See the comment inside forceSingleValueParameterBoxing for clarification
#KT-19892 Fixed
2017-08-31 12:38:08 +03:00
Denis Zharkov
73c139d250
Minor. Drop unused ExpressionCodegen::expressionJetType
2017-08-31 12:35:41 +03:00
Denis Zharkov
6af91b8c97
Drop redundant tests erroneously added in c8d25c587a
2017-08-31 12:35:05 +03:00
Denis Zharkov
80a90572d6
Fix target for annotations/metadata on open suspend functions
...
Get rid of rewriting of vars in FunctionCodegen::generateMethod,
just extracted generateMethodBody instead
#KT-19814 Fixed
2017-08-31 12:27:28 +03:00
Dmitry Petrov
742fecf69c
Minor: readability improvements after code review
2017-08-31 11:28:08 +03:00
Dmitry Petrov
21e3051a78
Use Name instead of String for lateinit-related StackValues
...
to emphasize that this is a descriptor name, not a JVM name
2017-08-31 11:28:08 +03:00
Dmitry Petrov
c8d25c587a
Do not use reflection it local/top-level lateinit tests
2017-08-31 11:28:08 +03:00
Dmitry Petrov
638eb28692
Unify code for lateinit properties and local variables checking
2017-08-31 11:28:08 +03:00
Dmitry Petrov
b12e20b2a3
Minor: move local lateinit tests to lateinit/local
2017-08-31 11:28:08 +03:00
Dmitry Petrov
bbf9bf91fc
Check language feature support for local and top-level lateinit vars
2017-08-31 11:28:08 +03:00
Dmitry Petrov
01cce59c35
Make sure lateinit top-level properties work in JVM BE
2017-08-31 11:28:08 +03:00
Dmitry Petrov
d951e957ea
Support lateinit modifier on top-level properties
...
Allow lateinit modifier on top-level properties.
Modifiers 'lateinit' and 'header' are incompatible.
2017-08-31 11:28:08 +03:00
Dmitry Petrov
78b69cad77
Support lateinit local vars in redundant null check elimination
...
Lateinit local vars are guaranteed to be non-null after store.
So we mark such stores as storing non-null value
(could be useful for some other constructs, too),
and optimize null checks accordingly.
2017-08-31 11:28:08 +03:00
Dmitry Petrov
d0b0fdd732
Ignore lateinit local vars tests in JS and Native
2017-08-31 11:28:08 +03:00
Dmitry Petrov
c5b9d500bc
Support lateinit local vars in JVM BE
2017-08-31 11:28:08 +03:00
Dmitry Petrov
53961e8df0
Check lateinit applicability for local variables
...
TODO probably should be refactored together with DeclarationsChecker
2017-08-31 11:28:08 +03:00
Dmitry Petrov
3bae430d49
Resolve lateinit variables
...
Do not report UNINITIALIZED_VARIABLE on lateinit variables
Provide delegating constructors for descriptors for compatibility.
2017-08-31 11:28:08 +03:00
Dmitry Petrov
f88cd5ed3d
Allow 'lateinit' modifier on local variables
2017-08-31 11:28:08 +03:00
Pavel V. Talanov
352071dc4a
Avoid creating ModuleSourceInfo instances with empty content
...
This is overall desirable because it means less ModuleDescriptor
instances which is good for IDE analysis performance
2017-08-30 19:22:30 +03:00
Dmitry Jemerov
a623fb5312
Cleanup
2017-08-30 15:37:03 +02:00
Toshiaki Kameyama
29d2482b62
J2K RemovePartsFromPropertyFix
2017-08-30 15:36:58 +02:00
Toshiaki Kameyama
350cea7afd
move RemovePartsFromPropertyFix.java to RemovePartsFromPropertyFix.kt
2017-08-30 15:36:26 +02:00
Toshiaki Kameyama
be64a6feeb
INAPPLICABLE_LATEINIT_MODIFIER should have a quickfix to remove initializer #KT-18826 Fixed
2017-08-30 15:36:25 +02:00
Dmitry Jemerov
a68312379e
Update ReadMe.md ( #1274 )
2017-08-30 15:25:48 +02:00
Denis Zharkov
aef5911c7e
Obtain original suspend function view for inline codegen
...
It's necessary for generic inline suspend as a codegen
for it uses binding slice SUSPEND_FUNCTION_TO_JVM_VIEW
to generate fake continuation parameter, so all the
descriptors that are used for body generation must be
obtained from the SUSPEND_FUNCTION_TO_JVM_VIEW
#KT-19528 Fixed
2017-08-30 16:19:43 +03:00
Alexander Udalov
abb07ced6d
Minor, improve kdoc on JvmStatic
2017-08-30 15:51:30 +03:00
Alexander Udalov
fb4bf4e5b8
Report error if Java 9 module "kotlin.stdlib" is not found in the graph
...
Use "-Xallow-kotlin-package" to suppress this error
#KT-19176 Fixed
2017-08-30 15:47:54 +03:00
Alexander Udalov
f47093dc45
Allow to access unexported package of named module in unnamed module in IDE
...
#KT-19492 Fixed
2017-08-30 15:45:45 +03:00
Alexander Udalov
290deb6ba4
Minor, improve test on Java 9 modules
...
Test that unnamed module does not read unexported package of a named
module
2017-08-30 15:45:45 +03:00
Alexander Udalov
09c1115ff9
Report errors on usages of unnamed module from named modules in IDE
...
#KT-19493 Fixed
2017-08-30 15:45:45 +03:00
Denis Zharkov
0d7c0d4e5e
Add auto-generated tests after d6fbb084b1
2017-08-30 15:07:31 +03:00
Mikhael Bogdanov
b231bf0207
Switch custom jre path for run configuration from 9-ea to 9 jdk
2017-08-30 13:18:43 +02:00
Mikhael Bogdanov
ce0fb60ff4
Switch custom jre path for run configuration from 9-ea to 9 jdk
2017-08-30 12:52:44 +02:00
Denis Zharkov
d6fbb084b1
Use the same temporary trace for analyzing all candidate calls
...
Otherwise, when completing all the unsuccessfull candiates,
resolution of each lambda-arguments starts repeatedly for each candidate
that leads to exponential time
NB: Changes in `completeArguments` are necessary because otherwise
nested lambdas will be analyzed twice:
once for the main resolved call, and then for all candidates
that again leads to exponential complexity
#KT-16672 Fixed
#KT-19457 Fixed
2017-08-30 12:51:29 +03:00
Mikhael Bogdanov
84c2e01161
Update changelog for 1.1.4-3
2017-08-30 10:43:11 +02:00
Mikhael Bogdanov
68522b9f1e
Use lazy logging in lowers
2017-08-30 10:41:55 +02:00
Dmitry Jemerov
dce6cb0cfc
Highlight Kotlin files in build output
...
#KT-12246 Fixed
2017-08-30 10:18:00 +02:00
Pavel V. Talanov
4ada692421
Provide correct resolve scope to binaries in script dependencies
...
#KT-16760 Fixed
2017-08-29 20:55:20 +03:00
Pavel V. Talanov
a120130069
Workaround NonClasspathClassFinder not supporting inner classes
...
Explicitly split qualified names, can be removed once platform is fixed
#KT-19310 Fixed
2017-08-29 20:54:25 +03:00
Toshiaki Kameyama
a6c2135851
Counter loop in Java is transformed to less effective loop in Kotlin #KT-19337 Fixed
2017-08-29 17:37:58 +02:00
Dmitry Jemerov
eefc6ebcc9
Add missing read action in KotlinBuildScriptManipulator
2017-08-29 17:33:42 +02:00
baratynskiy
67fdd9f76e
javac-wrapper: fixes after rebase and review
2017-08-29 18:01:36 +03:00
baratynskiy
2dc0c55e76
javac-wrapper: get rid of TreePath because it is slow
2017-08-29 18:01:36 +03:00
baratynskiy
1b0d7ff5be
javac-wrapper: constant evaluator
2017-08-29 18:01:36 +03:00
baratynskiy
4f180e1292
javac-wrapper: identifier resolver
2017-08-29 18:01:36 +03:00
baratynskiy
01883a41cb
javac-wrapper: refactoring, fixes and tests
2017-08-29 18:01:36 +03:00
baratynskiy
8494e54608
javac-wrapper: -Xuse-javac -> -Xuse-javac and -Xcompile-java
2017-08-29 18:01:36 +03:00
Nicolay Mitropolsky
2224720a90
findClass is nullable in IDEA 171, so !! added
2017-08-29 17:40:53 +03:00
Nicolay Mitropolsky
108a40261b
KtLightAnnotationForSourceEntry fix for reading unnamed java-annotation parameter
2017-08-29 17:32:07 +03:00
Sergey Igushkin
e1924e0d2f
(minor) Modify warning logic for separate classes dirs opt-out flag
...
(cherry picked from commit 0dfe1a1 )
2017-08-29 14:39:17 +03:00
Sergey Igushkin
0e28d612e7
Add a test for the opt-out flag for disabling separate classes directory
...
(cherry picked from commit 393966d )
2017-08-29 14:39:17 +03:00
Sergey Igushkin
0263919dbd
Provide an opt-out flag for separate classes dirs with Gradle 4.0+
...
Issue #KT-19774 Fixed
(cherry picked from commit 2aa6f5a )
2017-08-29 14:39:17 +03:00
Dmitry Jemerov
843a9871b1
Detect library kind field based on type, not name
2017-08-29 10:29:22 +02:00
Dmitry Jemerov
106db13a6a
Add missing read action (EA-105188 - assert: FileManagerImpl.findFile)
2017-08-29 10:16:35 +02:00
Dmitry Jemerov
f37cc9c8ef
Start read action at correct time (EA-105045)
2017-08-29 10:16:35 +02:00
Dmitry Jemerov
f7f3bacc8e
Add missing write action (EA-102929)
2017-08-29 10:16:34 +02:00
Dmitry Jemerov
cc5d23440e
Correctly check for project disposed (EA-103064)
2017-08-29 10:16:33 +02:00
Alexey Tsvetkov
ac3beabf43
Update 'idea.plugins.compatible.build' in KotlinCoreEnvironment
...
When compiler test was run before Intellij tests,
KotlinCoreEnvironment set the 'idea.plugins.compatible.build'
system property to '171.9999', which then prevented
Kotlin plugin from loading in Intellij tests (so all these tests failed),
because Kotlin plugin has 'sinceBuild' set to '172.1'.
2017-08-29 04:28:10 +03:00
Alexey Tsvetkov
cb1ffdccd7
Add test where unused file is removed
2017-08-29 04:28:10 +03:00
Alexey Tsvetkov
10feac9402
Remove CacheVersionChangedIT#testExperimentalCacheVersionChanged
...
experimental-format-version.txt was removed recently.
See also 534db2d45b
2017-08-29 04:28:09 +03:00
Alexey Tsvetkov
8e10a22aab
Use correct task name in KaptIncrementalIT test
2017-08-29 04:28:09 +03:00
Alexey Tsvetkov
66a77c7ec2
Fix Gradle IC cache version checking
2017-08-29 04:28:09 +03:00
Alexey Tsvetkov
cf72b14b34
Fix typo in test name
2017-08-29 04:28:08 +03:00
Alexey Tsvetkov
141c889a84
Make test case more useful
2017-08-29 04:28:08 +03:00
Alexey Tsvetkov
5f9bad5905
Add JS specific build logs to inline properties IC tests
...
Unlike the JVM target platform, the JS back-end does
not track getters' and setters' usages separately,
so when either accessor of some property is changed,
all usages of that property will be rebuilt.
2017-08-29 04:28:07 +03:00
Alexey Tsvetkov
73b63bb343
Refactor inline properties tests
2017-08-29 04:28:07 +03:00
Alexey Tsvetkov
44e8ae3571
JS IC: detect inline function changes
2017-08-29 04:28:07 +03:00
Alexey Tsvetkov
b73d5cbe1f
Mock constant search in JPS tests
2017-08-29 04:28:06 +03:00
Alexey Tsvetkov
2312013c41
Move JVM specific IC tests to separate dir
2017-08-29 04:28:06 +03:00
Alexey Tsvetkov
556c43ae00
Update lookup tracker test "classifierMembers"
...
Before the change, the initial build has been failing,
so lookups from deserialized descriptors were not tested.
2017-08-29 04:28:06 +03:00
Alexey Tsvetkov
4a591bf5b6
Avoid processing JS IC output when compilation failed
2017-08-29 04:28:05 +03:00
Alexey Tsvetkov
66cb45c202
Minor: replace forEach with filterTo
2017-08-29 04:28:05 +03:00
Alexey Tsvetkov
dbe3baf740
Minor: mark calculateSourcesToCompile abstract
2017-08-29 04:28:04 +03:00
Alexey Tsvetkov
919daefb0e
Rename IncrementalCacheImpl->IncrementalJvmCache
2017-08-29 04:28:04 +03:00
Alexey Tsvetkov
093bbc069a
Fix typo destonationDir->destinationDir
2017-08-29 04:28:04 +03:00
Alexey Tsvetkov
b28382b8e7
Ignore out directory everywhere
...
After IDEA-175172 JPS does not use Gradle's output directories
when buildsing imported projects.
Now JPS uses an `out/` directory instead,
which wasn't gitignored anywhere besides the project's root.
2017-08-29 04:28:03 +03:00
Alexey Tsvetkov
1c4ada2008
Fix searching serialized classes package contains multiple fragments
2017-08-29 04:28:03 +03:00
Alexey Tsvetkov
b54414d628
Implement Gradle JS IC support
...
#KT-19956 fixed
To try the experimental JS IC add
'kotlin.incremental.js = true' to a 'local.properties'
or 'gradle.properties' file in Gradle project's root.
2017-08-29 04:23:02 +03:00
Alexey Tsvetkov
eeb90656dc
Exclude generated IC tests from ant build
...
Generated tests depend on the annotations from the `tests-common` module.
Testing utils from test root of the `incremental-compilation-impl` module
are also used in Gradle tests, so the test root is built in the ant build too.
However building `tests-common` separately from the compiler is complicated,
so I decided to exclude generated tests from 'kotlin-build-common-test.jar'.
2017-08-29 02:24:38 +03:00
Alexey Tsvetkov
7ecf5abdc7
Add class hierarchy tests to JS and JVM IC tests
2017-08-29 02:24:38 +03:00
Alexey Tsvetkov
0a5fe3ef7c
Move JVM specific IC tests with class hierarchy changes
2017-08-29 02:24:38 +03:00
Alexey Tsvetkov
e16c5ddb97
Avoid using JVM only APIs in IC tests to reuse with JS
2017-08-29 02:24:38 +03:00
Alexey Tsvetkov
23bc907d3f
Move multi-module IC tests to separate dir
...
At the moment they are used only with JPS
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
166883d847
Move JVM specific IC test data to separate dir
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
7810da7018
Add IC compiler tests with Java
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
71e8f16906
Generate IC compiler tests instead of using parametrized runner
...
# Conflicts:
# compiler/incremental-compilation-impl/incremental-compilation-impl.iml
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
52b638ddb3
Throw exception if initial build has failed in IC tests
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
c7775b8d11
Write build info only on successful build
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
20551f6c99
Do not report error when JS IC is enabled and no source files is specified
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
bb1cba67b7
Implement JS IC
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
4aea9b349c
Refactor incremental services
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
356536d32b
Update inputs cache on rebuild
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
20b14d4121
Extract IncrementalJvmCompilerRunnerTest
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
6fedf07f56
Introduce ChangesCollector
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
d4d684a7f0
Introduce IncrementalCompilerRunner#makeServices
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
65529fa866
Introduce IncrementalCompilerRunner#markDirty
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
53d911ab99
Move IncrementalCompilerRunner to separate file
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
5ddc8d83bb
Move compileIncrementally to common IC
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
60f68266dd
Continue extracting common IC code
2017-08-29 02:24:36 +03:00
Alexey Tsvetkov
9727ec401b
Remove Target parameter from GeneratedFile
2017-08-29 02:24:36 +03:00
Alexey Tsvetkov
af73082fcc
Begin extracting common IC code
2017-08-29 02:24:36 +03:00
Alexey Tsvetkov
508d96836c
Remove compiledWithErrors param
...
`updateIncrementalCache` is not called when
code does not compile.
2017-08-29 02:24:36 +03:00
Alexey Tsvetkov
d1fd88fb8e
Minimize usage of TargetId in IC
2017-08-29 02:24:36 +03:00
Alexey Tsvetkov
a076b4614e
Refactor computeChanges
2017-08-29 02:24:36 +03:00
Alexey Tsvetkov
3ad5e78d77
Extract common caches
2017-08-29 02:24:36 +03:00
Toshiaki Kameyama
367b9f6664
"Redundant setter parameter type" range includes whole parameter declaration #KT-19648 Fixed ( #1267 )
2017-08-28 17:06:10 +02:00
Pavel V. Talanov
e3b7f6d698
Prevent multiple concurrent 'checkHideNonConfiguredNotifications' calls
2017-08-28 16:18:44 +03:00
Nicolay Mitropolsky
6953ae79e2
Fix for KtLightParameter and KtLightParameterList equality
2017-08-28 15:57:44 +03:00
Nicolay Mitropolsky
f8f5494d79
KotlinLightConstantExpressionEvaluator fix for processing Java-sourced annotation entry value
2017-08-28 15:55:57 +03:00
Dmitry Jemerov
ceae10f451
Update .iml
2017-08-28 12:03:45 +02:00
Dmitry Jemerov
1814f3172a
Fix compilation
2017-08-28 11:32:38 +02:00
Dmitry Jemerov
5b8e5fb9aa
Compile kotlin-gradle-tooling against JDK 6
2017-08-28 10:50:52 +02:00
Dmitry Jemerov
f07d4901ca
Reset kind for incorrectly imported libraries
...
#KT-19847 Fixed
2017-08-28 10:36:25 +02:00
Alexander Udalov
cdda5d39e5
Use ResolvedCall to generate callable reference receiver
...
This will be helpful in supporting KT-15667
2017-08-28 10:42:05 +03:00
Alexander Udalov
c420e2bfa5
Refactor FunctionReferenceGenerationStrategy
...
Draw a clear distinction between the referenced function's parameters
and the anonymous synthetic function's parameters (see the comment).
This will be useful in supporting advanced callable reference features
like KT-8834
2017-08-28 10:22:52 +03:00
Nikolas Havrikov
3d8b15d9db
Fixed trailing underscores in numeric literals ( #1264 )
...
This change prohibits such illegal numeric literals as 13_37_ or 0xCAFE_BABE_ (note the trailing underscore).
2017-08-26 16:07:35 +03:00
Alexander Udalov
fac207ce7c
Minor, improve error message in BuiltInDecompilerConsistencyTest
2017-08-25 15:40:40 +03:00
Alexander Udalov
38849893b6
Temporarily ignore some multiplatform IDE tests
2017-08-25 15:40:39 +03:00
Alexander Udalov
b87abc9f0f
Relax rules related to noinline/crossinline/reified in header/impl functions
...
See the comments in KT-18752 for the current resolution
#KT-15377 Fixed
#KT-18752 Fixed
2017-08-25 15:40:38 +03:00
Alexander Udalov
d1cff41ce0
Treat nested class of header class as header
...
Note that the quick fix to implement header class works incorrectly when
that class has nested classes at the moment; this should be fixed
separately
#KT-15494 Fixed
#KT-18573 Fixed
2017-08-25 15:40:37 +03:00
Alexander Udalov
56b507d141
Remove obsolete code from ModifiersChecker
...
Simplify existing code and move closer to usages
2017-08-25 15:40:37 +03:00
Alexander Udalov
3a2d93f73e
Do not report "header with no impl" on incorrect header
...
Descriptor for a 'header' member in a non-'header' class now has
isHeader = false
#KT-18442 Fixed
2017-08-25 15:40:36 +03:00
Alexander Udalov
6cb4916dee
Refactor and simplify PlatformHeaderAnnotator
2017-08-25 15:40:35 +03:00
Alexander Udalov
59c49675b0
Improve header-impl mismatch diagnostic rendering in IDE
...
Use HTML instead of text to render line breaks and lists correctly
2017-08-25 15:40:34 +03:00
Alexander Udalov
3bc8ca5913
Report "declaration should be marked with impl" when possible
...
Also support a quick fix to add 'impl' modifier (KT-18454), although it
doesn't work yet on classes because there's no error on them in the IDE
#KT-18087 Fixed
#KT-18452 Fixed
#KT-18454
2017-08-25 15:35:05 +03:00
Alexander Udalov
9ecd04f628
Improve diagnostics on header/impl classes when scopes don't match
...
Try to report most of the errors on the actual members of the impl
class. In many cases, there's a 1:1 mapping of header to impl class
members, so the error "some members are not implemented" on the class
declaration itself is redundant. Exceptions include functions/properties
from supertypes (there may be no other place to report a signature
mismatch error in this case), functions/properties not marked with
'impl' (the checker is only run for declarations explicitly marked with
'impl') and default constructors (the checker is not run for them)
#KT-18447 Fixed
2017-08-25 15:35:05 +03:00
Alexander Udalov
74ba0080b1
Improve header/impl mismatch diagnostic messages
...
Try to report most mismatch errors on the 'impl' declaration. Only
report a mismatch error on the 'header' declaration if no error would be
otherwise reported on any 'impl' declaration in the compilation unit.
Also render declaration kind in the message
#KT-18447 In Progress
2017-08-25 15:35:05 +03:00
Alexander Udalov
472959aca1
Improve rendering of modifiers in DescriptorRenderer
...
* Use bold font to render all modifiers
* Render 'external' according to the style guide, right after modality
2017-08-25 15:35:05 +03:00
Alexander Udalov
f01e0ef335
Minor, rename renderer configuration parameter
2017-08-25 15:35:04 +03:00
Stanislav Erokhin
e65a62c48c
Minor. regenerate tests: kt19767_3 in JS muted.
2017-08-25 03:48:55 +03:00
Stanislav Erokhin
2ceb8cef36
[NI] Use same ResolvedCall when run completion
...
It is necessary, because some clients store this ResolvedCall to other
places, for example for get call it stored to INDEXED_LVALUE_GET
2017-08-25 03:38:49 +03:00
Stanislav Erokhin
98eae4e7ee
[NI] Support Exact and NoInfer annotations
2017-08-25 03:38:48 +03:00
Stanislav Erokhin
d1e52e76f9
[NI] Reduced allowed depth in incorporation
...
We set it to 1 now, because otherwise there is examples where
incorporation work too long. We will fix such cases in the future,
but seems like 1 is also good depth delta for incorporation
2017-08-25 03:38:47 +03:00
Mikhail Zarechenskiy
f31c48017b
[NI] Don't process lambda until expected type will be fixed
2017-08-25 02:47:46 +03:00
Simon Ogorodnik
ff4f928420
KT-19896: Fix force parenthesizing of multiline elvis
...
#KT-19896 fixed
2017-08-25 01:25:58 +03:00
xiexed
c163e71662
Spring testAmbiguousBean formatting fix ( #1261 )
2017-08-24 19:19:36 +03:00
Dimach
b988fb701d
KT-17888 Inspection to warn about suspicious combination of == and ===
2017-08-24 18:14:24 +02:00
Dmitry Jemerov
83a1d6e5ca
Avoid exception from autoimport fix with misconfigured analyzer
2017-08-24 16:55:01 +02:00
Dmitry Jemerov
8cf7f7a8f3
Don't break entire highlighting if exception is thrown from one quickfix
2017-08-24 16:55:01 +02:00
Leonid Startsev
749a574234
Support for gradle subplugins in Kotlin2JS compilation
...
Because ServiceLoader can't check generic argument of
KotlinGradleSubplugin in runtime, we have to manually check the type in
`isApplicable`.
2017-08-24 17:26:01 +03:00
Mikhail Zarechenskiy
e666b87545
[NI] Support AllCandidates mode for features in IDE
2017-08-24 13:50:11 +03:00
Mikhail Zarechenskiy
3f8a685ace
[NI] Make return type of !! operator definitely not-null
2017-08-24 13:50:11 +03:00
Mikhail Zarechenskiy
d18a14b717
[NI] Eliminate special intersection type from result type
2017-08-24 13:50:10 +03:00
Mikhail Zarechenskiy
51be629e13
[NI] Pass resulting constraint system for error candidate
2017-08-24 13:50:10 +03:00
Mikhail Zarechenskiy
6f397f8512
[NI] Drop useless isEmpty property from NewTypeSubstitutor
2017-08-24 13:50:10 +03:00
Mikhail Zarechenskiy
9f2bf066b9
[NI] Transform anonymous types of expected type for delegation
2017-08-24 13:50:09 +03:00
Mikhael Bogdanov
1a05df204e
Properly check expression nullability on attempt to apply == optimizations
...
#Fix KT-19767
2017-08-24 09:51:55 +02:00
Dimach
f0035a7be0
KT-17379: Fix J2K removal of parentheses in multiline expressions
...
When there is multiline polyadic expression with some operators
J2K should keep surrounding parentheses, otherwise
operators will be dangling due resolved to prefix variant
#KT-17379 fixed
2017-08-23 20:47:01 +03:00
Dimach
0920b2574c
KT-10375, KT-19523: Fix J2K hex literal number conversion issues.
...
#KT-10375, #KT-19523 fixed
2017-08-23 20:19:57 +03:00
Alexander Udalov
08e090bf5e
Include JDK home path into virtual file paths in CoreJrtFileSystem
...
The problem in KT-19833 is caused by the fact that the application
environment instance is shared between consecutive runs of the compiler
in one Make action (KotlinCoreEnvironment.ourApplicationEnvironment).
If the JDK 8 module is compiled first, the created application
environment has no JRT file system, and once the JDK 9 module is
compiled later, that environment is not recreated and thus classes from
JDK 9 are unresolved.
To mitigate this, split the CoreJrtFileSystem implementation into the
file system itself which is global per application, and CoreJrtHandler
which is bound to a particular JDK home location. CoreJrtVirtualFile
paths now consist of the path to the JDK home, the "!/" separator, and
the path to the file itself, e.g.
"/usr/lib/jvm/java9!/modules/java.base/java/lang/Object.class". The
implementation is inspired by CoreJarFileSystem & CoreJarHandler.
No tests added because the application environment is _not_ shared in
tests. Also, a JDK 9 module is going to be added to the Kotlin project
soon, and that will serve as a test
#KT-19833 Fixed
2017-08-23 18:08:30 +03:00
Alexander Udalov
c142db15fa
Rename CoreLocalPathVirtualFile -> CoreJrtVirtualFile
2017-08-23 18:08:29 +03:00
Toshiaki Kameyama
46a1c8ca12
Repeated annotation @Deprecated after J2K for method with annotation and javadoc #KT-19351 Fixed ( #1251 )
2017-08-23 18:05:04 +03:00
Simon Ogorodnik
91f50c99e7
Add benchmark action for highlighting
2017-08-23 17:19:36 +03:00
Pavel V. Talanov
7fecec1141
lightAnnotations: remove several brittle assertions
...
Add some test cases with "red" code
2017-08-23 17:12:56 +03:00
Nicolay Mitropolsky
a6b446cc4f
Correct 'asJava' view of annotations as annotation arguments
...
Fix light elements for nested arrays/annotations inside annotations
#KT-18378 Fixed
2017-08-23 17:12:55 +03:00
Stanislav Erokhin
6eb534fca8
[NI] Fix processParts in KotlinResolutionCandidate
2017-08-23 15:53:53 +03:00
Mikhail Zarechenskiy
c45f86a2fc
[NI] Resolve function literals in block as lambda expression
2017-08-23 15:53:52 +03:00
Mikhail Zarechenskiy
08964006de
[NI] Avoid type capturing for types that can contain type variables
2017-08-23 15:53:51 +03:00
Mikhail Zarechenskiy
e040a317cc
[NI] Store setValue with fresh type variables before substitution
2017-08-23 15:53:50 +03:00
Mikhail Zarechenskiy
55d1130dfc
[NI] Add getters to avoid inspections about useless boolean expressions
2017-08-23 15:53:49 +03:00
Mikhail Zarechenskiy
f075934697
[NI] Pass candidates with wrong visibility in debugger context
...
See test 'privateMembersPriority' (KT-10634)
2017-08-23 15:53:48 +03:00
Mikhail Zarechenskiy
963ab7f27f
[NI] Fix KNPE, exception occurred when element is synthetic
2017-08-23 15:53:47 +03:00
Mikhail Zarechenskiy
f42be4aea2
[NI] Fix exception explicit qualified receiver and dispatch receiver
2017-08-23 15:53:46 +03:00
Stanislav Erokhin
9f71de5f66
Add test for lambda as last expression in lambda
2017-08-23 15:53:45 +03:00
Stanislav Erokhin
74e07b6580
Add regression test for no resolution recursion
2017-08-23 15:53:44 +03:00
Stanislav Erokhin
d9eef94a8e
[NI] Support smartcast info in ResolvedCall on receivers
2017-08-23 15:53:43 +03:00
Stanislav Erokhin
cb1270836c
[NI] Introduced ResolutionAtom's
...
Introduced new model for resolution result: tree of ResolvedAtoms.
Moved all postprocessing for arguments to front-end module.
Do not create freshDescriptor -- use freshTypeSubstitutor directly.
Removed Candidates for variables+invoke.
Add lazy way for argument analysis -- do not analyze all arguments
if we have subtyping error in first argument, but if we want report
all errors, then all arguments checks will be performed.
Future improvements:
- optimize constraint system usage inside ResolutionCandidate
- improve constraint system API
- improve diagnostic handlers
2017-08-23 15:53:42 +03:00
Stanislav Erokhin
76012f6603
Minor. rename ConstraintSystemCompleter
...
In front-end we have other ConstraintSystemCompleter and because of this
in dist we have ambiguity(because there all src folders compiles inside
same module.
2017-08-23 15:53:41 +03:00
Stanislav Erokhin
e011e443cc
[NI] Implement next call completer.
...
Type inference completer features:
- type variables depended from result type will be fixed in the end
- type variables with proper constraints will be fixed first
- fixation via groups "accessible" via constraints is supported
TODO:
- stable order via PSI order
- argument constraint should rewrite position if constraint is the
same as upper bound for type parameter
2017-08-23 15:53:40 +03:00
Stanislav Erokhin
3cf240340c
[NI] Extract logic about fixation order to separated component
2017-08-23 15:53:39 +03:00
Stanislav Erokhin
ff1e230828
[NI] Use right scope for callable reference resolution
...
Previously was used scope for top-level call. It isn't correct because
if we have callable reference inside lambda -> scope is different.
2017-08-23 15:53:38 +03:00
Stanislav Erokhin
da003d48ff
Support isSuccessful in SuccessfulResultCollector
...
Since now SuccessfulResultCollector do not run computation of
resultingApplicability for error candidate before
getFinalCandidates(). It is very useful because we can do not run
all checks for error candidates if we have not-error candidate.
2017-08-23 15:53:37 +03:00
Stanislav Erokhin
6b8293ae5b
Refactoring. Remove ResolutionCandidateStatus.
...
Use diagnostics directly.
Also TowerCandidate since now know only about applicability
and not about diagnostics itself.
2017-08-23 15:53:36 +03:00
Stanislav Erokhin
aca21c847d
[NI] Fix resolution for callable references to nested class members
2017-08-23 15:53:35 +03:00
Stanislav Erokhin
1ae4ad1598
[NI] Do not take type advice for delegation if type is not fixed
2017-08-23 15:53:34 +03:00
Stanislav Erokhin
cdaa98fb63
[NI] Fixes after review
2017-08-23 15:53:33 +03:00
Stanislav Erokhin
2b01b91315
[NI] Refactoring: KotlinCallContext to stateless component (2)
2017-08-23 15:53:32 +03:00
Stanislav Erokhin
e88c1b4f0a
[NI] Refactoring: KotlinCallContext to stateless component (1)
2017-08-23 15:53:31 +03:00
Stanislav Erokhin
9bbfac11b4
[NI] Add common supertype for PSI lambda arguments
...
Also move initial dataFlowInfo to lambda arguments.
As result, we can not store outer call for postpone call arguments
2017-08-23 15:53:30 +03:00
Vyacheslav Gerasimov
aedb4c0ade
Android Lint: Fix constant evaluation in annotation parameter
...
#KT-17785 Fixed Target Versions 1.1.5
2017-08-23 13:18:56 +03:00
Vyacheslav Gerasimov
2e1edaf3d4
Uast: Fix getExpressionType for elvis expression
...
#KT-18997 Fixed Target Versions 1.1.5
2017-08-23 13:18:49 +03:00
Vyacheslav Gerasimov
e06cb1ec39
Android Lint: Use Uast to check for SuppressLint annotation
...
#KT-14800 Fixed Target versions 1.1.5
2017-08-23 13:18:42 +03:00
Vyacheslav Gerasimov
cb3a8d87d0
Android Extensions: Correctly handle namespaces in layout xml
...
#KT-19451 Fixed Target versions 1.1.5
2017-08-23 13:18:34 +03:00
Simon Ogorodnik
1dfa05fe49
KT-19769: Optimize PerModulePackageCacheService
...
#KT-19769 fixed
2017-08-22 19:37:22 +03:00
Denis Zharkov
ad9fe53ee2
Avoid local var entry for continuation parameter in suspend function
...
The primary reason is getting rid of redundant stack spilling, but also
it's not very sensible to have such entry since the parameter
is synthetic
2017-08-22 18:43:31 +03:00
Denis Zharkov
fcd7677a3f
Fix compatibility of suspend functions with strict bytecode analyzers
...
In short, some of the bytecode analyzers assume that there could be
no stores instructions into parameter vars with value of different
types (even when the value type is a subtype)
See the issue for details
#KT-19713 Fixed
2017-08-22 18:43:26 +03:00
Sergey Igushkin
d5f0607cef
Add tests for java-library support.
2017-08-21 17:21:12 +03:00
Sergey Igushkin
1848bc1840
Support java-library plugin: register Kotlin output for consumers
...
Issue #KT-18497 Fixed
2017-08-21 17:21:03 +03:00
Vyacheslav Gerasimov
f941186f75
UAST: Properly handle annotations on local variables
2017-08-21 15:02:01 +03:00
Vyacheslav Gerasimov
c549c63100
Light Classes: Correctly handle annotations for property parameters
...
When getting annotations for KtLightParameter which is property parameter we should return annotations for parameter instead of property
#KT-19671 Fixed
2017-08-21 15:01:51 +03:00
Mikhael Bogdanov
1e73921200
Update changelog for 1.1.4-2
2017-08-18 18:23:10 +02:00
Pavel V. Talanov
c132f3b0d1
KT-19276: Drop exception logging on loading script definitions failure
...
See YT discussion
Have to come up with more meaningful diagnostics on definition loading
#KT-19276 Fixed
2017-08-18 19:11:35 +03:00
Pavel V. Talanov
6424b6760f
Remove StorageComponentContainerContributor::onContainerComposed
...
Rename addDeclarations -> registerModuleComponents
Use it to provide SamWithReceiverResolver extensions instead
Post construction on container composition can be achieved
but manually inserting injections where it seems appropriate
is bug prone
This fixes a bug where SamWithReceiverPlugin extension was not registered
for some containers in IDE which led to incorrect highlighting in IDE
Add IDE test for applying SamWithReceiver plugin
#KT-18062 Fixed
2017-08-18 19:11:25 +03:00
Yan Zhulanow
6f180416b1
Pass SamConversionResolver explicitly cause it should be call site module-local
2017-08-18 19:11:21 +03:00
Toshiaki Kameyama
f0f6a252a5
Offer to make INVISIBLE_MEMBER protected if referenced from subclass
...
So #KT-19614 Fixed
2017-08-18 15:53:41 +03:00
Mikhail Glukhikh
0adf1d210f
Make KtPureElement.getParent() nullable #KT-19760 Fixed
...
The reason is KtFile.getParent() is a containing directory which is nullable
2017-08-18 15:36:41 +03:00
Amane Nikaido
0fd5c6f1ca
KT-19634: Fix <boxed_value> == <primitive_value> converted to reference equality
...
#KT-19634 fixed
2017-08-18 15:20:26 +03:00
Mikhail Glukhikh
9dc5354f24
Eliminate some warnings (mostly redundant is checks in whens)
2017-08-18 15:16:59 +03:00
Mikhail Glukhikh
3623f581b8
Eliminate a set of warnings, mostly nullability ones
2017-08-18 15:10:27 +03:00
Toshiaki Kameyama
82fc221470
Add "flip equals" intention for String.equals extension from stdlib
...
So #KT-19282 Fixed
2017-08-18 14:34:14 +03:00
Alexander Udalov
0efdcb59fa
Increase -XX:ReservedCodeCacheSize for other IDEA run configurations
...
See 4092d754c6
2017-08-18 12:36:21 +03:00
Mikhail Glukhikh
2b90a67bc1
Minor: report "redundant override" only on 'override fun'
...
Related to KT-19428
2017-08-18 12:23:21 +03:00
takahirom
806aa7d4c1
Add inspection for redundant overrides that only calls the super method
...
So #KT-19428 Fixed
2017-08-18 12:05:02 +03:00
Mikhael Bogdanov
8af7a25f8e
Update maxStack on synthetic instruction insertion
...
#KT-19723 Fixed
2017-08-17 20:02:29 +02:00
Dmitry Jemerov
39599fc7c9
Don't detect library kind for pure JVM projects
...
Also require .kjsm to detect JS libraries; don't detect jars containing
only .js files as JS libraries
#KT-19717 Fixed
2017-08-17 16:55:50 +02:00
Dmitry Jemerov
99a402ee30
Correctly show quick doc for lookup elements that only have descriptors
...
#KT-19716 Fixed
2017-08-17 16:53:54 +02:00
Alexander Udalov
4d2fbf1801
Fix reflection for local delegated properties inside interface
...
#KT-19690
2017-08-17 15:35:11 +02:00
Mikhael Bogdanov
97d46e76f5
Use 'DefaultImpls' as owner for interface local delegated properties
...
#KT-19690 Fixed
2017-08-17 15:35:10 +02:00
Toshiaki Kameyama
905b8cc4e9
long == <int_literal> in Java converted to red code in Kotlin #KT-19393 Fixed
2017-08-17 16:01:48 +03:00
Mikhael Bogdanov
79ecc7fd5c
Don't recognize nullable function types as inlinable
...
#KT-19679 Fixed
2017-08-17 14:24:00 +02:00
Nicolay Mitropolsky
1b2e28d467
SpringKotlinAutowiringInspection: workaround for nameless property (EA-104960)
2017-08-17 14:31:24 +03:00
Nicolay Mitropolsky
f7a1c71b54
Ultimate tests repair: SpringInspectionTestGenerated.testAutowiring_inspectionData_Inspections_test (KT-18847)
2017-08-17 14:31:24 +03:00
Alexander Udalov
770441c212
Merge "diagnostic with Java 8" tests with general diagnostic tests
2017-08-17 13:15:18 +03:00
Alexander Udalov
8db736e2b4
Support FULL_JDK directive in diagnostic tests
2017-08-17 12:35:56 +03:00
Alexander Udalov
7601666ec0
Minor, remove unused AbstractDiagnosticsWithFullJdkTest
2017-08-17 12:35:55 +03:00
André Oriani
a24c9a987f
Improve Boolean infix functions' documentation ( #1249 )
2017-08-17 11:53:39 +03:00
Toshiaki Kameyama
be664e26f7
KT-18232: Kotlin code converter misses annotations
...
#KT-18232 Fixed
2017-08-17 02:30:06 +03:00
Dmitry Jemerov
4092d754c6
Increase -XX:ReservedCodeCacheSize to avoid warning in debug IDEA
2017-08-16 17:44:44 +02:00
xiexed
12eb4ef37a
KotlinUastLanguagePlugin#convertElementWithParent NPE fix when parent is null (#1247 )
2017-08-16 17:47:40 +03:00
Dmitry Jemerov
a2a018eadb
Pluggable platforms in IDE plugin
2017-08-16 15:51:41 +02:00
Dmitry Jemerov
f7c17d6a64
Naming convention inspections
2017-08-16 15:45:33 +02:00
Anton Bannykh
6a5d8dcc82
JS: reduce HashMap memory footprint
2017-08-16 13:23:36 +03:00
Anton Bannykh
070e35bc15
JS: removed app-module-path dependency from integration tests
2017-08-16 13:21:46 +03:00
Anton Bannykh
a641838368
JS: clean up the unit test intergartion tests build file
2017-08-16 13:21:46 +03:00
Anton Bannykh
226ffb6c7e
JS: write integration test outputs to a file to prevent polluting the log with expected test failures
2017-08-16 13:21:46 +03:00
xiexed
6a4ea8b669
toUElement() made work with KtAnnotationEntry (#1240 )
...
* `KotlinUastLanguagePlugin#convertElement` made work with `KtAnnotationEntry`
* `KotlinUastLanguagePlugin#convertElementWithParent` searches for parent `KotlinUNamedExpression`
2017-08-16 13:01:37 +03:00
Mikhail Glukhikh
a12877e51c
Add feature support for "smart casts on variables in closures"
...
So #KT-14486 Fixed
2017-08-16 12:34:04 +03:00
Mikhail Glukhikh
a086863561
Preliminary: support smart casts on variables in closures
...
No feature support yet
So #KT-14486 In Progress
2017-08-16 12:33:52 +03:00
Mikhail Glukhikh
b2d931fb1f
Support smart casts after if (nullable ?: boolean) #KT-8492 Fixed
2017-08-16 12:33:35 +03:00
Mikhail Glukhikh
9be5cf89b4
Minor fix to ensure correct compilation in 1.2
...
Related to KT-4565
2017-08-16 12:33:23 +03:00
Mikhail Glukhikh
80b6aaa802
Support smart casts to Type after x as? Type null check #KT-4565 Fixed
2017-08-16 12:33:12 +03:00
Dmitry Jemerov
5bd04a6d22
Fix ultimate tests: add idea-gradle to main project classpath
2017-08-16 11:01:12 +02:00
Alexey Sedunov
787bbe9a4c
Safe Delete: Support header/impl declarations
...
#KT-18433 Fixed
2017-08-15 19:08:29 +03:00
Alexey Sedunov
1215b2864b
Safe Delete: Use actual usage PSI in UsageInfo instead of declaration
...
#KT-19161 Fixed
2017-08-15 19:08:28 +03:00
Alexey Sedunov
2f556e1bea
Refactorings: Support header/impl functions in member hierarchy transformations
...
#KT-18904 Fixed
#KT-18905 Fixed
2017-08-15 19:08:28 +03:00
Alexey Sedunov
537c1fd063
Convert Function Type Parameter to Receiver: Drop redundant arrows
2017-08-15 19:08:28 +03:00
Alexey Sedunov
f80fcc7146
Parameter <-> Receiver Conversion: Support header/impl declarations
...
#KT-18907 Fixed
2017-08-15 19:08:27 +03:00
Alexey Sedunov
d3a9d122e6
Add 'operator' Intention: Support header/impl functions
...
#KT-18851 Fixed
2017-08-15 19:08:27 +03:00
Alexey Sedunov
cd5c382179
Convert member to extension: Support members of header/impl classes
...
#KT-18883 Fixed
2017-08-15 19:08:27 +03:00
Alexey Sedunov
4dbde03c3b
Rename: Support parameters of header/impl functions
...
#KT-18393 Fixed
2017-08-15 19:08:27 +03:00
Alexey Sedunov
f5c7db8270
Change Signature: Support constructors of header/impl classes
2017-08-15 19:08:26 +03:00
Alexey Sedunov
7f9110b4e6
Change Signature: Fix exception on applying to impl declaration
2017-08-15 19:08:26 +03:00
Alexey Sedunov
0b44386800
Change Signature: Fix NPE on rendering empty parameter names
2017-08-15 19:08:26 +03:00
Alexey Sedunov
8439e15c6e
Change Signature: Support members of header/impl classes
2017-08-15 19:08:26 +03:00
Alexey Sedunov
e4f70a3568
Rename: Support members of header/impl classes
...
#KT-18885 Fixed
#KT-18898 Fixed
#KT-18899 Fixed
2017-08-15 19:08:26 +03:00
Alexey Sedunov
62ca3bab31
Move: Do not skip usages of declarations without light elements
...
#KT-18873 Fixed
2017-08-15 19:08:25 +03:00
Alexey Sedunov
f455f06a9e
Change Signature: Fix replacement of implicit Unit return type
2017-08-15 19:08:25 +03:00
Alexey Sedunov
386b1fc002
Line Marking: Fix search of overriding methods in platform modules
...
#KT-19212 Fixed
2017-08-15 19:08:25 +03:00
Alexey Sedunov
98eb990f30
Line Marking: Place header/impl markers after override/inheritance
...
#KT-19074 Fixed
2017-08-15 19:08:25 +03:00
Dmitry Jemerov
e3963fccf4
Move Gradle-related classes to idea-gradle module
2017-08-15 16:51:42 +02:00
Yan Zhulanow
57d209f599
Kapt: Do not use awkward ('$' -> '/') logic for KAPT3 class builder mode
...
So (for the most often reproduction case) #KT-19433 Fixed
Before this commit, internal names for nested classes were written as test/Foo/Bar (comparing to test/Foo$Bar in the normal mode), as getting qualified names from such internal names was trivial. But, because of IC, we needed to write class files to the disk, so our decompiler could find such "broken" classes and read it in a wrong way.
2017-08-15 17:48:51 +03:00
Dmitry Jemerov
e5e5b56af0
Add test for parameter hints on invoke()
2017-08-15 16:37:32 +02:00
Dmitry Jemerov
04464024fe
Don't try to resolve call if we won't show any hints anyway
2017-08-15 16:37:21 +02:00
Zalim Bashorov
9bb7ed5e02
Use proper property name to get a tag to publish.
...
Also:
* remove obsolete kotlin.compiler.* properties
* move --tag argument to proper place (from npm to publish-to-npm)
2017-08-15 17:20:42 +03:00
Dmitry Jemerov
34681b1459
Before searching for descriptor of method, check if it can be property
2017-08-15 11:41:25 +02:00
Dmitry Jemerov
1fe3f84071
Don't search twice for the same declaration
2017-08-15 11:39:40 +02:00
Mikhail Glukhikh
5b72159967
Fix of EA-103829 (do not try to get module info for disposed module)
2017-08-15 11:16:31 +03:00
e5l
e315249624
Add tests on jsr305 annotations warnings
2017-08-15 11:01:08 +03:00
e5l
5501cdf049
Add warnings for jsr305 nullable annotations
...
#KT-19115 Fixed
2017-08-15 11:01:08 +03:00
e5l
746de612ad
Move Jsr305State to util.runtime
2017-08-15 11:01:08 +03:00
e5l
5fd8f93b0e
Fix a typo: Defaul -> Default
2017-08-15 11:01:08 +03:00
Sergey Igushkin
71bf649b1e
Fix compilation error in AbstractLookupTrackerTest.kt
2017-08-14 19:27:50 +03:00
Sergey Igushkin
bf98e26bc2
Fix nullable javaPackagePrefix used as @Input, resulting in build failure
2017-08-14 18:59:17 +03:00
Mikhail Glukhikh
718ee01a48
Fix of EA-105681 in KotlinProximityStatistician
2017-08-14 17:39:44 +03:00
Mikhail Glukhikh
830b543879
Fix of EA-105681 in KotlinRunLineMarkerContributor
2017-08-14 17:37:05 +03:00
Mikhail Glukhikh
165707c46c
Fix of EA-101845 in referenceProviders.kt
2017-08-14 17:36:18 +03:00
Mikhail Glukhikh
88bc74551b
Fix of EA-91690 (NPE in OverloadReducer via flexible types)
2017-08-14 17:14:03 +03:00
Sergey Igushkin
7986250dbe
Add a test for javaPackagePrefix
2017-08-14 16:13:48 +03:00
Sergey Igushkin
192d569e54
Support Java package prefix in Gradle plugin
...
Issue #KT-17150 Fixed
2017-08-14 16:13:13 +03:00
Vyacheslav Gerasimov
4cf2bf6ca5
UAST: Implement getFunctionalInterfaceType for KotlinULambdaExpression
2017-08-14 15:41:40 +03:00
Sergey Igushkin
3d6622ae1b
Fix ExecutionStrategyJsIT failing due to platform-dependent fileTreeWalk
2017-08-14 15:05:55 +03:00
Alexey Tsvetkov
0226d15d29
Normalize paths in AbstractLookupTrackerTest
...
Otherwise the tests are failing on Windows
2017-08-11 20:51:06 +03:00
Sergey Igushkin
cd40968b72
Fix tests failing due to dev builds bundled into Gradle. Push AGP to beta.
2017-08-11 20:22:41 +03:00
Sergey Igushkin
6cd409d379
Fix tests assuming '_main' in default module names
2017-08-11 19:56:20 +03:00
Sergey Igushkin
80131d8359
Fix generate stubs task not being assigned a source set name
2017-08-11 13:38:22 +03:00
Nikolay Krasko
4b2b5dec75
Download asm-all sources for idea 172
2017-08-11 12:17:39 +03:00
Nikolay Krasko
f8de17b039
Remove guava usage from KotlinCodegenFacade - fix maven build
2017-08-11 12:17:39 +03:00
Dmitry Petrov
a8c82b64a1
Do not check bounds in type alias expansion if checkBounds is false
...
This happens when we resolve bounds for type parameters, causing wrong
UPPER_BOUND_VIOLATED to be reported on type parameter whose bounds were
not resolved yet.
#KT-19601 Fixed Target versions 1.1.5
2017-08-11 11:29:59 +03:00
Denis Zharkov
ce37ab81ba
Fix types enhancement for properties' getters overrides in Java
...
Prior to the 1.1.4, nullability related annotations were stored
in types that became hard to maintain at some moment and
we got rid of it (see 57b7b91444 )
But enhancement for properties overrides stopped working
because there were effectively no annotations in the
resulting descriptor
#KT-19409 Fixed
#KT-19409 Fixed
2017-08-11 10:19:55 +07:00
Denis Zharkov
9962fc88ca
Minor. Move type qualifiers computation to their first usage
2017-08-11 10:19:55 +07:00
Denis Zharkov
8898455352
Add tests on foreign annotations without them in classpath
...
#KT-19419 Fixed
2017-08-11 10:18:41 +07:00
Denis Zharkov
8948023a26
Add built-in support for ParametersAre(Non)nullByDefault annotation
...
#KT-19419 In Progress
2017-08-11 10:18:41 +07:00
Denis Zharkov
964f60d0a4
Resolve qualifier nicknames to default annotations without JSR305 jar
...
#KT-19419 In Progress
2017-08-11 10:18:41 +07:00
Denis Zharkov
f8f0c0b6d7
Load enum/array annotation arguments for not found classes
...
It's necessary to load type qualifier related annotations
without JSR305 annotations being in the classpath
#KT-19419 In Progress
2017-08-11 10:18:41 +07:00
Denis Zharkov
a82e313d14
Minor. Fix wrong target in test data for foreign annotations
2017-08-11 10:18:41 +07:00
Nikolay Krasko
6d66fb35d6
Fix AbstractGenerateSpringDependencyActionTest.kt in branch 172
2017-08-10 22:05:49 +03:00
Nikolay Krasko
10bf49118a
Update spring test data for 172 idea
2017-08-10 22:05:49 +03:00
Nikolay Krasko
46bbf55acd
Special value for class literal expression
...
Starting from Idea 172 evaluator gives non-null value for class literal
expression. Probably behaviour was changed in
65ddb4c454
2017-08-10 22:05:49 +03:00
Nikolay Krasko
eeede71d9d
Drop usage of deprecated ProjectDataManager in branch 172
2017-08-10 22:05:49 +03:00
Nikolay Krasko
2cf4da8564
Fix test behaviour in branch 172
2017-08-10 22:05:49 +03:00
Nikolay Krasko
d8c20ed9c0
Fix debugger test in 172 (KT-18848)
...
#KT-18848 Fixed
2017-08-10 22:05:49 +03:00
Nikolay Krasko
0d6cf19896
Don't pack jps services into compiler
2017-08-10 22:05:49 +03:00
Nikolay Krasko
c2b54c3e8a
Ignore absent net.jpountz.lz4.LZ4Factory in proguard
2017-08-10 22:05:48 +03:00
Vyacheslav Gerasimov
bb7521a142
Build against UAST bundled in IDEA
2017-08-10 22:05:48 +03:00
Alexey Tsvetkov
99439620d4
JPS: completely skip chunk containing only dummy targets
...
Such chunks were added in intellij-community, see
commit fdeae7754c593e78b6748dfa66ce7198c2780d35
(fdeae7754c )
2017-08-10 22:05:48 +03:00
Mikhael Bogdanov
2954c41848
Fix 'isProjectOrWorkspaceFile' import
2017-08-10 22:05:48 +03:00
xiexed
f94569c995
KotlinCommonIntentionActionsFactory is able to remove constructors parameters (EA-104621) (#1187 )
2017-08-10 22:05:48 +03:00
Mikhael Bogdanov
4e868c5232
Update AndroidProjectKey package
2017-08-10 22:05:48 +03:00
Nicolay Mitropolsky
62dc3c8da4
A check for AbstractSpringClassAnnotatorTest that ultimate plugin is properly set up
2017-08-10 22:05:48 +03:00
Nicolay Mitropolsky
384ae8d8b5
Ultimate tests repair (KT-18847)
...
Repaired all except:
GenerateSpringDependencyActionTestGenerated.testAutowiredDependencies_MultiplePropertiesAnnotationConfig - Not a Kotlin issue
SpringClassAnnotatorTestGenerated.testAutowiredBeanCandidates_AutowiredBeanCandidates - Bug with multiple light objects for same PSI element
SpringInspectionTestGenerated.testAutowiring_inspectionData_Inspections_test - Not a Kotlin issue (presumably IDEA-175971)
SpringQuickFixTestGenerated$AddQualifierAnnotation.testAmbiguousBean - Not a Kotlin issue (IDEA-175971)
2017-08-10 22:05:48 +03:00
Nicolay Mitropolsky
532560ef43
Spring dependency-generations actions: runWriteAction moved to the proper place (KT-18385)
2017-08-10 22:05:48 +03:00
Nicolay Mitropolsky
ca19ea8205
KotlinSpringClassAnnotator ignores duplicate gutter handlers (IDEA-173995, KT-18298)
2017-08-10 22:05:47 +03:00
Nicolay Mitropolsky
ce77751349
Spring Constructor Injection falling test
2017-08-10 22:05:47 +03:00
Nicolay Mitropolsky
6ae247ba61
"Final Kotlin class or function with Spring annotation" inspection deprecation and disabling by default (KT-18506)
2017-08-10 22:05:47 +03:00
Ilya Gorbunov
13349086ac
Pass required Project parameter to constructor of NullableNotNullManager
2017-08-10 22:05:47 +03:00
xiexed
a36cbad7cd
KotlinCommonIntentionActionsFactory extensions for IDEA-85507 and KT-11906 ( #1093 )
...
* `KotlinCommonModifications` renamed to `KotlinCommonIntentionActionsFactory`
* IDEA-85507: KotlinCommonIntentionActionsFactory#createAddMethodAction implementation
* KT-11906 `KotlinCommonIntentionActionsFactory#createAddBeanPropertyActions` implementation
* `KotlinCommonIntentionActionsFactory#createAddMethodAction` now uses a `CallableBuilder` for making a function
* `KotlinCommonIntentionActionsFactory#createAddBeanPropertyActions` privides a "TODO" initializer and also suggests a `lateinit` property
* KT-11980 `KotlinCommonIntentionActionsFactory#createAddConstructorActions` implementation
* `KotlinCommonIntentionActionsFactory` upgraded to new `JvmCommonIntentionActionsFactory`-api
* KT-11980 `KotlinCommonIntentionActionsFactory` is able to change primary constructors
* `JvmCommonIntentionActionsFactory` api update
2017-08-10 22:05:47 +03:00
Mikhail Glukhikh
4a15870e59
Make 172 plugin applicable for IDEA 173
2017-08-10 22:05:47 +03:00
Alexey Andreev
e56f9f6040
Fix compilation for IDEA 172
2017-08-10 22:05:47 +03:00
Mikhail Glukhikh
85ecde6ec9
Correct 172 plugin 'since' field (no more compatible with 171)
2017-08-10 22:05:47 +03:00
Alexey Andreev
4d72f0ef66
Add missing implementation of abstract method to MockPsiManager
2017-08-10 22:05:47 +03:00
Alexey Andreev
11086192bc
Fix test compilation errors
2017-08-10 22:05:46 +03:00
Ilya Gorbunov
08673bfb0c
Fixup for "JvmCommonIntentionActionsFactory in Kotlin"
...
'forLanguage' now returns explicitly nullable type.
2017-08-10 22:05:46 +03:00
Nicolay Mitropolsky
0694f2d0c5
JvmCommonIntentionActionsFactory in Kotlin
2017-08-10 22:05:46 +03:00
Dmitry Jemerov
548e86285c
Fix 'ant dist' build against 172 branch
2017-08-10 22:05:46 +03:00
Dmitry Jemerov
20d0d49cc3
Advance Guava version
2017-08-10 22:05:46 +03:00
Dmitry Jemerov
48d4f5f5c2
Compilation fixes for 172 branch
2017-08-10 22:05:46 +03:00
Vyacheslav Gerasimov
c1cfd70ae7
Fix tests compilation
2017-08-10 22:05:46 +03:00
Vyacheslav Gerasimov
b825a8db43
Fix compilation AndroidResourceReferenceAnnotator
2017-08-10 22:05:46 +03:00
Vyacheslav Gerasimov
23e606d179
Fix compilation MockUpdateParameterInfoContext
2017-08-10 22:05:46 +03:00
Vyacheslav Gerasimov
cf4d0fb977
Fix guava version
2017-08-10 22:05:45 +03:00
Vyacheslav Gerasimov
83a8395287
Fix compilation AbstractKotlinEvaluateExpressionTest
2017-08-10 22:05:45 +03:00
Dmitry Jemerov
282da4cab5
Move Kotlin UAST registration to main plugin.xml
...
The UAST needs to be available also when the Android plugin is disabled.
2017-08-10 22:05:45 +03:00
Vyacheslav Gerasimov
298d29a962
Android Extensions: Allow to disable IDE support (KT-12741)
2017-08-10 22:05:45 +03:00
Dmitry Jemerov
62e583903e
Fix compilation gotoResourceHelper, KotlinAndroidTestCase
2017-08-10 22:05:45 +03:00
Mikhail Glukhikh
c675824c0a
Fix compilation PlatformAndroidGradleDetector
2017-08-10 22:05:45 +03:00
Yan Zhulanow
6336c4ee98
Fix compilation androidUtil, MyReferredResourceFieldInfo requires module
2017-08-10 22:05:45 +03:00
Dmitry Jemerov
be1022db2b
Fix compilation NewKotlinActivityAction, gradle sync classes moved
2017-08-10 22:05:45 +03:00
Yan Zhulanow
a142c2f8fa
Fix compilation IntelliJLintClient, IntelliJLintProject, IDEAndroidLayoutXmlFileManager
2017-08-10 22:05:45 +03:00
Vyacheslav Gerasimov
c07096c9d7
Fix compilation AbstractParameterInfoTest
2017-08-10 22:05:45 +03:00
Vyacheslav Gerasimov
768305adc8
Fix compilation KotlinModuleBuilder
2017-08-10 22:05:44 +03:00
Vyacheslav Gerasimov
e8d2782089
Bump guava to 21.0 in update_dependencies.xml
2017-08-10 22:05:44 +03:00
Dmitry Jemerov
b50d5fb998
Download IDEA from 172 branch
2017-08-10 22:05:44 +03:00
Dmitry Jemerov
7fffb7b553
Remove UAST services registration from Kotlin plugin
2017-08-10 22:05:44 +03:00
Sergey Igushkin
b938206234
Add @Input to moduleName, to incorporate it into the up-to-date checks
2017-08-10 21:23:07 +03:00
Sergey Igushkin
84e1e9f8aa
Change default module name from project.name to archivesBaseName;
...
Get rid of `_main` for the main module.
Issue #KT-17355 Fixed
2017-08-10 21:23:07 +03:00
Alexey Tsvetkov
239943867b
Add JS specific proto comparison test
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
0d3b882852
Add proto comparison tests where members annotations are changed
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
6354d9d54f
Treat SEALED_SUBCLASS_FQ_NAME_LIST change as a class signature change
...
#KT-19580
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
856276328e
Treat JS class annotation list change as class signature change
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
e0ef08cf18
Add raw ProtoCompareGenerated output to proto comparison test data
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
642c5414a3
Minor: rename js.result.out->result-js.out
...
This way result.out and result-js.out are closer in
a list of files (e.g. in Intellij project view).
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
46a3a59b81
Fix missing lookups from deserialized JS descriptors
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
7e7fcd352c
Compare lookups after comparing build logs
...
This way tests are more informative when
compilation goes wrong.
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
82c977f2d2
Add JS lookup tracker tests
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
6cfd090b20
Extract JVM lookup tracker tests
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
e2190ea956
Use lookup tracker in JS compiler
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
f3f7ca4b95
Show in lookup tracker log if there is no lookups in file
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
ab90221a93
Minor: reformat AbstractLookupTrackerTest#runCompiler
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
485e2345a9
Decouple lookup tracker tests from JPS
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
bb2fab5b5d
Extract LookupTracker service from IncrementalCompilationComponents
...
We don't need a `TargetId` to `IncrementalCache` mapping in JS
2017-08-10 21:19:42 +03:00
Alexey Tsvetkov
a4c7dbd693
Remove .touch actions for lookup test cases that fail to compile
...
It is useless to touch and recompile, because the first compilation
has failed anyway
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
61b3c1c429
Do not print NONE changes in proto tests
...
otherwise MainKt: NONE is added in all js tests
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
c601890151
Fix comparing repeated proto extensions
...
Previously ProtoCompareGenerated could
go out of bounds when comparing protos
with different number of annotations.
That happend because JsProtoBuf.parameterAnnotation
is a repeated extension, but the generated code for
comparing repeated extensions was incorrect.
JvmProtoBuf does not have repeated extensions (at least for
the class and package descriptors),
so the problem was not detected before.
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
1cce1ef1f6
Isolate JS compiler in proto tests
...
Proto tests are still in the 'jps-tests' module
which is included in non-compiler tests.
It is not safe to call the compiler
directly in non-compiler tests
because it might affect IDE tests.
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
ed5b6e07aa
Implement JS proto comparison
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
23afaeec2f
Extract TestMessageCollector
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
f5e77c740d
Introduce services to pass data between IC and JS compiler
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
8ffd141d17
Minor tweak to proto test data format
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
1921950a1b
Extract JVM specific proto comparison test
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
cc24b9f4ad
Always print class id in proto comparison test
...
A name of class file was used for added and removed classes
before the change.
The change is required for reusing the test data in js proto comparison
tests (there is no classfiles in js, so it is hard to
emulate jvm classfiles names for inner/nested classes).
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
5dd4e4cdd4
Move JVM specific proto comparison tests to separate dir
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
9ab7c92b4b
Convert SimpleOutputItem: step 2
2017-08-10 21:19:41 +03:00
Alexey Tsvetkov
8fbab94c5c
Convert SimpleOutputItem: step 1
2017-08-10 21:19:41 +03:00
Mikhael Bogdanov
6ca06265cf
Rename and disable test on JS
2017-08-10 16:16:28 +02:00
Nikolay Krasko
a41e5fff6b
Regenerate ultimate tests - update copyright
2017-08-10 15:58:15 +03:00
Dmitry Petrov
674d30cd76
Report deprecation on typealias companion object for deprecated alias
2017-08-10 15:45:44 +03:00
Dmitry Petrov
c180de563f
Support DslMarker on type aliases
2017-08-10 15:45:44 +03:00
Nikolay Krasko
223acbcfeb
Clear static application in GenericReplTest
2017-08-10 15:43:54 +03:00
Nikolay Krasko
e35b262827
Clear application in CompilerApiTest
2017-08-10 15:43:54 +03:00
Nikolay Krasko
4e190248cd
Add resetApplicationToNull utility with old application
2017-08-10 15:43:54 +03:00
Mikhael Bogdanov
3fd6dd3572
Add test for quoted class name
2017-08-10 12:10:25 +02:00
Dmitry Jemerov
022430cb59
Set correct library kind for transitive dependencies
2017-08-10 11:43:35 +02:00
Mikhail Zarechenskiy
974dad571c
[NI] Report errors about inapplicable wrong receiver
...
Now it's possible because we don't commit trace with inapplicable `provideDelegate` operator (20e105c274 )
2017-08-09 17:37:44 +03:00
Vyacheslav Gerasimov
2ac7b6a534
UAST: Fix DeclarationDescriptor.toSource return first found source element
...
instead of null, when multiple descriptors found
#KT-18837 Fixed
2017-08-09 15:34:41 +03:00
Vyacheslav Gerasimov
915f47133b
UAST: Fix KotlinUMethod annotation handling, properly handle use site targets
...
#KT-16834 Fixed
#KT-18893 Fixed
2017-08-09 15:34:34 +03:00
Vyacheslav Gerasimov
f24488915a
UAST: Log error when failed to create light class for UObjectLiteralExpression
2017-08-09 15:34:27 +03:00
Vyacheslav Gerasimov
adfc481c7a
Add ProjectImportProvider for *.gradle.kts file to import it as module
...
#KT-19466 Fixed
2017-08-09 15:34:19 +03:00
Vyacheslav Gerasimov
4405021f85
Add ProjectOpenProcessor for *.gradle.kts file to open it as project
...
#KT-19024 Fixed
2017-08-09 15:34:11 +03:00
Dmitry Jemerov
73a4da6c56
Cache list of dependent modules in modification tracker
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
a7bbf3d1f8
Don't increase OOCB count when a REPL line is modified
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
3415853cac
Add ModuleDescriptor.assertValid() for ensuring consistency
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
ac96c31a7d
Retrieve module descriptors for implementing modules on demand
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
0b45d25bb1
Fix compilation after rebase
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
bdbe134b60
Recreate module descriptors for affected modules only on a change
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
07794c8188
On-demand creation of ModuleDescriptors
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
dde1f4b8f3
Fix OOCB updates for code fragments
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
36cabf1bfc
Move entire logic for ModuleDescriptor setup into ResolverForProjectImpl
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
d6a9a49968
Disable tracking of Kotlin files by Java OOCB listener
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
aafe7e6f1b
Refactoring: move createResolverForModule() into ResolverForProjectImpl
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
fcc067435e
Refactoring: streamline module resolver setup code
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
194deccd09
Remove one level of indirection from ModuleResolverProvider creation
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
3debca09ea
Remove callback hell from LazyModuleDependencies
2017-08-09 13:26:09 +02:00
Mikhail Zarechenskiy
cfbc559a97
[NI] Propagate tracking binding trace into context
2017-08-09 14:01:04 +03:00
Mikhail Zarechenskiy
4a74ca568c
[NI] Don't forget to deparenthesize expression before type checking
2017-08-09 14:01:00 +03:00
Mikhail Zarechenskiy
053b02e0df
[NI] Fold { Lower | Upper } & Equality constraints if it's possible
2017-08-09 14:00:53 +03:00
Mikhail Zarechenskiy
20e105c274
Don't commit trace with inapplicable provideDelegate operator
...
This helps in NI as there we have different logic for delegates inference
2017-08-09 13:50:50 +03:00
Mikhael Bogdanov
82c3637d91
Wide visibility in ir common stuff
2017-08-09 12:07:38 +02:00
Mikhail Zarechenskiy
46d0ea3eed
Use operation reference as lookup element to preserve old behaviour
...
See related changes in fb72726f08
2017-08-09 00:59:12 +03:00
Alexey Sedunov
cf3615d279
Kotlin Facet: Fix element ordering in compiler arguments XML
...
Do not rely on method list as it's ordered differently
2017-08-09 00:03:28 +03:00
Valentin Kipyatkov
e52c3b4c81
Rewritten KDoc-link resolve and completion to work more reasonably
2017-08-08 22:06:04 +03:00
Valentin Kipyatkov
998814b1a1
Support for import aliases in both resolve and completion in KDoc
2017-08-08 22:06:04 +03:00
Valentin Kipyatkov
9361cd895c
Support for import aliases in code completion
...
#KT-8848 Fixed
2017-08-08 22:06:04 +03:00
Mikhail Zarechenskiy
48246e5f34
[NI] Add resolution part to check for abstract super call
2017-08-08 15:44:31 +03:00
Mikhail Zarechenskiy
b6e195128c
[NI] Resolution diagnostics don't produce errors as is
2017-08-08 15:44:30 +03:00
Mikhail Zarechenskiy
5486f4e612
[NI] Don't report NI error for recorded info about smartcasts
2017-08-08 15:44:28 +03:00
Mikhail Zarechenskiy
64b722d4f6
Minor, reduce nesting
2017-08-08 15:44:20 +03:00
Nikolay Krasko
9c37d0a007
Disable building dependencies caches in configure GSK tests
2017-08-08 15:26:16 +03:00
Nikolay Krasko
60e330b6f3
Update configure tests after binding comments and spaces to script body
2017-08-08 15:26:16 +03:00
Denis Zharkov
ff0736f09e
Fix exception after combination of while (true) + stack-spilling
...
FixStack transformation divides on phases:
- Fixing stack before break/continue
- Fixing stack for inline markers/try-catch blocks
After the first stage all ALWAYS_TRUE markers are replaced
with simple GOTO's and if we're skipping break/continue edges
we won't reach the code after while (true) statement.
At the same time it's fine to not to skip them in the second phase
as the stack for them is already corrected in the first phase
#KT-19475 Fixed
2017-08-08 18:52:21 +07:00
Denis Zharkov
45d5f6a950
Add test for obsolete issue
...
#KT-19467 Obsolete
2017-08-08 18:52:21 +07:00
Mikhael Bogdanov
3ae084b1b3
Get rid of reification from 'deepCopyWithVariables'
2017-08-08 13:33:20 +02:00
Mikhael Bogdanov
49612063dc
Wide visibility in ir common stuff
2017-08-08 13:25:49 +02:00
Mikhael Bogdanov
07c5702861
Add missed 'version' in core modules facets
2017-08-08 13:09:48 +02:00
Mikhael Bogdanov
6e4b02a94b
Disable 'areEqualByValue'
2017-08-08 13:09:48 +02:00
Mikhael Bogdanov
6305abdf9f
Wide visibility in ir common stuff
2017-08-08 13:09:47 +02:00
Valentin Kipyatkov
ca418c727e
KT-19278 Optimize imports on the fly should not remove incomplete import while it's being typed
...
#KT-19278 Fixed
2017-08-08 12:27:16 +03:00
Valentin Kipyatkov
8a17e6c1c9
WIP
2017-08-08 12:27:15 +03:00
Valentin Kipyatkov
e53b1a1e92
KT-19277 Optimize imports on the fly should not work in test data files
...
#KT-19277 Fixed
2017-08-08 12:27:15 +03:00
Mikhail Glukhikh
5904b7f257
Remove ModalityState.any() from J2kPostProcessor #KT-19453 Fixed
2017-08-08 11:33:32 +03:00
Mikhael Bogdanov
15f401a473
Copy annotation and attributes on class transformation during inline
2017-08-08 09:50:42 +02:00
Mikhael Bogdanov
11ba805181
Convert MethodBodyVisitor to Kotlin
2017-08-08 09:50:41 +02:00
Mikhael Bogdanov
5ecdf2af9e
Rename MethodBodyVisitor.java to MethodBodyVisitor.kt
2017-08-08 09:50:41 +02:00
Mikhael Bogdanov
fca1500d48
Clean code
2017-08-08 09:50:40 +02:00
Mikhail Zarechenskiy
e2dcf47b3b
Fix highlighting range of diagnostic in test data
...
Because of ae3497c6ce
2017-08-08 00:29:18 +03:00
Sergey Igushkin
52f923c5ff
Fix internals of an android-library not accessible in its androidTest
...
Issue #KT-19370 Fixed
2017-08-07 20:33:18 +03:00
Mikhail Zarechenskiy
ae3497c6ce
Reduce highlighting range for UNCHECKED_CAST
...
#KT-18985 Fixed
2017-08-07 18:49:58 +03:00
Mikhail Zarechenskiy
8f8143d3ed
Fix IAE for wrong use-site @file annotation
...
#EA-100189 Fixed
2017-08-07 18:49:57 +03:00
Mikhail Zarechenskiy
4d4c39939f
Report full package FQ name in compilation errors related to visibility
...
#KT-18966 Fixed
2017-08-07 18:49:55 +03:00
Mikhail Zarechenskiy
216ab1c6d1
Fix error message for inapplicable operator on getValue function
...
#KT-11739 Fixed
2017-08-07 18:49:52 +03:00
Mikhail Zarechenskiy
7ba073206d
Add test for obsolete issue about SAMs
...
#KT-11951 Obsolete
2017-08-07 18:36:07 +03:00
Mikhail Zarechenskiy
7693f64dee
[NI] Take into account safe call when updating recorded type
2017-08-07 18:01:21 +03:00
Mikhail Zarechenskiy
9e018fa094
[NI] Try to analyze each lambda at least once
2017-08-07 18:01:20 +03:00
Mikhail Zarechenskiy
07a4496054
[NI] Resolve lambda even if there is contradiction in CS
...
To avoid exceptions about non-recorded lambda
2017-08-07 18:01:19 +03:00
Mikhail Zarechenskiy
a13442b12b
[NI] Fix data flow for arguments in special calls
2017-08-07 18:01:18 +03:00
Mikhail Zarechenskiy
dc83e5ca3a
Fix test which is correctly work in old inference
2017-08-07 18:01:17 +03:00
Mikhail Zarechenskiy
3fb865e07c
Move test for NI to diagnostic tests and add "todo"
2017-08-07 18:01:16 +03:00
Mikhail Zarechenskiy
fb72726f08
Resolve right part of equality with given descriptors
2017-08-07 18:01:15 +03:00
Stanislav Erokhin
6680f01cfe
[NI] Fix assertion error at FlexibleTypeImpl
...
Use KotlinTypeFactory for FlexibleType creation
2017-08-07 18:01:14 +03:00
Mikhail Zarechenskiy
e7cd615450
[NI] Introduce type depth in CS calculator to avoid SOE
2017-08-07 18:01:13 +03:00
Mikhail Zarechenskiy
cf75afba66
[NI] Fix type intersection for equal types
2017-08-07 18:01:12 +03:00
Mikhail Zarechenskiy
ac507e721c
[NI] Do not add non-dynamic candidates when there is dynamic extension
2017-08-07 18:01:11 +03:00
Mikhail Zarechenskiy
21c5187c9e
[NI] Handle dynamic types in type intersector
2017-08-07 18:01:10 +03:00
Mikhail Zarechenskiy
0d464f06d1
[NI] Consider CS as nullable if one of the types isn't subtype of Any
...
Note that this isn't fully correct, consider the following situation:
S : T, T : Any?
=> CS(S, T) = T, but for now it will be T?, which is reliable but not so specific as just T
2017-08-07 18:01:09 +03:00
Mikhail Zarechenskiy
39349abd39
[NI] Preserve name of parameters for functional types
2017-08-07 18:01:07 +03:00
Mikhail Zarechenskiy
5ec8d4920f
[NI] Translate new resolved call to old one to avoid CCE
2017-08-07 18:01:06 +03:00
Dmitry Petrov
c0d6eff97c
[NI] Select variable with proper non-trivial constraint first
2017-08-07 18:01:05 +03:00
Dmitry Petrov
0bf81aeec0
[NI] Extract InferenceStepResolver into a separate component
2017-08-07 18:01:04 +03:00
Dmitry Petrov
258a5aea28
[NI] Minor cleanup in FixationOrderCalculator
2017-08-07 18:01:03 +03:00
Stanislav Erokhin
ab2f99542a
[NI] Redo how we take care of postpone arguments
...
The main change here is the following: before callable reference
resolution starts directly after choosing candidate. Since now we
start resolution before call completion.
2017-08-07 18:01:02 +03:00
Stanislav Erokhin
b344865c15
[NI] Minor. Fixes after review
2017-08-07 18:01:01 +03:00
Stanislav Erokhin
93d80c252f
[NI] Refactoring. Move properties from KotlinCall to external component
2017-08-07 18:01:00 +03:00
Stanislav Erokhin
ef93088a42
[NI] Move most of KotlinCallDiagnostic to one file
...
Now there is 3 kind of KotlinCallDiagnostic:
- ResolutionDiagnostic
- ConstraintSystemCallDiagnostic
- other common diagnostic
Also SpecialResolutionParts were merged into other ResolutionParts
2017-08-07 18:00:59 +03:00
Stanislav Erokhin
9378bff65c
[NI] Move irrelevant code from KotlinCallCompleter
...
Extract code about smart cast diagnostic to new component
AdditionalDiagnosticReporter
2017-08-07 18:00:58 +03:00
Stanislav Erokhin
3450340d7f
[NI] Refactoring. Introduced PostponableCallArgument
...
Also here argument resolution was divided to two parts:
for SimpleCallArguments and for PostponableCallArguments.
Call Resolution for SimpleCallArguments also used for CheckReceivers
and lambda result arguments checks
2017-08-07 18:00:57 +03:00
Stanislav Erokhin
1bc68e073d
[NI] Minor. Clarified type for arguments from lambda
2017-08-07 18:00:56 +03:00
Stanislav Erokhin
4848f8e3da
[NI] Use correct type in TypeApproximator for Invariant projection
2017-08-07 18:00:56 +03:00
Stanislav Erokhin
85e34163bb
[NI] Temporary fix for cases related callable reference and if
...
For cases like if (..) ::foo else ::bar we didn't write stub resolved
calls for ::foo before call completion. Because of this, and strange
code in if we get null inside type info.
2017-08-07 18:00:54 +03:00
Stanislav Erokhin
455c43afa8
[NI] Some improvements in callable reference resolution
2017-08-07 18:00:53 +03:00
Stanislav Erokhin
f1144c9f01
[NI] Use resolved lhsType as unbound receiver.
2017-08-07 18:00:53 +03:00
Stanislav Erokhin
c752e1580e
[NI] Check receivers for callable reference resolution.
2017-08-07 18:00:52 +03:00
Stanislav Erokhin
a5dffafacd
[NI] Fix provideDelegate resolution.
...
For provideDelegate there is no real psi for resolution,
so we write corresponding call via special trace key.
2017-08-07 18:00:51 +03:00
Mikhail Zarechenskiy
7802492b08
[NI] Fix resulting type when there are no proper constraints
2017-08-07 18:00:50 +03:00
Mikhail Zarechenskiy
6be726854f
[NI] Preserve type abbreviation during type substitution
2017-08-07 18:00:49 +03:00
Mikhail Zarechenskiy
76d013a33f
[NI] Resolve % to mod if candidates have wrong receivers
2017-08-07 18:00:48 +03:00
Dmitry Petrov
4963580f90
[NI] Take into account return without expression in lambdas
2017-08-07 18:00:47 +03:00
Mikhail Zarechenskiy
17cdbcca03
[NI] Approximate substituted type arguments for non-members
2017-08-07 18:00:46 +03:00
Stanislav Erokhin
915ac32bfb
[NI] Improve type inference for T vs Captured(in Smt)
...
If we has Inv<T> <: Inv<Captured(in Foo)> then we should get:
- T <: Captured(in Foo)
- Captured(in Foo) <: T
Before this commit we got: T <: Foo instead first constraint.
2017-08-07 18:00:45 +03:00
Stanislav Erokhin
91241a34d1
[NI] Run checks for captured types only once in NewTypeSubstitutor
...
Sometimes we can get Enum<Captured(*)> type here, so, supertype for
Captured(*) is Enum<Capture(*)> and we go into SO.
2017-08-07 18:00:44 +03:00
Stanislav Erokhin
d58c6e245f
Minor. rename type parameters for debug purposes.
2017-08-07 18:00:43 +03:00
Mikhail Zarechenskiy
e74a02eb94
[NI] Approximate implicit return type for functions
2017-08-07 18:00:42 +03:00
Mikhail Zarechenskiy
ffc130f5fb
[NI] Always approximate captured types for property descriptors
2017-08-07 18:00:41 +03:00
Stanislav Erokhin
5f2cc75718
[NI] Support INAPPLICABLE_WRONG_RECEIVER candidate applicability
...
It is important for provideDelegate resolution, because if scope has
provideDelegate with wrong receiver we shouldn't resolve to it and
report any errors.
2017-08-07 18:00:40 +03:00
Stanislav Erokhin
e4b73fcdbd
[NI] Create SubCallArgument for variable in VariableAsFunctionCall
...
If variable is generic call, then we should complete inference only
after invoke resolution. It means that explicit receiver for invoke
should be SubKotlinCallArgument.
But, if this property has no generics,
for example local property, then this property can have smartcast and
such call has no type arguments -> no completion required.
For such call we should store information about smart casts.
2017-08-07 18:00:39 +03:00
Dmitry Petrov
756f7d6e9c
[NI] Fix tests (was a type checker bug, see KT-18380)
2017-08-07 18:00:38 +03:00
Dmitry Petrov
d4e8a30dcf
[NI] Fix nullability for captured type in input types approximation
2017-08-07 18:00:37 +03:00
Dmitry Petrov
e5c87fdad7
[NI] Filter out duplicates types in commonSuperTypeForNotNullTypes
2017-08-07 18:00:36 +03:00
Dmitry Petrov
b336919db3
[NI] In NI mode, use return type from special call resolution for '!!'
2017-08-07 18:00:35 +03:00
Dmitry Petrov
397e04f382
[NI] Do not use return type from 'onlyResolvedCall'
2017-08-07 18:00:34 +03:00
Dmitry Petrov
5b2e66f0ca
[NI] Invoke checkType for arguments
...
checkType performs various actions required by BE
(e.g., record nullability assertions information for JVM BE).
2017-08-07 18:00:33 +03:00
Dmitry Petrov
dc453e6d8b
[NI] Update lambda argument expression type when return type is known
2017-08-07 18:00:32 +03:00
Dmitry Petrov
ba068c2d65
Use original descriptor for enum constructor symbol
2017-08-07 18:00:31 +03:00
Mikhail Zarechenskiy
def0816095
[NI] Write info about hidden descriptor to candidate
2017-08-07 18:00:30 +03:00
Mikhail Zarechenskiy
38d9123a57
[NI] Use weaker upper constraint for case {T & Any} <: S
2017-08-07 18:00:29 +03:00
Stanislav Erokhin
18961cc5a9
[NI] Analyze lambda in independent context if it isn't call argument
2017-08-07 18:00:28 +03:00
Dmitry Petrov
8599763cb9
Do not perform type checks for function literals in visitor in NI mode
...
They are type-checked as arguments for the corresponding expressions.
2017-08-07 18:00:27 +03:00
Dmitry Petrov
fbad16567b
[NI] Fix number type adjustment for greatest lower bound calculation
...
Compute common supertype (regardless of whether the given set of
lower bounds contains number types, intersection types, or whatever).
If the result type S is a possibly nullable intersection X1 & ... & Xn,
N = {Xi | Xi is a primitive number type},
R = {Xi | Xi is not a primitive number type},
M = default primitive number type for {Nj},
then adjusted type T* = M & R1 & ... Rm with the same nullability as S.
NB: IntegerValueType(_) = Int & Byte & Short & Long
2017-08-07 18:00:26 +03:00
Dmitry Petrov
1ae4278cfd
Minor: fix formatting
2017-08-07 18:00:25 +03:00
Mikhail Zarechenskiy
bc2a8555a3
[NI] Resolve collection literals arguments as postponed ones
2017-08-07 18:00:24 +03:00
Stanislav Erokhin
c0c94910e2
[NI] Fix StackOverflow in TypeApproximator
...
For cases like Enum<Captured(*)> where Captured(*) has supertype
Enum<Captured(*)> we get SO in TypeApproximator.
To prevent this argument depth was introduced.
2017-08-07 18:00:23 +03:00
Dmitry Petrov
9fa3bce73a
[NI] Fix special case of captured type handling in subtyping
...
Given the subtyping constraint
X <: CapturedType(in Y)
we should check only
X <: Y
if X contains type variables.
2017-08-07 18:00:22 +03:00
Dmitry Petrov
26cc08be65
Fix anonymous function literals handling in type checker
...
- [NI] Create type info directly if the expected type is functional.
- Properly handle suspended function expected type.
2017-08-07 18:00:21 +03:00
Dmitry Petrov
6facdcb7ea
Minor: lambda arguments formatting
2017-08-07 18:00:20 +03:00
Mikhail Zarechenskiy
badbf777df
[NI] Use data flow info from arguments in parenthesis to resolve lambda
...
Fixes 'javaObjectType' and 'javaPrimitiveType'
2017-08-07 18:00:19 +03:00
Stanislav Erokhin
5eb56dca60
[NI] Check type compatibility before fixation.
...
If for type variable we have upper and lower bounds, then sometimes
our approximation before fixation give us incorrect result for type
variable and we should chose other bound as result.
Example: Int & Byte <: T <: Byte. If we run approximation for lower
bound we get Int as result and it isn't subtype of Byte.
2017-08-07 18:00:18 +03:00
Mikhail Zarechenskiy
d1263c5dc3
[NI] Coerce to unit for empty lambda block
...
Fixes 'kt3903'
2017-08-07 18:00:17 +03:00
Mikhail Zarechenskiy
cf55674109
[NI] Support fallback resolve to operator mod if needed
...
Fixes:
- assignmentOperations
- percentAsModOnBigIntegerWithoutRem
2017-08-07 18:00:16 +03:00
Dmitry Petrov
f578d07b00
[NI] Fix lambda return type when expected type is not functional type
...
Introduce a fresh type variable for lambda return type.
We can't set expected lambda return type to 'Any?', because we can't
infer the actual type from return expressions in lambda in that case.
2017-08-07 18:00:15 +03:00
Dmitry Petrov
f637ebe9ff
Minor: formatting for lambda arguments
2017-08-07 18:00:14 +03:00
Stanislav Erokhin
b7c894a6d3
[NI] Capture types from smart-cast types.
...
Sometimes we have something like if (a is Foo<*>) a.bar()
where bar declared: fun <T> Foo<T>.bar().
For such case we should create receiver with possible types Capture(*).
2017-08-07 18:00:13 +03:00
Mikhail Zarechenskiy
b6bb171b67
[NI] Extension function wins member if it's infix call
...
Fixes 'infixFunctionOverBuiltinMember'
2017-08-07 18:00:12 +03:00
Mikhail Zarechenskiy
8670d2abba
[NI] Propagate information about safe call to receiver argument
2017-08-07 18:00:11 +03:00
Mikhail Zarechenskiy
72d14bfe0d
[NI] Record type of callable reference to trace
2017-08-07 18:00:10 +03:00
Dmitry Petrov
a303888e66
[NI] Fix expected return type for function literals
...
It should actually be Unit, as told in FunctionExpression comments
(was null, later defaulted to Any?).
2017-08-07 18:00:09 +03:00
Dmitry Petrov
0136be3500
[NI] Fix traversing delegated constructor call chain
...
Use original descriptor instead of possibly substituted one: even though
the substitution is always trivial here, delegated constructor call is
recorded for the original constructor descriptor. So the code that
traverses the delegated constructor call chain should use original
descriptor, too.
2017-08-07 18:00:08 +03:00
Mikhail Zarechenskiy
0634025229
[NI] Propagate known type substitutor to resolution part
...
This commit fixes 'functionNtoStringGeneric' and 'superConstructor'
2017-08-07 18:00:07 +03:00
Mikhail Zarechenskiy
c6fcbf6172
[NI] Check for unwrapped descriptor when generating accessible function
...
In new inference we get copy of sam constructor and therefore should check original descriptor in BE.
This fixes 'protectedSamConstructor' test
2017-08-07 18:00:06 +03:00
Stanislav Erokhin
e12eb66572
[NI] Fix COERCION_TO_UNIT in NI.
2017-08-07 18:00:05 +03:00
Stanislav Erokhin
de17604fe7
[NI] Bind all new resolved calls before update arguments.
2017-08-07 18:00:04 +03:00
Stanislav Erokhin
42438bd363
[NI] Do not calculate lambda return type in Visitor if NI enabled.
2017-08-07 18:00:03 +03:00
Stanislav Erokhin
85248676d2
[NI] Update lambda result arguments after resolution.
2017-08-07 18:00:02 +03:00
Stanislav Erokhin
b9e9243e9d
[NI] Add hacks for property delegation resolution.
2017-08-07 18:00:00 +03:00
Stanislav Erokhin
af138e7403
Minor. Extract object to inner class.
2017-08-07 17:59:59 +03:00
Stanislav Erokhin
5bb61d2d02
[NI] Small improvements in callable reference resolution.
...
I'm not sure in this commit, but it fix some test -> let it be for now.
And yes, now I do not know correct way for callable reference resolution,
so for now it is just proposals.
2017-08-07 17:59:58 +03:00
Stanislav Erokhin
7eabdeffb3
[NI] Fix variable to proper upper type even if direction is TO_SUBTYPE.
2017-08-07 17:59:57 +03:00
Stanislav Erokhin
b3be21146c
[NI] Add more hacks.
2017-08-07 17:59:56 +03:00
Stanislav Erokhin
0f0d834c23
[NI] Minor. Fix IOE.
2017-08-07 17:59:55 +03:00
Stanislav Erokhin
55181541af
[NI] Change lambda analysis -- create arguments for return statements.
2017-08-07 17:59:54 +03:00
Stanislav Erokhin
58f73bd82a
[NI] Use right DFI for arguments smart-casts.
2017-08-07 17:59:53 +03:00
Stanislav Erokhin
30f7396803
[NI] Substitute lambda return type with current substitutor
...
We should do this because return type even it still not proper
can contain fixed type variables
2017-08-07 17:59:52 +03:00
Stanislav Erokhin
89ac3bd5cf
[NI] Do not add useless constraints to constraint system
...
Skipped constraints:
- T <: Any, T >: Nothing
- T <: T, T <: T?, T >: T, T <: T!, T! <: T
2017-08-07 17:59:51 +03:00
Stanislav Erokhin
3a25405088
[NI] Remove type variables for lambda arguments -- use existing instead.
2017-08-07 17:59:50 +03:00
Stanislav Erokhin
ff6a28b64c
Add util method to BuildIns is kotlin.Function type.
2017-08-07 17:59:49 +03:00
Stanislav Erokhin
acc6e48172
[NI] Added isSuspend for lambdas.
2017-08-07 17:59:48 +03:00
Stanislav Erokhin
29e2a26ad6
[NI] Write fake ResolvedCall for callable reference.
2017-08-07 17:59:47 +03:00
Stanislav Erokhin
ee16a79612
[NI] Add pre-resolution callable reference argument check.
...
If expected type for callable reference argument isn't callable type
then make such candidate unsuccessful.
Sometimes expected type is just `T`, where `T` is type variable.
To support such case we take all supertypes and check them instead.
2017-08-07 17:59:46 +03:00
Stanislav Erokhin
55dc2c11f7
[NI] Support callable reference resolution in NI.
...
Missing parts:
- report results about callable references into trace
2017-08-07 17:59:46 +03:00
Stanislav Erokhin
02f4558683
Add way to create callable reference processor
...
Priority of variables and function should be the same.
Because of this we create new CompositeSimpleScopeTowerProcessor,
which merge candidates for properties and function into one candidate group
2017-08-07 17:59:44 +03:00
Stanislav Erokhin
36ea9484a9
[NI] Minor. Extract code to function.
...
Also make KotlinCall unnecessary for TypeVariableFromCallableDescriptor.
2017-08-07 17:59:43 +03:00
Mikhail Zarechenskiy
0b358fb693
Fix collection literals resolve in gradle-based projects
...
#KT-19441 Fixed
2017-08-07 17:52:08 +03:00
Daniil Vodopian
b24c1bf06c
KT-9669: introduced JoinStatementAddSemicolonHandler; registered the handler in plugin.xml; added test coverage ( #1232 )
2017-08-07 16:20:40 +02:00
Dimach
d624ed4aff
KT-18482: "Move lambda argument to parenthesis" action generate uncompilable code fixed ( #1226 )
...
* KT-18482 fixed
* Moved code to separate method and changed code to cover few more cases.
* Code style fixes.
2017-08-07 15:43:44 +02:00
Alexey Andreev
a4551fb0fb
Fix infinite loop during continuous Gradle build including JS DCE
...
It's basically a workaround fox bug in Gradle.
See https://github.com/gradle/gradle/issues/2651
2017-08-07 16:36:57 +03:00
Sergey Igushkin
71878b2218
Merge pull request #1225 from nageshs/master
...
Close the local.properties file after reading
Issue #KT-19397 Fixed
2017-08-07 16:07:51 +03:00
Sergey Igushkin
13a2de1816
Update libraries/ReadMe.MD, add info about plugin markers required for tests
2017-08-07 15:14:37 +03:00
Sergey Igushkin
0cfac71efe
(minor) Improve readability of pluginMarkers.gradle, fix indent in file
...
(minor) Clarify the comment on the setUpSeparateArtifact block
2017-08-07 14:33:35 +03:00
Sergey Igushkin
94036b7cac
Add Gradle license
2017-08-07 14:33:33 +03:00
Sergey Igushkin
999db0bc80
Add a test for plugins DSL
2017-08-07 14:32:41 +03:00
Sergey Igushkin
8fd508566a
Add Gradle plugin marker artifacts for the Gradle plugins.
...
This allows for the Gradle plugins DSL to resolve the plugins from
a custom repository.
https://docs.gradle.org/current/userguide/plugins.html#sec:plugin_markers
2017-08-07 14:17:43 +03:00
Toshiaki Kameyama
64eeb479aa
Take nullability annotations into account in QF correcting override
...
So Java NotNull annotated is converted to `Type`
and Java Nullable annotated to `Type?` accordingly
So #KT-19299 Fixed
2017-08-07 13:52:25 +03:00
Mikhail Glukhikh
1264ed7c86
Minor cleanup
2017-08-07 13:20:35 +03:00
Andrius Semionovas
666c241479
KT-19126 Add convert property initializer to getter in interfaces ( #1224 )
2017-08-07 11:53:37 +02:00
Kirill Rakhman
2536615e0e
detect valid extension main functions ( #1227 )
...
Fixes #KT-18083
2017-08-07 11:39:34 +02:00
Yujin Jung
4c00119f08
Fix incorrect slack link ( #1231 )
2017-08-07 11:39:02 +02:00
Nikolay Krasko
7d66af6583
Always assign shebang comment to same position before package
2017-08-07 12:17:20 +03:00
Nikolay Krasko
8d226594ff
Put comments and whitespaces under body in script files
...
It's more consistent to normal function body for IDE.
Doc comments in file beginning are now sticks to declarations
correctly.
Moving declarations at the end of scripts is fixed
2017-08-07 12:17:17 +03:00
Nikolay Krasko
8de6017e53
Minor: rename comments and whitespace binders file
2017-08-07 12:17:14 +03:00
Nikolay Krasko
ae6f38e252
Minor: fix comment about AllCommentsBinder
2017-08-07 12:13:58 +03:00
Nikolay Krasko
6194bc10f8
Move statement out of top-level lambda in scripts (KT-19322)
...
#KT-19322 Fixed
2017-08-07 12:12:41 +03:00
Dmitry Petrov
656f8bb5cf
Turn SwitchCodegenUtil into a class
2017-08-07 10:31:02 +03:00
Dmitry Petrov
435cfeea0a
SwitchCodegenUtil: convert to Kotlin and cleanup
2017-08-07 10:31:02 +03:00
Dmitry Petrov
c5772e5549
SwitchCodegenUtil: .java -> .kt
2017-08-07 10:31:02 +03:00
Dmitry Petrov
2ed5a5e368
'when' should use intrinsics for '=='
...
#KT-19029 Fixed Target versions 1.1.5
#KT-18818 Fixed Target versions 1.1.5
2017-08-07 10:31:02 +03:00
Jonathan Leitschuh
20cd748377
Add download link for JDK6 on MacOS to Readme.md ( #1229 )
...
Reduce the barier to entry for working on Kotlin by providing a
download link for the MacOS JDK6 in the ReadMe.
2017-08-04 22:47:14 +02:00
Toshiaki Kameyama
dbaec43e4d
Make abstract both member and class while applying "Make abstract"
...
So #KT-12613 Fixed
2017-08-04 21:34:21 +03:00
Toshiaki Kameyama
0a9e0ddba9
Use back-ticks correctly in "Add remaining branches" action
...
So #KT-13985 Fixed
2017-08-04 20:58:46 +03:00
Alexey Sedunov
97a3d343f7
Create Class from Usage: Support nested classes
...
This covers the case when original expression doesn't contains qualifier
Also for local or inner containing classes:
- forbid nested objects
- add 'inner' to nested class declaration
#KT-16404 Fixed
2017-08-04 16:48:36 +03:00
Alexey Sedunov
d30461afc6
Create Class from Usage: Support multiple containers
2017-08-04 16:48:35 +03:00
Alexey Sedunov
78117b3e7b
Create from Usage: Infer expected type from base declarations
...
#KT-17480 Fixed
2017-08-04 16:48:35 +03:00
Alexey Sedunov
3b4891279e
Configuration: Update default settings for Kotlin/JS compiler
2017-08-04 16:48:35 +03:00
Mikhael Bogdanov
d738633981
Switch jvm target to 1.8 in Ultimate plugin and missed version to core modules
2017-08-04 15:45:53 +02:00
Dmitry Jemerov
563472e676
Include org.json classes in Kotlin plugin jar
2017-08-04 15:30:12 +02:00
Mikhael Bogdanov
db9f925bb1
Switch default project jvm target to 1.8, keep 1.6 for core modules
2017-08-04 13:14:50 +02:00
Alexey Sedunov
aed9d3899e
Misc: Fix compiler argument usages after refactoring
2017-08-03 19:59:53 +03:00
Kirill Rakhman
41e5840298
Implement inspection for redundant lambda arrow
...
Fixes #KT-11991
2017-08-03 15:37:04 +02:00
Kirill Rakhman
9ac1a0140c
Add inspection for when with only else ( #1206 )
...
Fixes #KT-12523
2017-08-03 15:30:28 +02:00
Nikolay Krasko
61b10ac330
Make class prepare request pattern more precise (KT-19429)
...
Do not bother with check for irrelevant classes.
#KT-19429 Fixed
2017-08-03 13:11:06 +03:00
Nikolay Krasko
1ef5362edc
Fix breakpoints from Kotlin file placed in irrelevant class (KT-19429)
...
State that there're no locations in given file, if all locations for
line were filtered out because of wrong file name. Need this because
if we throw exception, other positions managers may return locations
without explicit check for file type or file name.
See PositionManagerImpl.java
#KT-19429 Fixed
2017-08-03 13:11:06 +03:00
Nikolay Krasko
3ea4a7fb47
Drop support for JVM 1.4 in debugger
...
Kotlin can't run on such JVM anyway.
2017-08-03 13:11:06 +03:00
Mikhail Glukhikh
0e4089ef8e
Keep coroutines classes in ProGuard #KT-19433 In Progress
2017-08-03 12:25:11 +03:00
Alexey Sedunov
d10fa8f891
Minor: Fix array detection
2017-08-03 01:55:44 +03:00
Alexey Sedunov
e38cf54dac
Minor: Fix facet/project settings editor
2017-08-03 01:55:44 +03:00
Alexey Tsvetkov
f0becd0040
Fix IC with daemon
...
JPS IC with daemon was not working since
the commit 514635e965
Before that change `IncrementalCompilation.isEnabled`
returned `true` when the corresponding system property was not set.
After the change `isEnabled` returns `true` only if
the system property is set and equals to `"true"`.
The property was never set up for the daemon if `CompilerMode.JPS_COMPILER`
was used (the property was set up in a JPS process or in the daemon in case
it was used with Gradle).
#KT-19414 fixed
2017-08-02 23:02:11 +03:00
Dmitry Jemerov
82c62b4d8e
Add missing read action
2017-08-02 17:11:56 +02:00
Dmitry Jemerov
88420311cb
Look at library content to detect library kind when importing
2017-08-02 17:10:01 +02:00
Dmitry Jemerov
b423d58a14
Load JSR-305 annotations for libraries if it's enabled for any module
...
#KT-19303 Fixed
2017-08-02 15:25:34 +02:00
Mikhail Glukhikh
4ca8d3d6cf
J2K: use refactorings and runWriteAction more accurately #KT-19371 Fixed
...
Do not invoke runWriteAction for post-processings
in Convert(Text)JavaCopyPasteProcessor.
Instead each processing can need write action or not,
and J2kPostProcessor takes this into account.
2017-08-02 15:30:18 +03:00
Mikhail Glukhikh
8d5e69b06c
Inline variable: do not show dialog / preview from J2K #KT-19332 Fixed
2017-08-02 15:30:17 +03:00
Mikhael Bogdanov
b56f5593ab
Update changelog for 1.1.4-eap-54
2017-08-02 14:09:39 +02:00
Alexey Sedunov
53d12e6cf7
Method Hierarchy: Refactoring
...
- Do not rely on light methods and Java method hierarchy
- Support val/var parameters
- Support built-in member functions
#KT-14346 Fixed
2017-08-02 13:08:06 +03:00
Alexey Sedunov
10941ae732
Call Hierarchy: Refactoring
...
Do not rely on light methods to search usages as some elements
don't have them (e.g. local functions)
#KT-9288 Fixed
#KT-14428 Fixed
2017-08-02 13:08:06 +03:00
Alexey Sedunov
0c2ea5d799
Light Classes: Fix equivalence check
...
Do not consider PsiClass equiavent to KtLightClass
if it's not a light class as well
#KT-16180 Fixed
2017-08-02 13:08:06 +03:00
Alexey Sedunov
e6f1a3ccf3
Minor: Use Kotlin reflection in usage printing and update test data
2017-08-02 13:08:06 +03:00
Alexey Sedunov
3c0a4a0abf
Minor: Fix bug introduced by the refactoring
2017-08-02 13:08:05 +03:00
Dmitry Petrov
c5613888eb
Look into proper context when generating backing field access
...
Problem manifests when a class property name matches a companion object
property name, and class property is referenced in closure context.
#KT-19367 Fixed Target versions 1.1.5
2017-08-02 11:24:35 +03:00
Dmitry Petrov
05eee9c173
Minor: adjust formatting
2017-08-02 11:24:35 +03:00
Yan Zhulanow
3d7d1b20ab
Ensure there won't be the same classpath entries in the resulting classpath
2017-08-02 03:36:57 +03:00
Bill Collins
9a40e9b96d
Don't overwrite plugin classpaths detected earlier for annotation processing. Fixes #KT-18022
2017-08-02 03:36:56 +03:00
Yan Zhulanow
3770786075
Minor: Fix test data for CLI test (defaultCacheImplementation option was added in Android Extensions)
2017-08-02 03:36:55 +03:00
Yan Zhulanow
13868f89e8
Minor: Change test format to JUnit 3
2017-08-02 03:35:16 +03:00
Yan Zhulanow
45681ed9eb
Fix "'Redundant modality' is not reported with all-open" (KT-18195)
2017-08-02 03:35:15 +03:00
Yan Zhulanow
6002281874
Android Extensions: Downgrade to old Android variant processing logic when 'experimental' flag is disabled (KT-19270)
2017-08-02 03:35:14 +03:00
Yan Zhulanow
3bb7febeb8
AllOpen: Make private members open again because of KT-19047
2017-08-02 03:35:13 +03:00
Yan Zhulanow
5ff014f89d
Parcelable, minor: Change error message
2017-08-02 03:35:12 +03:00
Yan Zhulanow
448fa8495a
Parcelable, Lint: Do not report "CREATOR field missing" warnings on our '@Parselize' Parcelables
2017-08-02 03:35:11 +03:00
Yan Zhulanow
c1600c9841
Report errors from compiler plugins as compiler PLUGIN_ERRORs (KT-19311)
2017-08-02 03:35:10 +03:00
Yan Zhulanow
9a5a003d0a
NoArg: Fix IllegalAccessError on instantiating sealed class child via Java reflection (KT-18245)
2017-08-02 03:21:16 +03:00
Yan Zhulanow
53e193d130
AllOpen: Support @SpringBootTest annotation (KT-18262)
2017-08-02 03:21:15 +03:00
Yan Zhulanow
4dddb00aca
Kapt: Fix "Anonymous class types are not rendered properly in stubs" (KT-18682)
2017-08-02 03:21:14 +03:00
Yan Zhulanow
bf2bc1fdc7
Android Extensions: Support smart-casted receivers (KT-18545)
2017-08-02 03:21:13 +03:00
Mikhail Glukhikh
9e9c4f79f5
Make MODIFIERS_ORDER consistent with code style document
2017-08-01 20:42:40 +03:00
Nikolay Krasko
65ea9290ea
Skip method check for non-relevant positions (KT-19403)
...
#KT-19403 Fixed
2017-08-01 20:09:54 +03:00
Nikolay Krasko
2ba89b9e68
Fix bad cast on absent descriptor in field breakpoint (EA-101988)
2017-08-01 20:09:54 +03:00
Alexey Tsvetkov
45ec0e364a
Remove Gradle plugin dependency on Apache Commons
...
We have used `commons-lang` to detect
if current OS is a Windows.
`org.apache.commons.lang.SystemUtils` also
tries to parse JDK version in `clinit` and,
as of AC version 2.4, fails on JDK 9.
I preferred to remove the dependency completely
and copy an implementation of `isWindows` from Intellij
platform, because the code is quite simple
and minimizing unnecessary dependencies will help to avoid
compatibility problems in future.
Gradle plugin also declares a dependency on `commons-io`,
but it seems unused, so the dependency is also removed.
#KT-18832 fixed
2017-08-01 19:43:25 +03:00
Alexey Sedunov
40163868af
Support mutable/immutable compiler arguments
2017-08-01 19:40:37 +03:00
Alexey Sedunov
2984a5a19f
Fix reflection-based operations on compiler arguments after conversion
2017-08-01 19:40:22 +03:00
Alexey Sedunov
50599c933f
J2K: CommonToolArguments and inheritors
2017-08-01 19:36:49 +03:00
Alexey Sedunov
2e49971989
J2K: CommonToolArguments and inheritors (rename)
2017-08-01 19:36:49 +03:00
Yan Zhulanow
2d8f7419eb
Parcelable: Temporarily disable box tests because of OOM
2017-08-01 18:37:27 +03:00
Mikhail Glukhikh
87cdc7635a
Do not suggest "can be private" for elements with given annotations
...
So #KT-19272 Fixed
2017-08-01 18:01:29 +03:00
Mikhail Glukhikh
c5a81691fb
Partial code cleanup: can be private and some others applied
2017-08-01 17:08:56 +03:00
Mikhael Bogdanov
42f8a3e65b
Generify Symbols class to be able support jvm specific implementation
2017-08-01 15:52:29 +02:00
Mikhael Bogdanov
4dbb82a789
Copy ununsed lowers
2017-08-01 15:52:28 +02:00
Mikhael Bogdanov
df56ef5e3f
Copy common lowers
2017-08-01 15:52:28 +02:00
Mikhael Bogdanov
27365dc4be
Copy common utils from Native
2017-08-01 15:52:27 +02:00
Nikolay Krasko
5fcefa28a7
Test stub trees compatibility on loadJava/compiledKotlin test data
2017-08-01 16:22:40 +03:00
Mikhail Glukhikh
c2617e89c9
Remove unnecessary check from prepareCodeToInline
2017-08-01 12:32:49 +03:00
Mikhail Glukhikh
1ed1751b63
Report "Make <visibility>" for visibility fixes #KT-19274 Fixed
...
(instead of "Add <visibility> modifier")
2017-08-01 12:06:28 +03:00
Toshiaki Kameyama
29dba9edb3
Do not report "property can be private" in annotations #KT-19273 Fixed
2017-08-01 11:53:42 +03:00
Nagesh Susarla
b9788bbafd
Close the local.properties file after reading
2017-07-31 15:36:18 -07:00
Ilya Gorbunov
050744627d
Clean stdlib and reflect before rewriting binary API dump
...
The change in the run configuration "Binary compatibility tests, overwrite results"
is to prevent incremental compilation of these artifacts.
During the incremental compilation only the declarations in the files being
recompiled are dumped to declarations.json.
This results in incomplete dump and affects the public declarations dump.
This clean step enforces stdlib and reflect libraries to be fully recompiled.
This step can be removed as soon as we do not need declarations.json to dump public API.
2017-07-31 23:13:56 +03:00
Alexey Tsvetkov
69b4d213b7
Ensure IC.isEnabled is not modified by tests
2017-07-31 19:34:59 +03:00
Alexey Tsvetkov
514635e965
IC should be enabled explicitly by build systems
...
The change only affects JPS on TeamCity (in Intellij IC system property
is always set explicitly; the same holds for Gradle, Maven).
Previous changes have effectively enabled the new IC (which is now default)
for TC JPS builds, which is undesirable as more RAM is used.
2017-07-31 19:34:59 +03:00
Alexey Tsvetkov
5ce3a436c7
Avoid marking dirty dependencies from already compiled chunks
...
#KT-17397 fixed
2017-07-31 19:34:59 +03:00
Alexey Tsvetkov
7cccba3b9a
Refactoring: do not check if IC is enabled in cache
...
There was a bunch of if-else blocks checking if new IC was enabled or not.
These blocks became useless after `IncrementalCompilation.isExperimental`
was replaced with `IncrementalCompilation.isEnabled`, because when IC is not enabled
we don't use caches anyway.
2017-07-31 19:34:58 +03:00
Alexey Tsvetkov
3f471d1ac6
Minor: add dummy.kt to some IC tests
...
This makes it impossible to pass the tests
by rebuilding everything.
2017-07-31 19:34:58 +03:00
Alexey Tsvetkov
e602903567
Remove old IC: remove experimental tests
2017-07-31 19:34:58 +03:00
Alexey Tsvetkov
534db2d45b
Remove old IC: remove experimental cache version
2017-07-31 19:34:58 +03:00
Alexey Tsvetkov
a4a0335b20
Remove old IC: update KotlinJpsBuildTest
2017-07-31 19:34:58 +03:00
Alexey Tsvetkov
62fdd91947
Remove old IC: remove unnecessary caches
2017-07-31 19:34:58 +03:00
Alexey Tsvetkov
aea5293288
Remove old IC: fix constant search test
...
The tests were not run with the new IC before
2017-07-31 19:34:58 +03:00
Alexey Tsvetkov
8143ca158b
Remove old IC: update on-off tests
2017-07-31 19:34:58 +03:00
Alexey Tsvetkov
e7afb073d9
Remove old IC: remove experimental-expected-kotlin-caches.txt
2017-07-31 19:34:58 +03:00
Alexey Tsvetkov
5af9d29cbe
Remove old IC: remove experimental-ic-build.log
...
This commit moves each experimental-ic-build.log
into a corresponding build.log file.
2017-07-31 19:34:58 +03:00
Alexey Tsvetkov
2bd7d12312
Remove old IC: remove IncrementalCompilation.isExperimental
2017-07-31 19:34:58 +03:00
Alexey Tsvetkov
50091bfac8
Remove old IC: remove flags from CompilationResult
2017-07-31 19:34:58 +03:00
Alexey Tsvetkov
840f688bbf
Refactoring: simplify proto map API
2017-07-31 19:34:58 +03:00
Alexander Udalov
2e82bb5632
Use correct LanguageVersionSettings in MetadataSerializer
...
Also, require users of K2MetadataCompiler to pass "-Xmulti-platform"
manually. Gradle and Maven plugins already do that, so only users who
invoke kotlinc directly are going to be affected by this
#KT-19287 Fixed
2017-07-31 08:47:47 -07:00
Sergey Igushkin
4923589b38
Fix testAndroidExtensionsManyVariants not using experimental flag
2017-07-31 16:56:06 +03:00
Sergey Igushkin
23ea1a1a60
Push Android Gradle plugin version used in tests to 3.0.0-alpha8
2017-07-31 16:52:48 +03:00
Andrius Semionovas
f42808af94
Add when support for USELESS_IS_CHECK quick fix, related to KT-18965
2017-07-31 16:10:41 +03:00
Andrius Semionovas
e0aca97f9f
Add quick-fix for USELESS_IS_CHECK #KT-18965 Fixed
2017-07-31 16:10:23 +03:00
Dimach
88fa7c2952
Introduce "double negation" inspection #KT-4748 Fixed
2017-07-31 15:57:31 +03:00
Toshiaki Kameyama
be0b01a1e6
Do not report "can be private" on effectively private / local elements
...
So #KT-18822 Fixed
2017-07-31 11:58:14 +03:00
Pavel V. Talanov
05ea99441f
script.runtime 1.1.4: Update test data implementations
2017-07-30 18:21:35 +03:00
Pavel V. Talanov
b0b2c046b2
script.runtime 1.1.4: IDE and compiler use 'kotlin.script.experimental'
2017-07-30 18:15:41 +03:00
Pavel V. Talanov
d7e62937b2
script.runtime 1.1.4: Remove new API from 'kotlin.script' package
...
Copy of new API is in 'kotlin.script.experimental' package
2017-07-30 17:38:10 +03:00
Pavel V. Talanov
9a004ceda2
script.runtime 1.1.4: Remove copy of ScriptContents class
...
This class is not new(experimental) API is not supposed to be moved
2017-07-30 17:17:54 +03:00
Simon Ogorodnik
5e032139cb
KT-18040: Enable auto popup when typing after $e. in string template
...
#KT-18040 fixed
2017-07-30 09:15:16 +03:00
Alexander Udalov
4e77897bfd
Pass LanguageSettingsProvider to AnalyzerFacade explicitly
...
This way is more flexible for example for tests, where configuring the
service implementation may be tricky (it's usually done in
KotlinCoreEnvironment in production code)
2017-07-28 20:15:28 +03:00
Pavel V. Talanov
ca06d38c5b
script.runtime 1.1.4: Copy new API to kotlin.script.experimental package
...
Minor: Move Environment type alias to resolvers_deprecated.kt file
2017-07-28 20:13:59 +03:00
Pavel V. Talanov
d59a72ea75
script.runtime 1.1.4: Undeprecate old API
2017-07-28 20:13:57 +03:00
Pavel V. Talanov
9e34437447
script.runtime: add 'kotlin-runtime' dependency
...
script.runtime is not built by JPS, this just affects highlighting
2017-07-28 20:13:54 +03:00
Alexander Udalov
82502e1a8b
Fix compilation of kotlin-script-util
...
Compilation was broken in 46a01ec
2017-07-28 19:26:35 +03:00
Leonid Startsev
527ccaff16
Changes required for serialization plugin to work:
...
* Support for generation of synthetic nested classes (for implementations
of user-defined serial annotations):
1. Compiler extenstion points for contributing names and descriptoprs
of nested classes
2. Control on synthetic class primary constructor visibility
* Public functions for generating initializing expressions for optional
properties
2017-07-28 07:04:57 -07:00
Dmitry Petrov
9e6b706a03
Unwrap property imported from object on property access
...
#KT-18982 Fixed Target versions 1.1.5
2017-07-28 17:01:04 +03:00
Sergey Igushkin
05919244bd
Fix testLogLevelForceGC
2017-07-28 16:39:10 +03:00
Sergey Igushkin
7906ac9348
Fix unresolved rhino dependency in testDce.
2017-07-28 16:39:10 +03:00
Pavel V. Talanov
c1fd8fc318
Send roots changed iff combined dependencies of all scripts changed
...
This reduces total number of reindex requests when working with scripts
ScriptDependenciesCache::onChange logic is independent from ScriptDependenciesUpdater::onChange
2017-07-28 15:45:29 +03:00
Pavel V. Talanov
e115c8b373
Filter out invalid files before contributing them for indexing
...
#EA-104574
2017-07-28 15:45:26 +03:00
Nikolay Krasko
99555fa843
Retrieve receiver annotation to stubs from compiled code (KT-19209)
...
#KT-19209 Fixed
2017-07-28 15:01:32 +03:00
Alexander Udalov
8b149db0ec
Drop deprecated KotlinPaths.getRuntimePath, use getStdlibPath instead
2017-07-28 14:16:48 +03:00
Alexander Udalov
b988582531
Refactor utilities in AbstractKotlinJpsBuildTestCase
2017-07-28 14:16:47 +03:00
Alexander Udalov
1e6850f198
CLI: improve error message if libraries are not found in Kotlin home
...
Also support the '-kotlin-home' argument in kotlinc-js
#KT-18859 Fixed
2017-07-28 14:16:46 +03:00
Alexander Udalov
eb673d6ed3
Do not try to compile if incorrect language/API version is passed
2017-07-28 14:11:35 +03:00
Alexander Udalov
4b42f9e071
Move JPS-related kotlin-home detection code to jps-plugin
2017-07-28 14:11:35 +03:00
Alexander Udalov
46a01ec131
J2K PathUtil: convert and prettify
2017-07-28 14:11:35 +03:00
Alexander Udalov
3beb6a86f7
J2K PathUtil: move .java -> .kt
2017-07-28 14:11:35 +03:00
Dmitry Petrov
67336653e0
Generate SAM wrappers only if they are required for a given argument
...
SAM interface wrapper for an argument is required,
if in the function descriptor for SAM adapter
type for the corresponding value parameter
doesn't match type of the corresponding value parameter
in the original (Java) descriptor.
#KT-19251 Fixed Target versions 1.1.5
2017-07-28 08:24:46 +03:00
Dmitry Petrov
c8bc2d9d16
Minor: code cleanup
2017-07-28 08:24:46 +03:00
Dmitry Petrov
5df461c7e0
Add test for KT-19246
...
The issue was fixed by
904c7f9c64
2017-07-28 08:24:46 +03:00
Nikolay Krasko
24865ba26a
Allow deprecated fix for TYPEALIAS_EXPANSION_DEPRECATION
2017-07-28 01:28:56 +03:00
Nikolay Krasko
53373b66b9
Do not replace in alias when constructor has special pattern (KT-19202)
...
#KT-19202 Fixed
2017-07-28 01:28:56 +03:00
Nikolay Krasko
1b93e2030f
Create isCallee utility function
2017-07-28 01:28:56 +03:00
Yan Zhulanow
142a64e039
Minor: Fix Gradle integration test compilation, replace .use() with try&finally
2017-07-27 21:22:06 +03:00
Sergey Igushkin
fabcd6b73c
Fix Gradle IT compilation.
2017-07-27 20:44:03 +03:00
Anton Bannykh
e9e81d96a5
Fixed maven multiplatform test
2017-07-27 19:34:14 +03:00
Mikhael Bogdanov
79921b0206
Update changelog for 1.1.4-eap-33
2017-07-27 14:18:35 +02:00
Valentin Kipyatkov
ee7eb3186d
Fixed problems with ModuleDescriptor mismatch after ProcessCanceledException
2017-07-27 14:05:45 +03:00
Valentin Kipyatkov
6ba96b1103
Renamed function
2017-07-27 13:56:30 +03:00
Valentin Kipyatkov
7f467f0fdd
Minor
2017-07-27 13:56:29 +03:00
Valentin Kipyatkov
d3ea7c3a14
No need to pass fq-names to import when we have bindingContext
2017-07-27 13:56:28 +03:00
Valentin Kipyatkov
996292264b
Fixed inline when multiple implicit receivers exist
...
#KT-17776 Fixed
#KT-17266 Fixed
2017-07-27 13:55:25 +03:00
Valentin Kipyatkov
0346b31628
Enabled Loop to call chain inspection again
2017-07-27 13:54:59 +03:00
Valentin Kipyatkov
44dafc38e5
A bit more correct fix of KT-14665
2017-07-27 13:33:57 +03:00
Kirill Rakhman
3ff5c95419
Improve inspection message for NullableBooleanElvisInspection
...
Also report as "should" or "can" depending on severity
So #KT-19006 Fixed
2017-07-27 11:08:26 +03:00
Simon Ogorodnik
c41c5f1916
KT-19145: Enable type completion for extension properties
...
#KT-19145 fixed
2017-07-27 09:57:11 +03:00
Andrius Semionovas
68659f5a32
Introduce error "ANNOTATION_USED_AS_ANNOTATION_ARGUMENT" along with QF
...
The relevant inspection has been removed
So #KT-18855 Fixed
2017-07-27 09:54:22 +03:00
Dmitry Petrov
b81ca31aae
Record resolved delegation call for primary ctor if single result
...
Do the same thing as for secondary constructor (looks like it was a
workaround for R&I bug that was used only for secondary constructors
for some reason).
#KT-17464 Fixed Target versions 1.1.5
2017-07-27 09:24:48 +03:00
Dmitry Petrov
c9ad290ad5
Do not store null for temporary in destructuring assignment
...
#KT-19256 Fixed Target versions 1.1.5
2017-07-27 09:02:26 +03:00
Dmitry Petrov
b867c46f72
Generate for-in-range loop as counter loop when possible
...
If an upper bound is a compile-time constant != Int.MAX_VALUE,
we can generate 'for (i in x..N)' as 'for (i in x until N+1)'.
2017-07-27 09:02:26 +03:00
Dmitry Petrov
7450899b87
Minor: extract get*CompileTimeConstant
...
Get rid of code duplication.
2017-07-27 09:02:26 +03:00
Ilya Gorbunov
ca8bf395c3
Do not create iterator in 'any', 'none', 'all' and 'count' unless necessary
...
#KT-19133 Fixed
2017-07-26 22:42:29 +03:00
Mikhael Bogdanov
ff676c050f
Properly generate inner classes when compiling source for inline
...
KT-19175: Compiler generates different bytecode when classes are compiled separately or together
#KT-19175 Fixed
2017-07-26 20:31:14 +02:00
Sergey Igushkin
7da6ff78c1
Fix Kapt3 classes not consumed by kotlinCompile tasks from their friend
2017-07-26 20:19:33 +03:00
Yan Zhulanow
ea1068a822
Parcelable, minor: Rename MagicParcel to Parcelize
2017-07-26 20:19:32 +03:00
Yan Zhulanow
f29cf07fa4
Android Extensions, minor: Fix test
2017-07-26 20:19:32 +03:00
Yan Zhulanow
92558ad183
Minor: Clarify module name in warning message about empty output classpath/output directories
2017-07-26 20:19:31 +03:00
Yan Zhulanow
826672ea1b
Kapt: Register kapt classes output directory as Java classes directory (KT-19211)
...
This is relevant to pure (non-Android) Java projects and Gradle 4.0+.
2017-07-26 20:19:30 +03:00
Yan Zhulanow
725f51056f
Kapt: Do not use AbstractCompile as a supertype for KaptTask (KT-19179)
...
Gradle sometimes tells that kaptCompile is UP-TO-DATE even when it's not true, so the annotation processing step is silently skipped.
Looks like replacing `mapSource {}` with an explicit getter or with manual `source()` invocation does not fix the problem.
This looks like a bug in Gradle appeared since 3.0. The test from this commit works with Gradle 2.14.1.
2017-07-26 20:19:29 +03:00
Yan Zhulanow
53fda33499
Kapt: 'kaptKotlin' task should be invoked only when all task dependencies from kapt configuration is built (KT-19178)
2017-07-26 20:19:28 +03:00
Yan Zhulanow
c2be771486
Android Extensions: Support defaultCacheImplementation in Gradle
2017-07-26 20:19:27 +03:00
Yan Zhulanow
5a1a4bd8bd
Android Extensions: Add global cache flag in compiler plugin
2017-07-26 20:19:26 +03:00
Yan Zhulanow
84eff43b49
Parcelable: Support Android Extensions experimental flag
2017-07-26 20:19:25 +03:00
Yan Zhulanow
98a2506eb0
Android Extensions: Add kotlin-android-extensions-runtime only if experimental flag is enabled
2017-07-26 20:19:25 +03:00
Yan Zhulanow
8cdcfc5e67
Android Extensions: Migrate enabled status check to Gradle importer #KT-17641
2017-07-26 20:19:24 +03:00
Yan Zhulanow
38449caaed
Parcelable: Fixes after review
2017-07-26 20:19:23 +03:00
Yan Zhulanow
d0e4b236a7
Parcelable: Support SortedSet, NavigableSet, SortedMap, NavigableMap
2017-07-26 20:19:22 +03:00
Yan Zhulanow
cf607a0f14
Parcelable: Report error on unsupported parameter types, add @RawValue annotation support
2017-07-26 20:19:21 +03:00
Yan Zhulanow
4200629347
Parcelable: Support CharSequence, IBinder/IInterface, objects, enums. Serialize Parcelable efficiently if possible
2017-07-26 20:19:20 +03:00
Yan Zhulanow
19eb30b3ae
Parcelable: Add test for clinit merging
2017-07-26 20:19:19 +03:00
Yan Zhulanow
3062e72282
Parcelable: Support Parcelizer interface in order to be able to customize serialization
2017-07-26 20:19:18 +03:00
Yan Zhulanow
aa5f9ee3ec
Parcelable: Correctly handle writeToParcel() overriding, report errors on custom writeToParcel() and CREATOR
2017-07-26 20:19:18 +03:00
Yan Zhulanow
96c9bcd820
Parcelable: Allow custom describeContents() implementation
2017-07-26 20:19:17 +03:00
Yan Zhulanow
4197380621
Parcelable: Add declaration checker
2017-07-26 20:19:16 +03:00
Yan Zhulanow
c23bca6afe
Parcelable: Add Parcelable functionality to Android Extensions plugin
2017-07-26 20:19:15 +03:00
Yan Zhulanow
edd8a0a64e
Parcelable: Download Robolectric artifacts in order to use them in tests
2017-07-26 20:19:14 +03:00
Toshiaki Kameyama
5290553184
Fix Math.min with coerceAtMost intention inside qualified expression
...
So #KT-19232 Fixed
2017-07-26 20:12:53 +03:00
Ilya Chernikov
a82f66cf45
Add tests for client/session flags removal, minor fix in shutdown logic
2017-07-26 17:16:38 +02:00
Ilya Chernikov
dc88e1e16c
Fix daemon clients cleanup, fixes hanging daemon processes
2017-07-26 17:16:37 +02:00
Toshiaki Kameyama
c3988ef184
Support "Lift return out of when" for exhaustive when without else
...
So #KT-18852 Fixed
2017-07-26 17:44:19 +03:00
Mikhail Glukhikh
9781d1fcdf
Remove unused variable with constant initializer #KT-13886 Fixed
2017-07-26 15:18:46 +03:00
Mikhail Glukhikh
a08f55cf99
Cast to type quick-fix: handle case with qualified elements correctly
...
Same fix for 'add !!' fix
So #KT-18368 Fixed
2017-07-26 15:18:38 +03:00
Mikhail Glukhikh
e6872c52a3
More accurate deparenthesize (keeping annotations) in some IDE actions
...
So #KT-19004 Fixed
2017-07-26 15:18:30 +03:00
Mikhail Glukhikh
7fb78a0372
Code cleanup: replace chained null-checks with safe-calls
2017-07-26 15:18:22 +03:00
Nikolay Krasko
732d1129ab
Enable replace for deprecated alias in whole project (KT-14929)
...
#KT-14929 Fixed
2017-07-26 14:20:59 +03:00
Nikolay Krasko
5df2698f77
Enable ReplaceWith for type aliases (KT-14929)
...
#KT-14929 Fixed
2017-07-26 14:20:57 +03:00
Alexander Udalov
224df7a1ea
Change -Xload-jsr305-annotations argument to -Xjsr305-annotations={ignore|enable}
...
See https://youtrack.jetbrains.com/issue/KT-19229 for a complete
explanation
#KT-19229 Fixed
#KT-10942
2017-07-26 11:45:25 +03:00
Alexander Udalov
2f99f6ad34
Refactor AnalysisFlags and their support in IDE
...
* Support flags with any value (not just Boolean)
* Support all flags by parsing arguments in KotlinFacetSettings, instead
of manually listing known flags
#KT-19210 Fixed
2017-07-26 11:45:24 +03:00
Alexander Udalov
845de7aa4d
Minor, change parameter type of parseCommandLineArguments
2017-07-26 11:45:24 +03:00
Alexander Udalov
593f98190d
Keep .txt and .caps files in compiler.pro
...
Files like org/jline/utils/capabilities.txt are needed for jline to
function correctly
#KT-19237 Fixed
2017-07-26 11:45:23 +03:00
Dmitry Petrov
0391c24ab2
Provide diagnostic for typealias using deprecated class or constructor
...
#KT-19205 Fixed Target versions 1.1.5
2017-07-26 09:02:45 +03:00
Dmitry Jemerov
c78ad9c047
Correctly detect library kind when not using modules per sourceset
...
#KT-19219 Fixed
2017-07-25 18:20:45 +02:00
Simon Ogorodnik
fa88fb74c4
Disable completion binding context caching by default
...
Now it opt-in in internal mode, due duplication problems
#KT-19191 fixed
2017-07-25 18:26:34 +03:00
Simon Ogorodnik
094125c970
KT-19154: Fix auto-import to check receiver for members properly
...
#KT-19154 fixed
2017-07-25 16:16:57 +03:00
Alexander Udalov
f313001b2d
Update to jline 3.3.1 and jansi 1.16
...
Note that the history file name was changed (.kotlin_history ->
.kotlinc_history) because the history is now stored in a different
(incompatible) format.
#KT-11369 Fixed
2017-07-25 11:10:45 +03:00
Ilya Gorbunov
baa6b44567
Deprecate CharSequence.size in JS
...
#KT-18267 Fixed
2017-07-24 21:14:45 +03:00
Ilya Gorbunov
f10ea03173
Provide extension to get mutable iterator from the mutable map
...
#KT-18992 Fixed
2017-07-24 21:02:15 +03:00
Dmitry Jemerov
e0dc7a27a0
Migration for pre-1.1.3 JS libraries
...
#KT-19156 Fixed
2017-07-24 19:53:52 +02:00
Dmitry Jemerov
861219f502
ConfigureKotlinTest refactoring to avoid duplicating production logic
2017-07-24 19:53:52 +02:00
Dmitry Jemerov
63c6ba7e31
Add missing read action
2017-07-24 19:53:52 +02:00
Dmitry Jemerov
f370d74609
Correctly detect stdlib in Gradle projects; move detection out of EDT
...
To detect whether a module has an stdlib in its dependencies, look at
source root modules and not at base module.
2017-07-24 19:53:52 +02:00
Dmitry Jemerov
0971af803c
Check for non-configured modules in background thread
...
#KT-17835 Fixed
2017-07-24 19:53:52 +02:00
Dmitry Jemerov
e1f7c91728
Use Kotlin/JVM and Kotlin/JS terms in the UI
2017-07-24 19:53:52 +02:00
Dmitry Jemerov
0f2992ddec
JavaFrameworkType: J2K
2017-07-24 19:53:52 +02:00
Dmitry Jemerov
079f7690a8
JavaFrameworkType: rename to .kt
2017-07-24 19:53:52 +02:00
Dmitry Jemerov
6dbaec0cc6
Use distinct icon for Kotlin/JS module and libraries
2017-07-24 19:53:52 +02:00
Dmitry Jemerov
6eff8c7b4b
JSFrameworkType: J2K
2017-07-24 19:53:52 +02:00
Dmitry Jemerov
57a501ebce
JSFrameworkType: rename to .kt
2017-07-24 19:53:52 +02:00
Pavel V. Talanov
8e3f8c4c14
Fix calling GSS.union for empty array
...
EA-104046
2017-07-24 18:56:19 +03:00
Pavel V. Talanov
d5ca46157a
Refactor: Make DependenciesCache and ScriptDependenciesUpdater services
...
Rename: DependenciesCache -> ScriptDependenciesCache
(makes sense to make name more specific since it is a service now)
2017-07-24 18:56:16 +03:00
Pavel V. Talanov
f1811e7f0e
Minor, more precise error message
2017-07-24 18:56:14 +03:00