Commit Graph

326 Commits

Author SHA1 Message Date
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