Commit Graph

50878 Commits

Author SHA1 Message Date
Mikhail Glukhikh 3889bb05d6 Do not modify highlighting settings for non-Kotlin files #KT-28716 Fixed 2018-12-12 14:20:06 +03:00
Alexey Tsvetkov 01fbcfad23 Minor: replace UsefulTestCase with KtUsefulTestCase
For some reason assertSameLinesWithFile from UsefulTestCase
fails with exception on TeamCity, whereas the one KtUsefulTestCase
does not
2018-12-12 02:53:13 +03:00
Alexey Tsvetkov 7c767e0789 Exclude InsnList from proguard
It is used by jvm-abi-gen plugin
2018-12-12 02:52:07 +03:00
Shagen Ogandzhanian 03966985a1 Add mininal test suite to idl2k, remove deprecated ANTLRFileStream 2018-12-11 22:46:01 +01:00
Alexey Tsvetkov 57f8f216d1 Exclude local variables and try catch blocks of non-inline functions from ABI 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 495cfec9e9 Check descriptor visibility before excluding method from ABI class 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 34d96dff28 Minor: rename const according to style guide 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov b87058b532 Attempt to fix ABI tests on TC
Locally they work fine
2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 09dbf427ee Disable removing private/synthetic/local classes temporarily 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 96f3c67b3b Report output classes 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 05c5196aaa Reuse BytecodeListingTextCollectingVisitor in tests 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 497df17eb7 Reuse TransformationMethodVisitor in ABI gen plugin 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 82eb7c17e6 Convert TransformationMethodVisitor: step 2 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 56b72c96eb Convert TransformationMethodVisitor: step 1 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 50d8fe611c Minor fixes after review 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov d54ce2da6f Exclude nested classes of private classes from ABI classes 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 64380f55d2 Report locations of errors in ABI classes tests 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 9dd09151f0 Add tests for compilation against abi classes 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 8992ee6280 Add tests for non-compatible ABI changes 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 5891617674 Exclude clinit from ABI classes 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 519211036d Exclude synthetic classes from ABI classes 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov fe047a0092 Minor: extract function 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov f231817559 Delay I/O when transforming ABI classes 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov d74185a74d Remove unused cosntant pool entries from ABI classes 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 3a29b337a0 Exclude private typealiases from ABI classes 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 1f5ca7274d Exclude local and private classes from ABI classes 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 7c2f7cab9a Exclude non-inline method bodies from ABI classes 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 903f6bc79b Exclude private members from ABI classes 2018-12-11 22:48:53 +03:00
Alexey Tsvetkov 33faa00184 Add plugin for JVM ABI classes generation
#KT-25128 Fixed

ABI class generation is implemented as a compiler plugin.
Command-line usage:
1. Add a path to 'jvm-abi-gen.jar' to the plguin classpath argument
(`-Xplugin`). By default the jar is located at
'kotlinc/lib/jvm-abi-gen.jar' in the kotlinc distribution archive.
2. Specify an output directory for ABI classes via
`-Pplugin:org.jetbrains.kotlin.jvm.abi:outputDir=<DIR>`.
2018-12-11 22:48:53 +03:00
Mikhail Glukhikh 7fcd29843e Fix JS compilation for branch 181 2018-12-11 22:14:44 +03:00
Mikhail Glukhikh 588e94b917 File rename: TargetPlatform.kt -> PlatformConfiguratorBase.kt
Made to match file content better
2018-12-11 22:07:41 +03:00
Simon Ogorodnik e3aed04d96 Extract module info & target platform to separate frontend.common 2018-12-11 22:07:41 +03:00
Vyacheslav Gerasimov cd614b5bf8 Build: fix missing dx sources 2018-12-11 21:59:52 +03:00
Vyacheslav Gerasimov 02fbdc54d9 Build: Fix up-to-date for :kotlin-compiler-client-embeddable:shadowJar
The task was never up-to-date because default jar and shadowJar tasks overwritten each other's output

 #KT-28656 Fixed
2018-12-11 18:11:53 +03:00
Ilya Chernikov abc13589c8 Fix locking in script definition provider
fixes possible parallel modifications on definitions loading, e.g.
as in https://github.com/shyiko/ktlint/issues/287
2018-12-11 15:20:08 +01:00
Mikhail Glukhikh b143a1c8f7 For each parameter not used: handle char sequences correctly
An enhancement for KT-27209
2018-12-11 16:42:04 +03:00
Mikhail Glukhikh 833f564f0e Disable extract actions on non-JVM classes #KT-28476 Fixed 2018-12-11 16:42:03 +03:00
Mikhail Glukhikh 11909a86a8 For each parameter not used: introduce "replace with repeat"
An enhancement for KT-27209
2018-12-11 16:42:03 +03:00
Mikhail Glukhikh e06c995516 For each parameter not used: cleanup 2018-12-11 16:42:03 +03:00
Mikhail Glukhikh 9aa1d1495b Redundant arrow: don't report on forEach call with underscore
#KT-27209 Fixed
2018-12-11 16:42:03 +03:00
Mikhail Glukhikh c8c485d27e Redundant arrow: support removing of 'it ->' #KT-28631 Fixed 2018-12-11 16:42:03 +03:00
Denis Zharkov 92150d847a Unwrap InvocationTargetException in dependency injection
^KT-28348 Fixed
2018-12-11 16:12:28 +03:00
Denis Zharkov 957e7cd5f3 Optimize searching constructor delegation calls
^KT-28755 Fixed
2018-12-11 16:12:28 +03:00
Denis Zharkov 9e07b0d31a Minor. Reformat usagesSearch/utils.kt 2018-12-11 16:12:28 +03:00
Roman Artemev 2b436b493c Move test from js to common part 2018-12-11 16:11:01 +03:00
Alexey Tsvetkov b6c975739c Deprecate AP discovery in compile configurations in Gradle
#KT-24368 Fixed
2018-12-11 16:08:16 +03:00
Alexey Tsvetkov d6459e6c49 Add option to disable AP discovery in compile classpath
#KT-24530 Fixed

To disable discovery and enable avoidance for kapt tasks,
use "kapt.includeCompileClasspath = false"
2018-12-11 16:08:16 +03:00
Simon Ogorodnik 445c85f829 Support overriding module/library/sdk for particular light PsiClass
To support light R classes
2018-12-11 15:46:11 +03:00
Ilmir Usmanov 7f9e91eabe Use File.pathSeparator instead of : 2018-12-11 15:08:34 +03:00
Dmitry Petrov 08d1c47ac3 KT-14227 Intrinsify MutableMap.set
This fixes the most common (and rather annoying) bug in augmented
assignment desugaring with collection element receiver.

Fix is somewhat hackish: introduce an intrinsic for MutableMap.set,
thus bypassing discrepancies in 'get' and 'set' call generation.
Fixing it properly requires design decisions for corner cases where
ad hoc augmented assignment desugaring with collection element receiver
"accidentally" works, producing identical objects and vararg arrays for
arguments of 'get' and 'set'.
2018-12-11 12:43:03 +03:00