Alexander Udalov
d12e5ddafc
Generate bytecode for array intrinsics manually
...
#KT-28285 Fixed
2019-03-11 18:36:10 +01:00
Ilya Chernikov
731df8d3cc
Proper handling of the scripting compiler plugin in JSR-223 with daemon
2019-02-10 13:33:21 +01:00
Sergey Rostov
0f2fb4ff82
Build: remove intellijCore/annotations.jar usages
2019-01-28 13:43:08 +03:00
Ilya Chernikov
8529ed314c
[minor] fix compilation - avoid proguarding of addToStdLib.kt
2018-12-20 17:09:20 +01:00
Mikhael Bogdanov
87d99907f6
Remove redundant proguard option
...
Removed option is covered by
-keep class org.jetbrains.org.objectweb.asm.Opcodes { *; }
2018-12-20 12:55:09 +01:00
Yan Zhulanow
9498eb8d4d
Kapt: Preserve 'getJarPathForClass()' (used in kapt-cli)
2018-12-12 21:40:43 +09:00
Alexey Tsvetkov
7c767e0789
Exclude InsnList from proguard
...
It is used by jvm-abi-gen plugin
2018-12-12 02:52:07 +03:00
Yan Zhulanow
9bc02279c4
Kapt: Fix Maven build, add 'getJarPathForClass()' to the ProGuard configuration
2018-11-28 02:25:34 +09:00
Vyacheslav Gerasimov
e41f468bd8
Update compiler.pro for 183 platform
2018-08-06 15:08:03 +03:00
Vyacheslav Gerasimov
ec276a07cb
Add keep rule to compiler.pro for org.jdom.output.XMLOutputter
...
Without this class PluginManagerCore.loadDescriptorFromJar fails
2018-08-02 18:17:08 +03:00
Vyacheslav Gerasimov
0103c0d2fd
Switch to 182 platform
2018-08-02 18:17:06 +03:00
Yan Zhulanow
3ecf355e7a
Kapt: Leave getBasePath() in ProGuard-ed kotlinc
2018-06-08 19:37:19 +03:00
Dmitry Savvinov
da7b59984f
Move importsDumper to compiler plugin
2018-05-28 13:02:48 +03:00
Alexey Sedunov
909ff3a7ec
Misc: Migrate to IDEA 181.3
2018-05-23 16:39:20 +03:00
Dmitry Savvinov
70622ff668
Introduce -Xoutput-imports mode of JVM compiler
...
In this mode, instead of analyzing files and generating bytecode for
them, compiler just saves imports of each file in JSON map of form
'<path to file> -> [<import1>, <import2>, ...]'
It is needed for some external tools, notably for Google3 toolchain.
2018-05-15 15:36:14 +03:00
Ilya Chernikov
c74924fb8c
Fix lz4 dependency...
...
after snappy was replaced by lz4 in the platform (see the previous commit
with related test for the more info)
2018-05-12 19:02:04 +02:00
Mikhael Bogdanov
99284316d6
Don't shrink psi utils class
...
Shrinker removes all unused private methods
that could be reified inline functions
#KT-23402 Fixed
2018-05-07 12:19:09 +02:00
Ilya Chernikov
ccecc90130
Fix some kapt tests:
...
some implicit usage of Project.getBasePath, which kapt depends on,
was removed from the scripting, and therefore proguard was removing
it from the compiler. This commit instructs proguard to keep it
explicitly.
2018-04-06 08:53:31 +02:00
Vyacheslav Gerasimov
361e8e065c
Remove unused xpp3 & xstream from IntellijCoreDependencies
...
They are 'fatjared' into kotlin-compiler but proguard removes them from resulting jar afterwards
2018-03-13 17:50:15 +03:00
Simon Ogorodnik
7da9268e10
Fix proguard settings for 173 (ignore com.intellij.util.io.TarUtil)
2018-01-12 13:53:16 +03:00
Ilya Chernikov
5284db8088
Add compiler proguard rule for keeping ProgressManager used in webdemo
2017-10-19 13:55:00 +02:00
Ilya Chernikov
3aabeca191
Fix maven and android tests after modularizing and rebasing
2017-09-20 11:51:21 +02:00
Ilya Chernikov
fd1b677904
Switch reflect to compiled core classes
2017-09-19 23:58:32 +02:00
Ilya Chernikov
f053ed968f
Change core env and proguard config for compatibility with new gradle build
...
(the build.xml should be modified to support the proguard config in this form)
2017-09-19 21:37:08 +02:00
Nikolay Krasko
c2b54c3e8a
Ignore absent net.jpountz.lz4.LZ4Factory in proguard
2017-08-10 22:05:48 +03:00
Dmitry Jemerov
548e86285c
Fix 'ant dist' build against 172 branch
2017-08-10 22:05:46 +03:00
Mikhail Glukhikh
0e4089ef8e
Keep coroutines classes in ProGuard #KT-19433 In Progress
2017-08-03 12:25:11 +03:00
Yan Zhulanow
c23bca6afe
Parcelable: Add Parcelable functionality to Android Extensions plugin
2017-07-26 20:19:15 +03:00
Alexander Udalov
593f98190d
Keep .txt and .caps files in compiler.pro
...
Files like org/jline/utils/capabilities.txt are needed for jline to
function correctly
#KT-19237 Fixed
2017-07-26 11:45:23 +03:00
Alexander Udalov
f313001b2d
Update to jline 3.3.1 and jansi 1.16
...
Note that the history file name was changed (.kotlin_history ->
.kotlinc_history) because the history is now stored in a different
(incompatible) format.
#KT-11369 Fixed
2017-07-25 11:10:45 +03:00
baratynskiy
5eea3b6569
Introduce experimental -Xuse-javac compilation mode
...
In this mode, javac AST and Symbol files are used during
Kotlin compilation instead of PSI / binary stuff.
Later, they are reused for Java file compilation.
javac in this mode is integrated into kotlinc.
2017-05-17 17:48:17 +03:00
Zalim Bashorov
29e7bcce65
Add explicitly the proguard rule to save JAXPParserFactory#createParser
...
And remove obsolete rules.
2017-04-19 20:18:21 +03:00
Ilya Chernikov
c91a3f8bf0
Add sam-with-receiver and source-sections compiler plugins to maven
...
rename source-sections compiler plugin jar in the dist (add kotlin- prefix),
according to the agreed naming scheme for the artefacts. (The renaming of the
other plugins should follow.)
in addition configure proguard to retain VirtualFile members, since they
are used in the source-sections plugin
2017-04-19 15:22:15 +02:00
Denis Zharkov
5e449fdc02
Optimize control-flow analysis by use of persistent maps
...
The case that it's worth to optimize is functions
with a lot of variables.
After debugging it's recovered that control-flow works nearly
O(n * m) where n is pseudocode size and m is a number of variables:
the algorithm performs O(n) copies of hashmap of size O(m)
Persistent maps should help because we don't need to perform a
copy of them, so the expected performance after the change is applied
is O(n log m)
We've tried pcollections and javaslang, and the latter one has demonstrated
better results
See results before and after optimizations
before:
https://github.com/dzharkov/kotlin-compiler-benchmarks/blob/3da7ba45a704969653d70b50995f730e968540d8/reports/benchmarks-many-vars-2017-03-14.txt
after with pcollections:
https://github.com/dzharkov/kotlin-compiler-benchmarks/blob/3da7ba45a704969653d70b50995f730e968540d8/reports/benchmarks-many-vars-persistent-optimizations-2017-03-17.txt
after with javaslang:
https://github.com/dzharkov/kotlin-compiler-benchmarks/blob/d22a871b175b291fb337b51ef6465ba70bbfd96c/reports/benchmarks-many-vars-javaslang-2017-04-07.txt
2017-04-11 11:26:11 +03:00
Yan Zhulanow
bb0a46ac17
Kapt3: Ignore inner classes with clashing names (KT-16458)
...
Ignore classes (and references to such classes in declaration signatures) if one of the containing classes has the same simple name. This is forbidden in Java, thus should not be present in kapt source stubs.
2017-03-22 22:02:30 +03:00
Alexander Udalov
7dfa3bea18
Update tools & libraries projects to use JDK 8 when needed
2017-03-21 17:45:53 +03:00
Alexander Udalov
d4500878cb
Do not strip some classes from xercesImpl.jar in compiler.pro
...
Note that with this config, the kotlin-compiler.jar's size is increased
by 1.5Mb
#KT-16968 Fixed
2017-03-21 13:03:19 +03:00
Dmitry Jemerov
3a8cf68541
Keep class file version during shrinking; generate Java 8 bytecode
...
sometimes
2017-03-20 18:45:59 +01:00
Dmitry Jemerov
4cae0538a8
Don't warn about ElementTraversal
...
IDEA now (since commit 6ff87c6) uses this class to build classpath
for Xerces, and we don't use Xerces
2017-03-20 18:45:59 +01:00
Alexey Tsvetkov
6d958eb32b
Fix dist by ignoring some library classes during compiler shrinking
2017-03-20 18:45:20 +01:00
Alexey Tsvetkov
470a7706aa
Fix build
2017-01-26 15:49:40 +03:00
Yan Zhulanow
bd9d33fe44
Kapt3: Replace kapt2 in Ant and Maven artifacts with kapt3
2016-12-05 19:57:34 +03:00
Alexander Udalov
be8b1b7dfd
Exclude org.jetbrains.kotlin.container.** from proguard
...
To mitigate #KT-14824
2016-11-16 19:07:03 +03:00
Dmitry Jemerov
ab0af43a6a
Update proguard file for compatibility with new Snappy version in IDEA 162-SNAPSHOT
2016-11-11 18:15:29 +01:00
Ilya Chernikov
846797ff61
Switch to templates in the separate script runtime
2016-10-12 15:38:52 +02:00
Nikolay Krasko
06a0ebe352
No jsr166e.jar anymore in br146
2016-09-20 15:10:35 +03:00
Yan Zhulanow
407af3a0e5
Kapt: Gradle plugin for the new kapt
...
(cherry picked from commit f4fc8f1)
2016-08-29 16:31:16 +03:00
Nikolay Krasko
d9b116c6d6
Remove net/sf/cglib/ classes from Kotlin compiler (KT-13565)
...
(cherry picked from commit eb160a2)
#KT-13565 Fixed
2016-08-25 15:35:10 +03:00
Alexander Udalov
7e38b93d80
Use protobuf with renamed packages, pack to IDEA plugin
...
Update GenerateProtoBuf.kt to also regexp-replace com.google.protobuf with
org.jetbrains.kotlin.protobuf in generated Java sources
#KT-12581 Fixed
2016-06-14 14:17:22 +03:00
Alexey Tsvetkov
5fead88ced
Shade in kotlin-android-extensions
2016-06-07 14:42:39 +03:00