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
Nikolay Krasko
03459eb808
Protect resolverByModuleDescriptor collection with storageManager lock
...
Read access from isResolverFromModuleDescriptorComputed was exposed through
DelegatingPackageFragmentProvider.
2018-03-16 16:40:38 +03:00
Nikolay Krasko
9145470f79
Minor: remove "JVM" constant usages in multi target platform
2018-03-16 16:40:38 +03:00
Nikolay Krasko
34569c2541
Minor: hasTopLevelCallables rename
2018-03-16 16:40:37 +03:00
Nikolay Krasko
14a0434737
Remove reference to binding context from LazyLightClassDataHolder cache
...
The ultimate goal is to remove references to binding context and resolve
result from light classes. There still can be references from `diagnostics`
field, but `bindingContext` is unneeded and can be removed.
Relates to snapshots from IDEA-187395.
2018-03-16 16:40:37 +03:00
Nikolay Krasko
481a5bc28d
Update JUnit3RunnerWithInners.java for Gradle 4.6 (KT-23292)
...
Update after "Executer -> Executor" rename
https://github.com/gradle/gradle/commit/3f1487e8006d0c606e3be25267a238427468917a
#KT-23292 Fixed
2018-03-16 16:40:37 +03:00
Yan Zhulanow
e2ed77354f
Pill: Update module structure, add missing modules metadata and metadata.jvm
2018-03-16 16:31:55 +03:00
Ilmir Usmanov
826d667398
Remove redundant locals
...
Do not transform already transformed suspend lambdas
Ignore duplicates of continuation in local variable table during redundant locals elimination.
2018-03-16 16:26:14 +03:00
Ilmir Usmanov
81f3e39f29
Do not generate ACONST_NULL as continuation of crossinline suspend lambda
2018-03-16 16:26:13 +03:00
Ilmir Usmanov
6b7173ba13
Forbid default inline/crossinline suspend parameters
2018-03-16 16:26:12 +03:00
Ilmir Usmanov
7224b99928
Add intention to remove suspend from parameter on suspend inline function
2018-03-16 16:26:11 +03:00
Ilmir Usmanov
6854135077
Support crossinline suspend lambda as parameter of inline function
...
Use fake continuation instead of ALOAD 0 while inlining
Do not generate state machine for inner lambdas and inner objects,
which capture crossinline suspend lambda.
#KT-19159: Fixed
2018-03-16 16:26:11 +03:00
Ilmir Usmanov
042ca55be7
Do not generate suspension points for crossinline lambdas
2018-03-16 16:26:10 +03:00