Alexey Tsvetkov
eeb90656dc
Exclude generated IC tests from ant build
...
Generated tests depend on the annotations from the `tests-common` module.
Testing utils from test root of the `incremental-compilation-impl` module
are also used in Gradle tests, so the test root is built in the ant build too.
However building `tests-common` separately from the compiler is complicated,
so I decided to exclude generated tests from 'kotlin-build-common-test.jar'.
2017-08-29 02:24:38 +03:00
Alexey Tsvetkov
7ecf5abdc7
Add class hierarchy tests to JS and JVM IC tests
2017-08-29 02:24:38 +03:00
Alexey Tsvetkov
0a5fe3ef7c
Move JVM specific IC tests with class hierarchy changes
2017-08-29 02:24:38 +03:00
Alexey Tsvetkov
e16c5ddb97
Avoid using JVM only APIs in IC tests to reuse with JS
2017-08-29 02:24:38 +03:00
Alexey Tsvetkov
23bc907d3f
Move multi-module IC tests to separate dir
...
At the moment they are used only with JPS
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
166883d847
Move JVM specific IC test data to separate dir
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
7810da7018
Add IC compiler tests with Java
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
71e8f16906
Generate IC compiler tests instead of using parametrized runner
...
# Conflicts:
# compiler/incremental-compilation-impl/incremental-compilation-impl.iml
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
52b638ddb3
Throw exception if initial build has failed in IC tests
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
c7775b8d11
Write build info only on successful build
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
20551f6c99
Do not report error when JS IC is enabled and no source files is specified
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
bb1cba67b7
Implement JS IC
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
4aea9b349c
Refactor incremental services
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
356536d32b
Update inputs cache on rebuild
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
20b14d4121
Extract IncrementalJvmCompilerRunnerTest
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
6fedf07f56
Introduce ChangesCollector
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
d4d684a7f0
Introduce IncrementalCompilerRunner#makeServices
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
65529fa866
Introduce IncrementalCompilerRunner#markDirty
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
53d911ab99
Move IncrementalCompilerRunner to separate file
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
5ddc8d83bb
Move compileIncrementally to common IC
2017-08-29 02:24:37 +03:00
Alexey Tsvetkov
60f68266dd
Continue extracting common IC code
2017-08-29 02:24:36 +03:00
Alexey Tsvetkov
9727ec401b
Remove Target parameter from GeneratedFile
2017-08-29 02:24:36 +03:00
Alexey Tsvetkov
af73082fcc
Begin extracting common IC code
2017-08-29 02:24:36 +03:00
Alexey Tsvetkov
508d96836c
Remove compiledWithErrors param
...
`updateIncrementalCache` is not called when
code does not compile.
2017-08-29 02:24:36 +03:00
Alexey Tsvetkov
d1fd88fb8e
Minimize usage of TargetId in IC
2017-08-29 02:24:36 +03:00
Alexey Tsvetkov
a076b4614e
Refactor computeChanges
2017-08-29 02:24:36 +03:00
Alexey Tsvetkov
3ad5e78d77
Extract common caches
2017-08-29 02:24:36 +03:00
Toshiaki Kameyama
367b9f6664
"Redundant setter parameter type" range includes whole parameter declaration #KT-19648 Fixed ( #1267 )
2017-08-28 17:06:10 +02:00
Pavel V. Talanov
e3b7f6d698
Prevent multiple concurrent 'checkHideNonConfiguredNotifications' calls
2017-08-28 16:18:44 +03:00
Nicolay Mitropolsky
6953ae79e2
Fix for KtLightParameter and KtLightParameterList equality
2017-08-28 15:57:44 +03:00
Nicolay Mitropolsky
f8f5494d79
KotlinLightConstantExpressionEvaluator fix for processing Java-sourced annotation entry value
2017-08-28 15:55:57 +03:00
Dmitry Jemerov
ceae10f451
Update .iml
2017-08-28 12:03:45 +02:00
Dmitry Jemerov
1814f3172a
Fix compilation
2017-08-28 11:32:38 +02:00
Dmitry Jemerov
5b8e5fb9aa
Compile kotlin-gradle-tooling against JDK 6
2017-08-28 10:50:52 +02:00
Dmitry Jemerov
f07d4901ca
Reset kind for incorrectly imported libraries
...
#KT-19847 Fixed
2017-08-28 10:36:25 +02:00
Alexander Udalov
cdda5d39e5
Use ResolvedCall to generate callable reference receiver
...
This will be helpful in supporting KT-15667
2017-08-28 10:42:05 +03:00
Alexander Udalov
c420e2bfa5
Refactor FunctionReferenceGenerationStrategy
...
Draw a clear distinction between the referenced function's parameters
and the anonymous synthetic function's parameters (see the comment).
This will be useful in supporting advanced callable reference features
like KT-8834
2017-08-28 10:22:52 +03:00
Nikolas Havrikov
3d8b15d9db
Fixed trailing underscores in numeric literals ( #1264 )
...
This change prohibits such illegal numeric literals as 13_37_ or 0xCAFE_BABE_ (note the trailing underscore).
2017-08-26 16:07:35 +03:00
Alexander Udalov
fac207ce7c
Minor, improve error message in BuiltInDecompilerConsistencyTest
2017-08-25 15:40:40 +03:00
Alexander Udalov
38849893b6
Temporarily ignore some multiplatform IDE tests
2017-08-25 15:40:39 +03:00
Alexander Udalov
b87abc9f0f
Relax rules related to noinline/crossinline/reified in header/impl functions
...
See the comments in KT-18752 for the current resolution
#KT-15377 Fixed
#KT-18752 Fixed
2017-08-25 15:40:38 +03:00
Alexander Udalov
d1cff41ce0
Treat nested class of header class as header
...
Note that the quick fix to implement header class works incorrectly when
that class has nested classes at the moment; this should be fixed
separately
#KT-15494 Fixed
#KT-18573 Fixed
2017-08-25 15:40:37 +03:00
Alexander Udalov
56b507d141
Remove obsolete code from ModifiersChecker
...
Simplify existing code and move closer to usages
2017-08-25 15:40:37 +03:00
Alexander Udalov
3a2d93f73e
Do not report "header with no impl" on incorrect header
...
Descriptor for a 'header' member in a non-'header' class now has
isHeader = false
#KT-18442 Fixed
2017-08-25 15:40:36 +03:00
Alexander Udalov
6cb4916dee
Refactor and simplify PlatformHeaderAnnotator
2017-08-25 15:40:35 +03:00
Alexander Udalov
59c49675b0
Improve header-impl mismatch diagnostic rendering in IDE
...
Use HTML instead of text to render line breaks and lists correctly
2017-08-25 15:40:34 +03:00
Alexander Udalov
3bc8ca5913
Report "declaration should be marked with impl" when possible
...
Also support a quick fix to add 'impl' modifier (KT-18454), although it
doesn't work yet on classes because there's no error on them in the IDE
#KT-18087 Fixed
#KT-18452 Fixed
#KT-18454
2017-08-25 15:35:05 +03:00
Alexander Udalov
9ecd04f628
Improve diagnostics on header/impl classes when scopes don't match
...
Try to report most of the errors on the actual members of the impl
class. In many cases, there's a 1:1 mapping of header to impl class
members, so the error "some members are not implemented" on the class
declaration itself is redundant. Exceptions include functions/properties
from supertypes (there may be no other place to report a signature
mismatch error in this case), functions/properties not marked with
'impl' (the checker is only run for declarations explicitly marked with
'impl') and default constructors (the checker is not run for them)
#KT-18447 Fixed
2017-08-25 15:35:05 +03:00
Alexander Udalov
74ba0080b1
Improve header/impl mismatch diagnostic messages
...
Try to report most mismatch errors on the 'impl' declaration. Only
report a mismatch error on the 'header' declaration if no error would be
otherwise reported on any 'impl' declaration in the compilation unit.
Also render declaration kind in the message
#KT-18447 In Progress
2017-08-25 15:35:05 +03:00
Alexander Udalov
472959aca1
Improve rendering of modifiers in DescriptorRenderer
...
* Use bold font to render all modifiers
* Render 'external' according to the style guide, right after modality
2017-08-25 15:35:05 +03:00