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
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