Commit Graph

58551 Commits

Author SHA1 Message Date
Vyacheslav Gerasimov e096691bd8 Build: Add dependency on gradle plugin to idea-android module 2019-10-24 19:32:16 +03:00
Mads Ager 52febbcc07 [JVM_IR] Support default interface suspend functions.
Do this by reordering the lowerings so that the lowering that
adds continuations happen after default methods have been
eliminated if needed.

Mark more functions as known to be tail-calls: bridges and
delegated members.

Preserve source info and annotations when creating replacement
functions.
2019-10-24 18:51:41 +03:00
Vladimir Dolzhenko d16a1b14d8 Acquire lock for several seconds to create LightClasses to workaround dead-lock over resolve
Relates to #KT-34279
2019-10-24 17:32:36 +02:00
Alexander Udalov c676a30919 Minor, clarify comment on SafePublicationLazyImpl.final 2019-10-24 16:57:54 +02:00
Alexander Udalov c24f2d06d4 Mark value fields in ReflectProperties as volatile
These fields were originally non-volatile because of an incorrect
assumption I had at the time that a value was safely published if the
underlying object's class has at least one final field. This is true for
almost all values used in lazy/lazySoft: DeserializedFunctionDescriptor,
DeserializedPropertyDescriptor, KTypeImpl, java.lang.reflect.Field, etc.
But of course, this only means that the object was _safely initialized_
and not safely published via the non-volatile reference, where other
threads can still observe null, even after that constructed object was
leaked to the outer world by some other means and led to observable
changes in behavior.

This can fix some concurrency issues in kotlin-reflect. I wasn't able to
reproduce the problem in stress tests though.
2019-10-24 16:57:53 +02:00
Kristoffer Andersen 8af3b3e51e [Backend] Reorganize version 1.0 codegen tests
- Extract all backend codegen tests that specifically target behaviour
  in to-be-deprecated functionality from language versions < 1.3"
- Remove those tests from the JVM IR test suite.
2019-10-24 16:51:19 +02:00
Vyacheslav Gerasimov 38ea5a85a3 Build: Add maven publication for Kotlin plugin artifacts 2019-10-24 17:06:19 +03:00
Ilya Gorbunov c1cb6da436 Use stable compiler option for enabling progressive mode 2019-10-24 16:05:48 +03:00
Ilya Gorbunov 59482f6827 Do not blank opt in for allowing kotlin package in all subprojects
-Xallow-kotlin-package must be specified explicitly to prevent
unintended declarations in kotlin package.
2019-10-24 16:05:48 +03:00
Kevin Bierhoff 5c9cbf7e77 allow relative friend paths matching relative classpaths 2019-10-24 14:56:46 +02:00
Yan Zhulanow 68deedb589 Kapt: Register AP options as inputs in worker mode as it done with kotlinc compiler plugin mode
This commit fixes the 'KotlinAndroid32GradleIT.testKaptUsingApOptionProvidersAsNestedInputOutput()' test that started to fail after switching to the worker API mode by default.
2019-10-24 21:33:02 +09:00
Yan Zhulanow 958e6623fc Kapt: Enable worker API mode by default (KT-32832) 2019-10-24 21:33:02 +09:00
Ivan Gavrilovic 68723125f2 Clean up KAPT incremental tests
Remove redundant class to invalidate sources, because it is already
handled in the KaptContext constructor.
2019-10-24 21:33:01 +09:00
Yan Zhulanow 7fc25a9c04 Pill: Add GenerateRuntimeDescriptorTests to the "Generate all tests" run configuration (KT-34494) 2019-10-24 21:33:01 +09:00
Yan Zhulanow 2cb055a3bd Debugger: Log evaluation status from Java contexts
IntelliJ doesn't call KotlinDebuggerEvaluator from Java contexts; instead, it calls JavaDebuggerEvaluator.
Unfortunately, there seems to be no way to figure out the exact evaluation type for Java contexts. However, we can at least log the evaluation status itself.
2019-10-24 21:33:01 +09:00
Yan Zhulanow 6bf15b6d37 Kapt: Generate constant value initializers for mutable properties (KT-30164, KT-29355) 2019-10-24 21:33:01 +09:00
Yan Zhulanow 9edd4554a9 Kapt: Support @Deprecated annotations (KT-30368) 2019-10-24 21:33:01 +09:00
Yan Zhulanow 1309c0c67a An attempt to fix flaky debugger tests 2019-10-24 21:33:01 +09:00
Yan Zhulanow bf027fb824 Do not show Smart Step Into targets for @InlineOnly callables (KT-33728) 2019-10-24 21:33:00 +09:00
Yan Zhulanow ff7f1c62a9 Minor: Refactor KotlinMethodStepTarget a bit 2019-10-24 21:33:00 +09:00
Yan Zhulanow 87e0a2d98c Debugger: Fix evaluation of function declarations with expression bodies (KT-32704)
Before this commit, the substituted FunctionDescriptor didn't have a source element.
As a result, 'CodeFragmentParameterAnalyzer.isCodeFragmentDeclaration' failed to recognize such a descriptor as fragment-local, and it was erroneously captured.
2019-10-24 21:33:00 +09:00
Yan Zhulanow fa45122c6b Minor: Fix warnings in KtCodeFragment 2019-10-24 21:33:00 +09:00
Yan Zhulanow 716c9f79f7 Debugger: Do not use expression code fragments for evaluator (KT-32736, KT-32741)
It seems like it doesn't make much sense to create expression code fragments.
People type statements or several expressions separated with a semicolon to a single-line expression line.
That is exactly what block code fragment was designed for.
2019-10-24 21:33:00 +09:00
Yan Zhulanow 39662c09e9 Debugger: Fix breakpoints and stepping on a first line (KT-33304)
This commit fixes the 'SmartStepIntoTestGenerated#testFunWithExpressionBody' test.
2019-10-24 21:32:59 +09:00
Yan Zhulanow c3e46ebe5c Debugger: Search candidates for smart step into in a read action 2019-10-24 21:32:59 +09:00
Yan Zhulanow 9cc7ff0efc Debugger: Fix "smart step into" for library declarations (KT-33303) 2019-10-24 21:32:59 +09:00
Yan Zhulanow c6a5733b3d Debugger: Move 'smart step into' classes to the 'smartStepInto' package 2019-10-24 21:32:59 +09:00
Yan Zhulanow d2b058c1e5 Debugger: Extract Smart step visitor 2019-10-24 21:32:58 +09:00
Yan Zhulanow 8325216d38 Debugger: Fix "Step over" with inline function calls in non-functions (KT-20342) 2019-10-24 21:32:58 +09:00
Yan Zhulanow 7bd628f989 Debugger: Check max document index before figuring out line offsets 2019-10-24 21:32:58 +09:00
Yan Zhulanow d7eb0f4bb0 Debugger: Cleanup stepping code 2019-10-24 21:32:58 +09:00
Yan Zhulanow 00a06ef9b9 Debugger: Move "Show Kotlin variables" check button to the Debugger settings menu (KT-30909) 2019-10-24 21:32:58 +09:00
Yan Zhulanow f93549748a Fix a number of compiler/IDE warnings in IDE and kapt modules 2019-10-24 21:32:57 +09:00
Yan Zhulanow 9fb622e148 Debugger: Do not disable breakpoints on evaluation (KT-12242) 2019-10-24 21:32:57 +09:00
Ilya Goncharov d46510897b [Gradle, JS] Refactor and extract team city formatting in separate file 2019-10-24 15:00:31 +03:00
Ilya Goncharov 7f49caf503 [Gradle, JS] Depends node test on our own mocha reporter 2019-10-24 15:00:31 +03:00
Ilya Goncharov e69ff4363f [Gradle, JS] Copy mocha-teamcity-reporter with licensies 2019-10-24 15:00:31 +03:00
Ilya Goncharov 1ad8ecabfd [Gradle, JS] Fully copy of karma-teamcity-reporter (remove npm dependency on it) 2019-10-24 15:00:31 +03:00
Ilya Goncharov 0c911f4359 [Gradle, JS] Fix module.exports for adapter and modulization
- semicolon should be before Function expression, because in JS Standard there is no terminated semicolons
- If use output.libraryExport for Webpack, entry files for karma should export something

#KT-34554 fixed
#KT-34555 fixed
2019-10-24 14:58:57 +03:00
Mikhail Glukhikh 5e2b594638 FirBodyResolveTransformerAdapters: optimize imports 2019-10-24 13:04:27 +03:00
Mikhail Glukhikh e14b63dfe1 FIR Java enhancement: get rid of FirAnnotationCall.resolvedFqName 2019-10-24 13:04:27 +03:00
Mikhail Glukhikh be6100527b FIR Java enhancement: fix JVM signature generation for type parameters 2019-10-24 13:04:27 +03:00
Mikhail Glukhikh 47cf7373af Add extra tests for FIR J/K type mapping 2019-10-24 13:04:26 +03:00
Mikhail Glukhikh dc657dfda5 FIR Java refactoring: calculate JVM signatures directly by Java types 2019-10-24 13:04:26 +03:00
Vladimir Dolzhenko 6250f1a042 Detects main method with argument Array<String?> 2019-10-24 11:06:13 +02:00
Mikhail Glukhikh cb3d027463 Fix typo in file name 2019-10-23 20:26:03 +03:00
Mikhail Glukhikh f63c3aeac9 Extract FirMemberScopeProvider to a separate file 2019-10-23 19:28:42 +03:00
Mikhail Glukhikh b86f529a8a Minor: add a pair of TODO about FIR scopes 2019-10-23 19:28:41 +03:00
Mikhail Glukhikh e28d41aa61 FIR supertype resolve: decrease priority of type parameter scope 2019-10-23 19:28:41 +03:00
Mikhail Glukhikh 634f324f51 FIR supertype resolve: generate error types for type parameters 2019-10-23 19:28:40 +03:00