Alexander Podkhalyuzin
7d72fe07bb
Fixed broken exception reporter
2018-03-21 12:25:32 +03:00
Mikhail Glukhikh
b739db3c35
Fix parameter handling in "Move suspicious reference into parentheses"
...
Related to KT-21743
2018-03-21 09:53:38 +03:00
Toshiaki Kameyama
fbd06dc74f
Fix "move suspicious reference into parentheses" for functional types
...
So #KT-21743 Fixed
2018-03-21 09:30:17 +03:00
Toshiaki Kameyama
3fbf85dc37
Add inspection to highlight unnecessary explicit companion references
...
So #KT-22971 Fixed
2018-03-21 09:15:48 +03:00
Zalim Bashorov
4c5913f5a3
Regenerate tests
2018-03-20 22:44:30 +03:00
Zalim Bashorov
68457a55a8
[JS IR BE] support more constructions:
...
* generate declaration for top level properties
* basic support for calls
* break
* continue
* throw
* generate declaration for local vals and vars
2018-03-20 22:44:29 +03:00
Zalim Bashorov
560e35174b
Minor: renames
...
IrElementToJsNodeTransformer -> BaseIrElementToJsNodeTransformer
IrFileTransformer -> IrFileToJsTransformer
IrModuleTransformer -> IrModuleToJsTransformer
2018-03-20 22:44:29 +03:00
Zalim Bashorov
87ee373205
Few improvements in test infrastructure:
...
* add the way to specify another compatible target for target backend.
It's used to generate a test for X_IR backend even when in a test data
is explicitly written a target: "// TARGET_BACKEND: X".
* Add the ability to run tests "ignored" with the "IGNORE_BACKEND" directive
as regular tests, i.e. w/o catching exceptions.
* Print stack trace of caught exception inside tests "ignored"
with the "IGNORE_BACKEND" directive.
2018-03-20 22:44:28 +03:00
Zalim Bashorov
f899394126
Regenerate tests
2018-03-20 22:44:28 +03:00
Zalim Bashorov
e0a070ff35
[JS IR BE] basic compiler
2018-03-20 22:44:27 +03:00
Zalim Bashorov
4404c6dd2c
Run JS box tests for JS IR BE
2018-03-20 22:44:26 +03:00
Zalim Bashorov
bef7b5389b
Create ir/backend.js module with dummy compiler
2018-03-20 22:44:26 +03:00
Zalim Bashorov
f820b3eadd
Fix exception from PathManager.getHomePath with message "Could not find installation home path"
2018-03-20 22:44:25 +03:00
Zalim Bashorov
44d5d0da7e
Rid of most of the usage of JsConfig in TopDownAnalyzerFacadeForJS
2018-03-20 22:44:25 +03:00
Vyacheslav Gerasimov
66eaa34bdb
Build: Put local repositories to the top of repositories block
2018-03-20 20:57:13 +03:00
Vyacheslav Gerasimov
40a765819a
Remove unused versions.intellij-plugin property
2018-03-20 20:44:20 +03:00
Vyacheslav Gerasimov
f55d137790
Upgrade shadow plugin to 2.0.2
...
Fixes warning 'Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.'
2018-03-20 20:44:20 +03:00
Toshiaki Kameyama
9d6b36c249
KT-20282 'Move statement up' works incorrectly for statement after 'finally' block if 'try' block contains closure
2018-03-20 20:39:17 +03:00
Alexey Belkov
d3b1b7a5be
Minor: fix assertion
2018-03-20 20:39:17 +03:00
Yan Zhulanow
793a05106c
Minor: Remove old 'buildLexer.xml' path from ant.xml
2018-03-20 16:22:52 +03:00
Denis Zharkov
d8538db719
Avoid retaining whole KotlinClassHeader in IDEKotlinBinaryClassCache
...
Before this change there was a retention chain
VirtualFile -> KotlinBinaryData -> KotlinBinaryHeaderData -> KotlinClassHeader
The latter one contains all binary metadata (a lot of String[])
while only a small part of it is used.
The used parts are moved straight to KotlinBinaryClassHeaderData
in this change.
#KT-19484 Fixed
2018-03-20 10:46:13 +03:00
Ilya Chernikov
dca7323627
[minor] fix asm sources connection
2018-03-19 17:17:10 +01:00
Alexey Tsvetkov
6ab96c1d7d
Set up idea.home.path in :incremental-compilation-impl
...
To avoid warnings in stderr
2018-03-19 18:04:33 +03:00
Alexey Tsvetkov
2584143e92
Report correct source to output mapping for kjsm files
...
Now IC can correctly remove kjsm files when source files are changed
2018-03-19 18:04:33 +03:00
Alexey Tsvetkov
ea09f4caf6
Remove all kjsm files before writing new ones
2018-03-19 18:04:33 +03:00
Alexey Tsvetkov
a3feb77193
Compare diverged .meta.js files in a human readable way
2018-03-19 18:04:33 +03:00
Alexey Tsvetkov
1cd2abf76f
Fix comparing directories after IC test
...
A directory-after-rebuild should correspond to expectedDir parameter,
a directory-after-IC should correspond to actualDir parameter.
Also we should not forgive extra directories.
2018-03-19 18:04:33 +03:00
Alexey Tsvetkov
d95abf2234
Generate meta info in JS IC tests
2018-03-19 18:04:33 +03:00
Alexey Tsvetkov
1d87aaf3d6
Avoid serializing JS metadata twice per compilation
2018-03-19 18:04:33 +03:00
Alexey Tsvetkov
ebb774b0ee
Sort package fragments by fq-name for JS serialization
2018-03-19 18:04:33 +03:00
Alexey Tsvetkov
1fd0e5e50c
Optimize serializing JS metadata
...
This makes JS IC tests twice as fast
2018-03-19 18:04:33 +03:00
Alexey Tsvetkov
89275410a6
Avoid reading JS libraries twice per compilation
2018-03-19 18:04:33 +03:00
Alexey Tsvetkov
ba60ca468c
Improve JS inliner performance
2018-03-19 18:04:32 +03:00
Ilya Chernikov
0e5c5af727
Add asm sources into idea sdk sources on the sdk preparation
...
restores navigation to asm sources in idea.
The asm sources could not be added separately, due to the gradle issue
https://issues.gradle.org/browse/GRADLE-3210
2018-03-19 15:47:19 +01:00
Alexey Tsvetkov
30d0cc3a34
Ensure all output directories are cleared on IC rebuild
...
In some cases IC needs to perform a rebuild.
Before this change IC was not clearing output directories
besides destination dir for classes, so for example
kapt stubs were not cleared.
Stalled stubs might lead to compile errors.
For example:
1. foo/XGen.java is generated from annotated class foo/X (XGen also
references X).
2. foo/X is moved to bar/X and some other change forces IC to rebuild.
3. kapt generates bar/X stub, but foo/X stub
was not removed because stubs dir is not cleared.
4. kapt runs annotation processors, foo/XGen.java is generated from
foo/X stub, bar/XGen.java is generated from bar/X stub.
5. kotlinc rebuilds. Since destination dir is cleared properly,
only bar/X.class exists.
6. javac tries to compile foo/XGen and fails, because it
compiles against actual Kotlin classes, not stubs.
This commit fixes the issue by passing all output directories
of a task from Gradle to Kotlin IC.
#KT-21735 fixed
2018-03-19 17:39:47 +03:00
Alexey Tsvetkov
afce075dc8
Fix unresolved references in kotlin-gradle-plugin in Idea
2018-03-19 17:39:47 +03:00
Ilya Chernikov
d6792f5f52
Implement support for additional compiler arguments for scripts in IDE
...
fixes #KT-19120
2018-03-19 11:45:10 +01:00
Ilya Chernikov
643e81f0ae
Refactor language feature settings processing for exposing it outside of the CLI compiler
2018-03-19 11:45:09 +01:00
Natalia Selezneva
58edab37c1
Add test for fatal severity in scripts
2018-03-19 09:41:38 +03:00
Natalia Selezneva
f957b3072b
Add FATAL severity to ScriptExternalHighlightingPass
2018-03-17 00:28:34 +03:00
Natalia Selezneva
dcea9d0cd5
Add FATAL severity to script dependencies resolve result
2018-03-17 00:23:57 +03:00
Natalia Selezneva
82481b48c4
Restore old package for ScriptTemplatesProvider.
...
Note that this is EP used in another plugins (ex. LivePlugin https://plugins.jetbrains.com/plugin/7282-liveplugin )
2018-03-17 00:21:32 +03:00
Natalia Selezneva
1f75eaed9a
Don't highlight gradle scripts during gradle import.
...
Show warning on the top panel for these files
2018-03-17 00:21:25 +03:00
Natalia Selezneva
5f1118e820
Don't highlight scripts if resolver returns Failure.
...
Note that we don't highlight script when ScriptDependenciesFileAttribute is not set.
2018-03-17 00:21:17 +03:00
Natalia Selezneva
4b4acfee2c
Scripts: display errors from external resolver in panel if text range is empty
2018-03-17 00:21:10 +03:00
Natalia Selezneva
26a4b67fa3
Introduce default ScriptTemplate for Gradle scripts
...
^KT-23228 Fixed
2018-03-17 00:21:02 +03:00
Natalia Selezneva
9f02664351
Minor: reformat
2018-03-17 00:20:55 +03:00
Vyacheslav Gerasimov
042873fa2c
Build: add maven.repository.mirror property
...
May be used to add additional repository to all projects
(cherry picked from commit d8407b9)
2018-03-16 20:07:31 +03:00
Nikolay Krasko
79d9ea6716
Check module is from given set of modules before passing it to callbacks
...
`module` variable is fetched from `moduleInfoByDescriptor`, and this map
is filled in `createModuleDescriptor`, witch is called in
`doGetDescriptorForModule` only for modules from the given set.
2018-03-16 18:19:52 +03:00
Nikolay Krasko
7f501e3a78
Minor: document fields usages in ResolverForProjectImpl
2018-03-16 18:03:21 +03:00