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