Alexander Udalov
46fa5cfae0
Add dependency on compiler dist from jps-tests
...
Otherwise, because there's no explicit dependency and the JPS plugin
loads the compiler from dist, the compiler jar is not rebuilt between
changes in compiler code and running jps-tests
2017-12-14 11:37:56 +01:00
Yan Zhulanow
5116f598df
Kapt: Fix error message when no annotation processors were found (KT-21729)
...
Error message says "androidProcessor", it should be "annotationProcessor"
2017-12-14 19:28:51 +09:00
Denis Zharkov
f7ccc4144c
Update bootstrap to 1.2.20-dev-732
2017-12-14 11:11:23 +03:00
Dmitry Petrov
1aab4e643c
Add overflow-related tests for 'reversed'
2017-12-14 10:41:51 +03:00
Dmitry Petrov
65b5cdbb8d
Maintain bounds evaluation order in intrinsics for 'reversed'
...
Makes sense for 'rangeTo', 'downTo', and 'until' with non-const bounds.
2017-12-14 10:41:51 +03:00
Dmitry Petrov
9fa9a8748b
Check that qualified const expressions are recognized properly in 'for'
2017-12-14 10:41:51 +03:00
Dmitry Petrov
bf97b332cf
Support const-bounded for loop generation for reversed 'until'
2017-12-14 10:41:51 +03:00
Dmitry Petrov
54cceac99b
Intrinsics for 'reversed': until
2017-12-14 10:41:51 +03:00
Dmitry Petrov
5f7460a8c7
Support const-bound counter loop generation for 'downTo'
2017-12-14 10:41:51 +03:00
Dmitry Petrov
2f0df832c0
Minor: pull up helper methods for const-bounded for-in-range generation
2017-12-14 10:41:51 +03:00
Dmitry Petrov
a4c29b3587
Support Long and Char in const-bounded counter loop generation
...
If the loop end value is a compile-time constant (best we can do now),
and it is safe to iterate over a given range using "naive" for loop
(using '<=' or '>=' in loop condition),
generate such loops for Longs and Chars as well Ints (Bytes, Shorts).
2017-12-14 10:41:51 +03:00
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