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
Evgeny Gerashchenko
aa9f7a73c9
Inline function changed – rebuild all chunk.
2014-07-07 17:41:36 +04:00
Evgeny Gerashchenko
6c8a9ba378
Basic detection for bytecode of inline functions in incremental compilation.
...
Basic rule is: bytecode of inline function changed -> recompile everything.
2014-07-07 17:41:35 +04:00
Evgeny Gerashchenko
1ce0e6cd3e
Added exceptions for proguard: constants are used in JPS plugin.
2014-06-24 22:19:12 +04:00
Evgeny Gerashchenko
8479ca76b0
Added clearing proto data in incremental cache.
2014-06-24 22:18:18 +04:00
Evgeny Gerashchenko
5c49eb0a54
Writing class names in proto map (to avoid ambiguities)
2014-06-24 22:18:17 +04:00
Evgeny Gerashchenko
fc7dceba5a
Clearing constants data when removing file.
2014-06-24 22:18:16 +04:00
Evgeny Gerashchenko
7742755de4
Minor. Correct map with expected size creation.
2014-06-24 22:18:11 +04:00
Evgeny Gerashchenko
27273deeda
Extracted package part map implementation to inner class.
2014-06-19 20:12:24 +04:00
Evgeny Gerashchenko
214c0fe4be
Extracted constants map implementation to inner class.
2014-06-19 20:12:24 +04:00
Evgeny Gerashchenko
4e00df1fb4
Extracted proto map implementation to inner class and simplified.
2014-06-19 20:12:23 +04:00
Evgeny Gerashchenko
e1f6fc55c5
Writing/reading constants map fully to avoid hash collisions.
2014-06-19 19:25:42 +04:00
Evgeny Gerashchenko
9f86441f95
Generalized method name.
2014-06-19 15:47:22 +04:00
Evgeny Gerashchenko
54f140e9e4
Minor cleanup
2014-06-19 14:53:13 +04:00
Evgeny Gerashchenko
219475be71
Processing all targets with removed files in chunk at once.
2014-06-19 14:49:16 +04:00
Evgeny Gerashchenko
aa41ae09ed
Merge remote-tracking branch 'origin/master' into incremental
2014-06-19 11:43:59 +04:00
Evgeny Gerashchenko
f6129732a2
Writing incrementalCache attribute to <modules> element of xml module script
2014-06-19 01:03:59 +04:00