Commit Graph

19359 Commits

Author SHA1 Message Date
baratynskiy 4f180e1292 javac-wrapper: identifier resolver 2017-08-29 18:01:36 +03:00
baratynskiy 01883a41cb javac-wrapper: refactoring, fixes and tests 2017-08-29 18:01:36 +03:00
baratynskiy 8494e54608 javac-wrapper: -Xuse-javac -> -Xuse-javac and -Xcompile-java 2017-08-29 18:01:36 +03:00
Nicolay Mitropolsky 108a40261b KtLightAnnotationForSourceEntry fix for reading unnamed java-annotation parameter 2017-08-29 17:32:07 +03:00
Alexey Tsvetkov ac3beabf43 Update 'idea.plugins.compatible.build' in KotlinCoreEnvironment
When compiler test was run before Intellij tests,
KotlinCoreEnvironment set the 'idea.plugins.compatible.build'
system property to '171.9999', which then prevented
Kotlin plugin from loading in Intellij tests (so all these tests failed),
because Kotlin plugin has 'sinceBuild' set to '172.1'.
2017-08-29 04:28:10 +03:00
Alexey Tsvetkov cb1ffdccd7 Add test where unused file is removed 2017-08-29 04:28:10 +03:00
Alexey Tsvetkov 66a77c7ec2 Fix Gradle IC cache version checking 2017-08-29 04:28:09 +03:00
Alexey Tsvetkov cf72b14b34 Fix typo in test name 2017-08-29 04:28:08 +03:00
Alexey Tsvetkov 141c889a84 Make test case more useful 2017-08-29 04:28:08 +03:00
Alexey Tsvetkov 5f9bad5905 Add JS specific build logs to inline properties IC tests
Unlike the JVM target platform, the JS back-end does
not track getters' and setters' usages separately,
so when either accessor of some property is changed,
all usages of that property will be rebuilt.
2017-08-29 04:28:07 +03:00
Alexey Tsvetkov 73b63bb343 Refactor inline properties tests 2017-08-29 04:28:07 +03:00
Alexey Tsvetkov 44e8ae3571 JS IC: detect inline function changes 2017-08-29 04:28:07 +03:00
Alexey Tsvetkov b73d5cbe1f Mock constant search in JPS tests 2017-08-29 04:28:06 +03:00
Alexey Tsvetkov 2312013c41 Move JVM specific IC tests to separate dir 2017-08-29 04:28:06 +03:00
Alexey Tsvetkov 66cb45c202 Minor: replace forEach with filterTo 2017-08-29 04:28:05 +03:00
Alexey Tsvetkov dbe3baf740 Minor: mark calculateSourcesToCompile abstract 2017-08-29 04:28:04 +03:00
Alexey Tsvetkov 919daefb0e Rename IncrementalCacheImpl->IncrementalJvmCache 2017-08-29 04:28:04 +03:00
Alexey Tsvetkov 093bbc069a Fix typo destonationDir->destinationDir 2017-08-29 04:28:04 +03:00
Alexey Tsvetkov 1c4ada2008 Fix searching serialized classes package contains multiple fragments 2017-08-29 04:28:03 +03:00
Alexey Tsvetkov b54414d628 Implement Gradle JS IC support
#KT-19956 fixed

To try the experimental JS IC add
'kotlin.incremental.js = true' to a 'local.properties'
or 'gradle.properties' file in Gradle project's root.
2017-08-29 04:23:02 +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 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 3ad5e78d77 Extract common caches 2017-08-29 02:24:36 +03:00
Nicolay Mitropolsky 6953ae79e2 Fix for KtLightParameter and KtLightParameterList equality 2017-08-28 15:57:44 +03: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
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