Commit Graph

56077 Commits

Author SHA1 Message Date
Alexander Udalov f7fc5d2ffa Fix codegen for JvmOverloads with more than 32 parameters
Use DefaultCallArgs to handle mask list construction correctly

 #KT-31070 Fixed
2019-07-09 19:31:59 +02:00
Andrey Uskov 40633768bc Implement dependency deduplication in order to reduce memory
consumption during import process
2019-07-09 20:14:07 +03:00
Andrey Uskov 09c2b2800c Migrate collections to arrays for memory optimisation
during import process
2019-07-09 20:13:44 +03:00
Andrey Uskov f6f072693a Fully disable editing target platforms for HMPP modules. Show
java target platform version in Facets
2019-07-09 20:13:17 +03:00
Andrey Uskov c98ad923bd Import list of pure kotlin source roots from gradle
in facet settings for inspections
#KT-32300 Fixed
2019-07-09 20:12:55 +03:00
Andrey Uskov 2665fff373 Import package prefix from MPP projects 2019-07-09 20:12:13 +03:00
Andrey Uskov 2b6f566d58 Import package prefix from gradle
#KT-19693 Fixed
2019-07-09 20:11:48 +03:00
Vladimir Dolzhenko dbec626a49 Fix performance test compilation for 182 2019-07-09 19:43:18 +03:00
Vyacheslav Gerasimov ffb65b2655 Build: Fix kotlinBuildProperties, should always proguard on teamcity 2019-07-09 19:19:58 +03:00
Vyacheslav Gerasimov 8605ad6630 Build: Upgrade gradle to 5.5 2019-07-09 19:19:27 +03:00
Alexander Udalov a6be6f4986 Use Class.forName instead of ClassLoader.loadClass in reflection
This fixes an issue in constructing annotation instances with array
class elements. For some reason, behavior of `ClassLoader.loadClass`
differs from `Class.forName` in handling arrays, namely:

* `loadClass("[Ltest.Foo;")` returns null
* `Class.forName("[Ltest.Foo;")` returns class for array of test.Foo

Overall, there doesn't seem to be any way to load an array class with
`CLassLoader.loadClass`.

We pass initialize=false to forName because this is the behavior of
ClassLoader.loadClass: it doesn't perform class initialization (e.g.
<clinit> is not executed).

 #KT-31318 Fixed
2019-07-09 18:14:45 +02:00
Vladimir Dolzhenko 72d74ff888 Add build gradle kts performance tests 2019-07-09 17:27:33 +03:00
Sergey Igushkin c292380aff Improve Kotlin/Native disabled targets warning, KT-29693
* Group all disabled targets from all subprojects in a single warning
* Make the warning optional, suggest disabling it with a Gradle property

Issue #KT-29693 Fixed
2019-07-09 16:01:18 +03:00
Alexander Udalov dabb7bb496 Fix new inference CLI tests on Windows 2019-07-09 11:52:54 +02:00
Mikhael Bogdanov b82c32a807 Use default target for android tests 2019-07-09 09:46:34 +02:00
Roman Artemev d4fb76c1da [JS IR BE] Fix overriding property of Throwable 2019-07-09 10:40:01 +03:00
Roman Artemev d9c6d38715 [JS IR BE] Fix private members lowering
- visit over file instead of class
2019-07-09 10:40:01 +03:00
Ilya Gorbunov 7573fcde53 Demote new experimental capitalize overloads in overload resolution
Revert "Fix method reference ambiguity in test after introducing 'capitalize' overload"
This reverts commit fe9bd9ee
2019-07-09 03:39:25 +03:00
Ilya Gorbunov 686bcb830e Bit query and bit rotation functions for UInt, ULong, UShort, UByte
#KT-12749
2019-07-08 19:09:32 +03:00
Ilya Gorbunov 39bdf34b9f Use common implementation of fastLog2 based on countLeadingZeroBits 2019-07-08 19:09:32 +03:00
Ilya Gorbunov f8724654a1 Bit query and bit rotation functions for Int, Long, Short, Byte
#KT-12749
2019-07-08 19:09:32 +03:00
Ilya Gorbunov 32fc131d62 Rename jvm actuals from Numbers to NumbersJVM
Rename multifile facade to from MathKt to NumbersKt to avoid confusion
with kotlin.math.MathKt
2019-07-08 19:09:32 +03:00
Steven Schäfer da8fb3a195 JVM_IR: Respect -Xno-param-assertions 2019-07-08 17:48:33 +02:00
Steven Schäfer dd20b74030 Split GenerateNotNullAssertionsTests into standard box and bytecode tests 2019-07-08 17:48:33 +02:00
Simon Ogorodnik dfd0042a5b Do not create single element list if only one candidate 2019-07-08 16:59:50 +03:00
Mikhail Glukhikh f434248cb7 FIR property getter: take return type from property even if it's error 2019-07-08 16:59:45 +03:00
Mikhail Glukhikh d96c66adac FIR: partially implement invoke resolution 2019-07-08 16:59:37 +03:00
Toshiaki Kameyama 2ca0056cd0 ReplaceGuardClause inspection: check contracts availability 2019-07-08 16:36:19 +03:00
Toshiaki Kameyama 8cbcb66197 ReplaceGuardClause inspection: don't report when argument is not String 2019-07-08 16:36:18 +03:00
Toshiaki Kameyama 90b0ea73dc Add inspection for check/require/checkNotNull/requireNotNull
#KT-30640 Fixed
#KT-22412 Fixed
2019-07-08 16:36:18 +03:00
Toshiaki Kameyama 64780293d3 "Redundant visibility modifier" inspection: don't report for property getter
#KT-32347 Fixed
2019-07-08 16:14:35 +03:00
Ilya Chernikov a96a938f87 Fix creating of the script definition from legacy template
adding classpath needed to load template and related class to the
appropriate host configuration
fixes tests
2019-07-08 13:20:06 +02:00
Dmitry Gridin d3810bfcae Add operator modifier by inspection on idea module 2019-07-08 13:03:22 +03:00
Dmitry Gridin 795dcfa8ff Minor: clean up some quickfixes & refactorings 2019-07-08 13:03:22 +03:00
Yan Zhulanow 9ba7907b81 Fix compatibility issues with third-party plugins
This commit fixes compatibility with these plugins:
1. com.wuhao.code.check:1.4.5
2. net.lagerwey.cucumber-kotlin:1.1.1
3. cat.helm.clean:0.1.1-SNAPSHOT
4. no.tornado.tornadofx.idea:1.7.17.2
5. com.gmail.blueboxware.libgdxplugin:1.20
2019-07-08 16:25:20 +09:00
Yan Zhulanow 36e1149e51 Light classes: Fix getTextOffset() and getTextRange() for property accessors
Before this commit, getTextOffset() and getTextRange() coming from the super class, returned numbers for the property, not for its accessor. This commit fixes the inconsistency.
2019-07-08 16:25:20 +09:00
Yan Zhulanow 7078302e6c Light classes: Fix getTextOffset() for identifiers
Before this commit, getTextOffset() and getTextRange() implementations were inconsistent.
2019-07-08 16:25:19 +09:00
Yan Zhulanow 0f4085066f Debugger: Do not assume we are inside the class body when in '}' (KT-15259) 2019-07-08 16:25:19 +09:00
Yan Zhulanow a8efb349ed Debugger, minor: Remove debugger labels in dispatch receivers
In anonymous classes/lambdas the debug name becomes something like 'this@<anonymous>' that doesn't make much sense to the user.
It's more correct to show just 'this'.
2019-07-08 16:25:19 +09:00
Yan Zhulanow 8f20f0b963 Debugger: Do not calculate default source file if an alternative one is available 2019-07-08 16:25:19 +09:00
Yan Zhulanow d45bbaabcd Debugger: Fix missing NOPs in optimized Unit.INSTANCE calls (KT-31702) 2019-07-08 16:25:19 +09:00
Ivan Gavrilovic f60bf5cb97 KT-31127: register only generated Java sources to AGP
When adding generated Java sources to AGP using Variant API,
add only Java sources. This was already done in
a6ae4494167c9d4cca23995457c59fb2daedad39 for Java projects, and this
commit fixes the same issue for Android projects.

Test: Kapt3Android33IT.testKotlinProcessorUsingFiler
2019-07-08 16:25:18 +09:00
Jiaxiang Chen 2c102ecd57 Replicate old backend's naming logic for captured receiver parameter and extension receiver parameters.
Context for determine if a value parameter is captured from outer
context is not directly available after lowering, hence introduce a new
IrDeclarationOrigin for captured receiver parameter to avoid duplicate
calculation.
2019-07-08 16:25:18 +09:00
Yan Zhulanow 9760c156a4 Debugger: Fix breakpoints on if/loops with constant conditions (KT-14421) 2019-07-08 16:25:18 +09:00
Yan Zhulanow 6fc801afd2 Debugger: Make calls to LocalVariableProxyImpl.type lazy
Avoid unnecessary calls to getType() in variables and fields.
2019-07-08 16:25:18 +09:00
Yan Zhulanow 91565076e2 Debugger: Fix property accessor evaluation in scripts (KT-23526) 2019-07-08 16:25:18 +09:00
Yan Zhulanow 6686ed2e38 Evaluator: Do not report parsing error on empty block/expression (KT-11938) 2019-07-08 16:25:18 +09:00
Yan Zhulanow 6d7d524b9b Debugger: Fix 'expect fun' evaluation from common code (KT-26742) 2019-07-08 16:25:17 +09:00
Yan Zhulanow 873f4a1b08 Debugger: Accept empty code fragment contexts (KT-19556) 2019-07-08 16:25:17 +09:00
Yan Zhulanow 188ed82081 Debugger: Handle closure receivers came from outer callables properly (KT-31709) 2019-07-08 16:25:17 +09:00