Alexander Udalov
c57864e46c
Require "-Xuse-experimental=kotlin.Experimental" on usages of Experimental
...
Since we're not yet sure of the design of Experimental/UseExperimental,
we're making them "experimental" themselves in some sense, in that the
user is required to provide the magic argument
"-Xuse-experimental=kotlin.Experimental" to be allowed to use either
Experimental or UseExperimental. This is more convenient than the
previous approach of "-language-version 1.3
-Xskip-metadata-version-check" because it's simpler and does not cause
pre-release binaries to be produced
2018-05-04 13:48:24 +02:00
Alexander Udalov
2a61d42fc1
Refactor and simplify ExperimentalUsageChecker
2018-05-04 13:48:24 +02:00
Alexander Udalov
4f53a54115
Drop Experimental.Impact, simplify related code and tests
...
See https://github.com/Kotlin/KEEP/issues/95#issuecomment-383889404
Drop Experimental.changesMayBreak, Experimental.Impact, the concept of
signature/body usage, same module exemption. Make the majority of tests
single-module because there is now no difference in the checker between
usages from the same module or from another module
2018-05-04 13:48:24 +02:00
Alexander Udalov
1719eecb67
Minor, init slice debug names for FilesByFacadeFqNameIndexer
2018-05-04 13:48:24 +02:00
Mikhael Bogdanov
12ba1b002c
Refactor SharedVariablesManager: get rid of descriptors in API
2018-05-04 12:33:44 +02:00
Mikhael Bogdanov
f1c0db346a
Code clean
2018-05-04 12:33:35 +02:00
Sergey Rostov
9fafe0473c
jps (refactor): reimplement KotlinModuleBuildTarget data binding using CompileContext
2018-05-04 11:14:45 +03:00
Sergey Rostov
91b703d529
jps: common modules metadata compiler
...
(cherry picked from commit cde333d)
2018-05-04 11:05:13 +03:00
Sergey Rostov
41dcc9ad4d
jps: minor: refine kotlin.jps.model package
...
(cherry picked from commit 2a31e78)
2018-05-04 11:05:12 +03:00
Sergey Rostov
a390fc36e2
jps: Refactor module/project settings getters/setters
...
(cherry picked from commit d29ffa0)
2018-05-04 11:05:12 +03:00
Sergey Rostov
75e6be7802
jps(refactor): Extract platform related code
...
#KT-23656 Fixed
(cherry picked from commit 18a751d)
2018-05-04 11:05:12 +03:00
Ilya Chernikov
22439250e2
Use kts file extension instead of kt in tests...
...
since all "kt" files are now considered - definitely non-scripts
2018-05-03 22:15:10 +02:00
Ilya Chernikov
24e8e7c40d
Eliminate script dependencies queries for non-scripts
2018-05-03 22:15:10 +02:00
Ilya Chernikov
d4070cc4d7
Return null on directories in script definition wrappers for files
2018-05-03 22:15:10 +02:00
Ilya Chernikov
9eab7a627d
Add script API libs sources to the IDEA plugin
2018-05-03 22:15:10 +02:00
Alexander Udalov
64f5c2c9a3
Refactor and simplify AbstractCustomScriptCodegenTest
...
Remove copy-paste, use CodegenTestCase's infrastructure as much as
possible, use InTextDirectiveUtils instead of regexps
2018-05-03 22:15:10 +02:00
Alexander Udalov
c48bb9c981
Minor, drop unused parameter in CodegenTestCase, add testJdkKind
2018-05-03 22:15:10 +02:00
Ilya Chernikov
48cf0bd949
Fixes and refactorings after review
2018-05-03 22:15:10 +02:00
Ilya Chernikov
dff4be9e04
Implement script environment variables in backend, add simple test
2018-05-03 22:15:09 +02:00
Ilya Chernikov
a9600e34bf
Add test infrastructure for custom scripts testing, add receiver test
2018-05-03 22:15:09 +02:00
Ilya Chernikov
57db77a295
Refactor script infrastructure for easier usage and testability:
...
- add script annotation for specifying default configuration for a script
- add support for this annotation in the default configurator
- rename configurator accordingly
- add default implementation of the refineConfiguration method
- make property bag class open
2018-05-03 22:15:09 +02:00
Ilya Chernikov
516924cda1
Add support for script environment variables to the frontend
2018-05-03 22:15:09 +02:00
Ilya Chernikov
15f9ad9531
Implement quick non-script detection and lazy script discovery..
...
so ".kt" and ".java" files are not considered as scripts and quickly
filtered out, and for the other files the the checks are implemented
using sequences, mechanisms provided to supply script definitions
lazily, and script discovery is implemented using this mechanisms.
2018-05-03 22:15:09 +02:00
Ilya Chernikov
969340167f
Apply scripting plugin in gradle plugin by default
2018-05-03 22:15:09 +02:00
Ilya Chernikov
a29411a211
Process script templates everywhere properly:
...
- add options to disable scripting plugin and standard script definition
- move standard definition adding logic into appropriate place
- fix logic of scripting plugin loading
- add standard script definition on the environment creation to
ensure compatibility with all usages
- fix testdata
- some minor fixes
2018-05-03 22:15:09 +02:00
Toshiaki Kameyama
b5da48c566
Don't report suspicious callable reference on invoke with parameters
...
So #KT-23465 Fixed
2018-05-03 18:47:12 +03:00
Toshiaki Kameyama
13356d32fd
Redundant SAM-constructor: highlight nested class name with outer class
...
So #KT-11156 Fixed
2018-05-03 18:32:44 +03:00
Toshiaki Kameyama
204c68070a
Reformat RedundantSamConstructorInspection
2018-05-03 18:31:34 +03:00
Toshiaki Kameyama
c43311ba9a
Move to constructor: change default use-site target: property -> field
...
So #KT-23801 Fixed
2018-05-03 18:12:11 +03:00
Toshiaki Kameyama
012227dd73
Reformat MovePropertyToConstructorIntention
2018-05-03 18:11:23 +03:00
Toshiaki Kameyama
633679ac16
Preserve comments in "Remove variable" quick fix #KT-23753 Fixed
2018-05-03 18:09:22 +03:00
Alexey Tsvetkov
61edfaced5
Speed up pill
...
Pill runs 10x faster on my machine after the change
2018-05-03 18:03:18 +03:00
Toshiaki Kameyama
66d738848b
Convert foreach to for loop: place caret on the variable declaration
...
So #KT-7822 Fixed
2018-05-03 17:54:56 +03:00
Toshiaki Kameyama
3221fbdca9
Don't "Remove explicit type" for callable with function initializer
...
So #KT-12168 Fixed
2018-05-03 17:46:47 +03:00
Toshiaki Kameyama
5204c73bec
Quick-fix "use spread operator": make working with mapOf #KT-14556 Fixed
2018-05-03 17:11:33 +03:00
Toshiaki Kameyama
a7110a1517
Add intention to indent a raw string #KT-9943 Fixed
2018-05-03 17:05:14 +03:00
Alexander Udalov
a2d45062c2
Fix another non-determinism in CommonSupertypes
2018-05-03 16:02:49 +02:00
Mikhail Glukhikh
e07f83ddbc
"Redundant Unit" inspection: new tests, simplification & fixes
...
Related to KT-23977 and KT-24066
2018-05-03 16:12:20 +03:00
Toshiaki Kameyama
6e150d27f1
"Redundant Unit" inspection: fix for Unit returned as Any
...
So #KT-24066 Fixed
2018-05-03 16:12:19 +03:00
Toshiaki Kameyama
c44cab4565
"Redundant Unit" inspection: Fix for labeled return #KT-23977 Fixed
2018-05-03 16:12:19 +03:00
Mikhael Bogdanov
b4853d9293
Minor. Reformat
2018-05-03 12:04:47 +02:00
Mikhael Bogdanov
eefc49a617
Use symbols to find local declarations in codegen
2018-05-03 12:04:45 +02:00
Mikhael Bogdanov
f0e4420259
Don't recreate ir declarations to set body
2018-05-03 12:04:45 +02:00
Mikhael Bogdanov
35df7966cf
Use symbols in IrGet/SetValue in JvmSharedVariablesManager
2018-05-03 12:04:32 +02:00
Mikhael Bogdanov
bb6c837f6b
Use symbols in IrGet/SetValue in EnumClassLowering
2018-05-03 11:38:52 +02:00
Mikhael Bogdanov
5a2e62dd4f
Use symbols in IrGet/SetValue
2018-05-03 11:38:50 +02:00
Mikhael Bogdanov
077f3a4ed2
Minor. Reformat
2018-05-03 11:27:57 +02:00
Mikhael Bogdanov
ed44327569
Properly set parents in JvmLower
2018-05-03 11:23:57 +02:00
Mikhael Bogdanov
e793a7eea7
Use symbols in synthetic accessor to access accessor parameters
2018-05-03 11:23:56 +02:00
Mikhael Bogdanov
92e02e35fc
Convert FrameMap to Kotlin and extract base logic
2018-05-03 11:23:56 +02:00