Evgeny Gerashchenko
d126a9711c
KT-6409 Do not create empty PersistentHashMap instances for modules without kotlin files during build
...
#KT-6409 fixed
2014-12-10 14:28:21 +03:00
Evgeny Gerashchenko
bf150c8dde
Disabling Kotlin builder on Android Studio only for Java.
2014-12-08 17:30:40 +03:00
Evgeny Gerashchenko
7c1bc432db
Removed reflection-based hack for IDEA 12.
2014-12-08 17:30:40 +03:00
Evgeny Gerashchenko
6bf0c9f4ae
Updating Kotlin incremental caches and Java mappings only for Java modules.
2014-11-12 17:56:48 +03:00
Evgeny Gerashchenko
ab09ffa4a4
Minor. Renamed property for disambiguation.
2014-11-12 16:25:02 +03:00
Evgeny Gerashchenko
1a374efcd1
Fixed KNPE when inline functions/constants are completely removed.
2014-11-12 16:25:01 +03:00
Nikolay Krasko
c242665cd3
Extract isCompatibleAbiVersion from kinds enum and store read kinds even for incompatible version
2014-11-11 17:33:13 +03:00
Evgeny Gerashchenko
d72f31de61
Updating Java mappings only for incremental mode.
...
Avoiding executing this code on TeamCity, which fails on TeamCity 8.x
2014-11-07 14:52:05 +03:00
Evgeny Gerashchenko
e51296b047
Extracted function which creates compiler environment.
2014-11-07 14:52:04 +03:00
Evgeny Gerashchenko
a840e4d122
Extracted functions which update incremental caches, etc
2014-11-07 14:52:04 +03:00
Evgeny Gerashchenko
a797f82ce2
Extracted methods compiling to JS and JVM in KotlinBuilder.
2014-11-07 14:52:03 +03:00
Evgeny Gerashchenko
97b516a600
Improved output dir checking in KotlinBuilder.
...
Output dir for representative target is necessary only for JS part: moved there.
2014-11-07 14:52:02 +03:00
Evgeny Gerashchenko
70331e3b82
Initial support for kotlin-java interop in incremental compilation.
2014-11-07 14:51:53 +03:00
Evgeny Gerashchenko
3011bdb7d7
Aborting compilation on errors (don't try to compile Java after it).
2014-11-07 14:51:52 +03:00
Evgeny Gerashchenko
4cf7b9e20c
Minor. More correct constants processing. If class without constants is added, it doesn't mean directly that others should be recompiled. Anyway, this mistake didn't lead to any bug: proto change would be detected anyway.
2014-11-07 14:51:51 +03:00
Evgeny Gerashchenko
954a011721
Added incremental cache format versioning.
2014-10-16 22:01:45 +04:00
Evgeny Gerashchenko
75853e3aad
Saving only class files into incremental cache.
...
Fixed exception for JS modules.
2014-10-10 16:24:03 +04:00
Alexander Udalov
c57441b51b
Use '$' instead of '-' in package part class names
...
Otherwise some tools break (e.g. CheckMethodAdapter in ASM, used in generic
signature writer) because they expect class names to be Java identifiers.
Some tests fixed, some will be fixed in future commits
2014-09-26 10:22:20 +04:00
Evgeny Gerashchenko
cb58d19e29
Minor. Clarified "compiled file" as "file to compile".
2014-09-24 16:31:48 +04:00
Evgeny Gerashchenko
060796997e
Fixed clearing incremental cache for removed source files.
...
For writing system-dependent paths were used, for deleting were system-independent. That's why cache was not cleared on Windows.
2014-09-24 16:31:48 +04:00
Evgeny Gerashchenko
9af1c3e4dc
Added automatic backup for debugging incremental compilation.
2014-09-24 16:31:47 +04:00
Evgeny Gerashchenko
853def0a10
Not clearing incremental cache on compilation error.
2014-09-18 16:50:20 +04:00
Alexander Udalov
1905401273
Move ClassId to module descriptors, closer to other names
2014-09-16 11:36:39 +04:00
Alexander Udalov
7595e32bb6
Use ClassId instead of JvmClassName in KotlinJvmBinaryClass
...
ClassId contains exact information about origin of the class (e.g. if '$' in
the class name denotes nested classes separator or just a character in the
name)
2014-09-15 19:30:51 +04:00
Alexander Udalov
1f8b2cef52
Read InnerClasses attribute value in FileBasedKotlinClass
...
Resolve names mentioned in class declarations based on this information
2014-09-15 19:30:51 +04:00
Alexander Udalov
9648c50ac9
Minor, refactor FileBasedKotlinClass factory method
2014-09-15 19:30:51 +04:00
Alexander Udalov
fa39bf03a0
Extract abstract FileBasedKotlinClass out of VirtualFileKotlinClass
...
Add another implementation of FileBasedKotlinClass which was indirectly used in
jps-plugin (LocalFileKotlinClass)
2014-09-15 19:30:51 +04:00
Evgeny Gerashchenko
3226093fa6
Fixed redeclaration from incremental compilation. Added workaround for JPS bug.
2014-08-29 16:31:29 +04:00
Evgeny Gerashchenko
76864a3eb0
Minor. Clearer logic.
2014-08-29 16:31:29 +04:00
Evgeny Gerashchenko
eae49e23d4
Fixed compilation.
2014-08-27 16:41:36 +04:00
Evgeny Gerashchenko
75ffc0f5ff
Converted KotlinBuilder from Java to Kotlin
2014-08-27 16:35:06 +04:00
Alexander Udalov
994348b0ca
Remove dependency on Maps from jps-plugin
...
It seems that there's no Guava in the classpath formed for JPS plugins
#KT-5676 Fixed
2014-08-25 12:36:26 +04:00
Evgeny Gerashchenko
56fd9cec7a
Minor. Renamed and cleaned CompilerServices -> Services.
2014-08-20 14:29:03 +04:00
Evgeny Gerashchenko
487f381287
Minor. Renamed and cleaned CompilerServices -> Services.
2014-08-20 13:46:31 +04:00
Evgeny Gerashchenko
fe27b2264a
Passing condition to prefer parent class loader as a parameter to preloader.
2014-08-20 13:46:30 +04:00
Evgeny Gerashchenko
f3b7ae379f
Passing services via type-safe container instead of map.
2014-08-20 13:46:30 +04:00
Evgeny Gerashchenko
184ddbc9e1
Removed passing incremental cache base dir via module script.
2014-08-20 13:46:29 +04:00
Evgeny Gerashchenko
cbf8af2e88
Made compiler report source to output mapping when invoked from JPS.
2014-08-20 13:46:28 +04:00
Evgeny Gerashchenko
6dd56a08bd
Removed storing module ids in incremental caches.
2014-08-20 13:46:28 +04:00
Evgeny Gerashchenko
3233317316
Passing class loader instead of factory to compiler.
2014-08-20 13:46:27 +04:00
Evgeny Gerashchenko
e419c1a604
Moved incremental cache API to separate package.
2014-08-20 13:46:27 +04:00
Evgeny Gerashchenko
5fade9a5a6
Made incremental cache per-module.
...
Reused IDEA framework which manages per-module storage.
2014-08-20 13:46:26 +04:00
Evgeny Gerashchenko
a4bbe2486c
Fixed collecting source files for multiple modules in incremental compilation.
...
Error led to analyzing same file twice.
2014-08-04 13:38:37 +04:00
Evgeny Gerashchenko
7e6b05554e
Always closing IncrementalCache after using. Fixed KannotatorJpsTest.
2014-07-22 21:18:16 +04:00
Evgeny Gerashchenko
829c25bcf9
Not writing compiler script path when in JPS plugin output.
...
XML script is removed after JPS plugin session anyway, so it's usually hard to check its contents. Also, it is redundant since -printArgs will write it anyway, so there is still possibility to debug.
2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko
40703c125c
Made it possible to run incremental compiler from IDEA.
...
Two guava functions used were replaced with custom tiny functions, because JPS plugin won't have guava in classpath.
2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko
7212597e61
Optimized KotlinBuilder for targets without Kotlin. Checking dirty/removed files only.
2014-07-10 15:05:19 +04:00
Evgeny Gerashchenko
42cba1cc3c
Ignoring not static final fields.
...
Added tests with class object of trait and val inside object.
2014-07-07 17:41:39 +04:00
Evgeny Gerashchenko
aa9384a207
Made constants and inline functions maps class-file based. Otherwise data for different class files was overwritten: e.g. several classes in file, class and top-level callables in one source file.
...
Extracted superclass with common parts.
2014-07-07 17:41:39 +04:00
Evgeny Gerashchenko
2ac351928e
Minor. Renamed parameter and corresponding variable.
2014-07-07 17:41:37 +04:00