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
Alexander Udalov
a300dee61f
Keep Native2AsciiCharsetProvider from being stripped by proguard
...
#KT-12549 Fixed
2016-05-31 14:28:25 +03:00
Nikolay Krasko
8325c1a2df
Setup proguard rules for new xstream library
2016-04-05 00:39:46 +03:00
Nikolay Krasko
31484784bb
Suppress warnings from PsiClassUtil for findModulesWithClass method
2016-04-05 00:39:46 +03:00
Nikolay Krasko
aa6def5b86
Suppress warnings from SVGLoader
2016-04-05 00:39:46 +03:00
Ilya Chernikov
b470bdda23
Class added to proguard - was missing in gradle plugin when incremental compilation is on
...
KT-8487
2016-03-03 16:45:18 +03:00
Ilya Chernikov
ebae665b78
Adding missing keep statement to proguard config
...
KT-8487
2016-03-03 16:45:13 +03:00
Alexander Udalov
70e847b794
Reimplement generation of intrinsic array constructors
...
Instead of relying on a class from the runtime (which thus cannot be deleted
from the runtime ever), rely on a class from the compiler instead. This has a
minor downside: that class is compiled by the bootstrap compiler, so if codegen
of 'for'-loops or something else used in that class changes, it won't
immediately have an effect on a local working copy (on the build server
everything will be fine because of a 2-step building process).
In the future it may make sense to just manually create all the bytecode
instructions and dump them into a MethodNode. Currently the amount of work
needed for that seems rather significant
2016-01-28 03:10:39 +03:00
Ilya Chernikov
3615ca5b02
build.xml: add kotlin-build target
2016-01-21 19:47:08 +03:00
Dmitry Jemerov
aacf2ad68c
proguard: keep all JNA methods (some of them are accessed from native code)
2016-01-20 14:34:50 +01:00
Dmitry Jemerov
e4903c1a47
proguard: don't exclude native libraries when repackaging jna.jar (IDEA core code now accesses FileSystemUtil which uses JNA)
2016-01-19 10:51:21 +01:00
Ilya Chernikov
63e1fa4cc0
Simplifying cleanup in gradle plugin after introducing ZipHandle.clearFileAccessorCache method in the platform, minor refactoring
2015-11-03 14:18:21 +01:00
Nikolay Krasko
881f1fd75e
Suppress warning in proguard about jna classes
2015-09-28 11:38:08 +03:00
ligee
5b9094301c
Fixing minor issues after review
...
(cherry picked from commit 928769e)
2015-08-11 13:16:07 +02:00
ligee
0a9f98545b
Dropping custom classloading again, now without creating a transparent one, restoring cleanup for gradle <2.4 to minimize leaks under daemon, adding diagnostics
...
(cherry picked from commit a3b7be4)
2015-08-11 13:16:00 +02:00
Natalia Ukhorskaya
fbe192b75f
Suppress warnings about org.imgscalr.Scalr class
2015-08-07 19:14:04 +03:00
Natalia Ukhorskaya
973fa21fe9
Include snappy-in-java-0.3.1.jar in kotlin-compiler
2015-07-20 12:56:43 +03:00
Evgeny Gerashchenko
55dad40650
Added reflect.jar as dependency for proguard. Fixed build.
2015-06-24 20:51:17 +03:00
Nikolay Krasko
66a4e0f299
Mute error about org.iq80.snappy.Snappy
2015-06-23 15:59:34 +03:00
Nikolay Krasko
e4c7f9bc22
Keep NullableNotNullManager methods for J2K converter
2015-06-08 15:21:03 +03:00
Alexander Udalov
803fb82b8b
Minor, move compiler.pro out of project root
2015-06-01 19:23:09 +03:00