Denis Zharkov
5b4e8170ae
Fix variables leaking when adding other system under transaction
2019-12-04 10:52:19 +03:00
Denis Zharkov
692442d7a2
Do not look into captured star projection as types
2019-12-04 10:52:19 +03:00
Denis Zharkov
3634d80cae
FIR: Order type variables for fixation
...
Otherwise there are subtle issues with captured types
(see FirDiagnosticsSmokeTestGenerated$Inference.testDependantOnVariance)
2019-12-04 10:52:19 +03:00
Ivan Gavrilovic
7f77cc55f3
Update the test for cleanup
...
Make sure all sources are removed before adding a new Java source,
and make assertions about stubs and kotlinc generated .class files.
2019-12-03 23:05:22 +01:00
Ivan Gavrilovic
e07b2e30e2
KT-34258: Make sure to clean up stale files even if no Kotlin sources
...
If running incrementally, even if there aren't any Kotlin sources to
compile, there could be stale output files that need to be removed. E.g
stub generation must have generated .java files removed if all Kotlin
sources are removed. Kotlin compile task will be skipped only if there
are no Kotlin sources and task run is non-incremental.
Test: KaptIncrementalIT.testRemoveAllKotlinSources
2019-12-03 23:05:21 +01:00
Sergey Igushkin
a22a60118c
Fix 'Project#afterEvaluate(Action) <...> cannot be executed' on IDE test run
...
Update kotlinx.benchmark to 0.2.0-dev-7 which contains the fix for
https://github.com/Kotlin/kotlinx-benchmark/issues/13
2019-12-03 23:57:29 +03:00
Ilya Gorbunov
edfd933348
Improve Result docs to emphasize that any Throwable exception is caught
...
#KT-33447 Fixed
2019-12-03 21:08:31 +03:00
Alexander Udalov
d84daa0a4b
JVM IR: fix value argument offset in -Xjvm-default=compatibility mode
2019-12-03 18:39:43 +01:00
Pavel Kirpichenkov
3de6289c6c
[NI] Run completion on subatoms of error calls
...
Call transformer previously ran completion of argument atoms
only for non-error candidates. This led to missing diagnostics,
i.e. from collection literal resolver.
Now arguments of calls resolved to error descriptor are completed,
with exception to not found provideDelegate calls.
provideDelegate's subatoms are not completed after failure, because
it is a part of delegate competion, which does not end with
unresolved provideDelegate.
Completing after provideDelegate failure removes constraint system
from resolved arguments, which breaks resolve for get/setValue.
^KT-33592 Fixed
2019-12-03 18:19:32 +03:00
Nikolay Krasko
29fbb8e22f
Update to 193.5233.102 release (KT-35239)
...
- Mute android specific import tests (KT-35225).
- Mute GradleMultiplatformWizardTest (IDEA-225878).
- Minor update of test data.
2019-12-03 17:34:47 +03:00
Nikolay Krasko
fa64b5794b
Allow to mute parameterized GradleImportingTestCase JUnit 4 tests
2019-12-03 17:34:46 +03:00
Roman Artemev
ca0bff75cd
[KLIB] Keep order of constant properties depending on backend
...
- Fix K/N performance regression
2019-12-03 16:20:52 +03:00
Vyacheslav Gerasimov
6ef3831f14
Build: Take parent directory as rootProject directory in case of buildSrc
2019-12-03 16:16:44 +03:00
Vyacheslav Gerasimov
462d6ac5b6
Build: Add remote build cache parameters for teamcity builds
2019-12-03 16:16:44 +03:00
Vyacheslav Gerasimov
d3c1ef9251
Build: Use kotlin-build-gradle-plugin in buildSrc
2019-12-03 16:16:44 +03:00
Vyacheslav Gerasimov
ab8542bbdb
Build: Advance kotlin-build-gradle-plugin version to 0.0.2
2019-12-03 16:16:44 +03:00
Vyacheslav Gerasimov
46d77419a8
Build: Add build cache properties to kotlin-build-gradle-plugin
2019-12-03 16:16:44 +03:00
Vyacheslav Gerasimov
ad79efeba3
Build: Use kotlin version embedded to gradle
2019-12-03 16:16:44 +03:00
Denis Zharkov
fa7bd3dd2e
FIR: Support SAM constructors for type aliases
2019-12-03 15:49:22 +03:00
Denis Zharkov
ae01d050c9
FIR: Abstract parts for type alias constructors resolution
...
It's necessary to support combination of type aliases + SAM
2019-12-03 15:49:22 +03:00
Denis Zharkov
fbe7db5471
FIR: Move constructor processing parts to a separate file
2019-12-03 15:49:22 +03:00
Denis Zharkov
bf68e85a5c
FIR: Support SAM conversion for interfaces containing Object methods
2019-12-03 15:49:22 +03:00
pyos
7cd55c85e6
JVM/JVM_IR: fix mapping of KClass in annotation classes
...
* JVM incorrectly mapped T<KClass<...>> to T<Class<...>> because the
annotation-ness of the type mapping mode was inherited one level
down into a generic signature independent of T
* JVM_IR was even worse as it did not use VALUE_FOR_ANNOTATION at all,
mapping T<T<KClass<...>> to T<T<Class<...>> as well.
The correct behavior is to map KClass to Class only at top level or as
an argument of Array.
2019-12-03 11:42:23 +01:00
Alexander Udalov
f869be6a71
JVM IR: do not mangle synthetic methods with inline class parameters
...
For example, synthetic `$annotations` methods for properties were
previously mangled to `$annotations-...`, which breaks annotation
loader, and fails an assert in ClassCodegen.generateMethod.
2019-12-03 11:34:55 +01:00
Roman Golyshev
66ffdf1b2d
KT-33979 KT-34150 Remove filtering overridden object members and nested objects
...
- ^KT-33979 Fixed
- ^KT-34150 Fixed
- Also, in extension completion check descriptor instance first
2019-12-03 13:29:30 +03:00
Alexander Udalov
2552540f71
IR: wrap exceptions and add file path in per-file lowerings
...
Also add file path to the wrapped exception in JVM IR codegen
2019-12-03 11:06:54 +01:00
Alexander Udalov
fd627603a0
Refactor CompilationErrorHandler
...
It only had one implementation THROW_EXCEPTION, inline it everywhere
with a call to a static method
2019-12-03 10:48:34 +01:00
Dmitry Petrov
2435b8d9fa
Update testData for enum constructor result type in IR
2019-12-03 11:54:41 +03:00
pyos
35c2573b33
PSI2IR: generate IrEnumConstructorCalls with correct return type
...
Normally, the fact that is was Unit was not visible as enum constructors
are lowered to normal class constructors anyway. The exception is when
the arguments are reordered, causing the incorrect return type to leak
into the block that holds temporary variables.
2019-12-03 11:54:41 +03:00
Denis Zharkov
145ad1a6fa
FIR: Minor. Extract common parts in FirCallCompletionResultsWriterTransformer
2019-12-03 11:52:21 +03:00
Dmitriy Novozhilov
71bf8a14e8
[FIR] Make ConeTypeCheckerContext implements ConeInferenceContext
2019-12-03 11:36:34 +03:00
pyos
69033b7b15
JVM_IR: handle @JvmName on annotation getters
2019-12-03 10:53:49 +03:00
pyos
ac7d9fa90d
JVM_IR: implement -Xpolymorphic-signature
2019-12-03 08:31:46 +01:00
Mikhail Glukhikh
fe6be0f436
Fix failed FIR multi-module test (forgotten test data update)
2019-12-03 10:25:53 +03:00
Igor Yakovlev
0ff77bd3c5
Add UL support for const fields initializers
...
Fixed #KT-34081
2019-12-02 20:41:47 +03:00
Victor Petukhov
775eb67219
NI: Add constraints which contain constraining type without projection
...
^KT-32243 Fixed
^KT-35172 Fixed
2019-12-02 19:42:18 +03:00
pyos
65cc0fa463
PSI2IR: have GeneratorExtensions implement StubGeneratorExtensions
2019-12-02 17:10:04 +01:00
pyos
a950df3c80
PSI2IR: copy isPropertyWithPlatformField to GeneratorExtensions
2019-12-02 17:10:04 +01:00
Ilya Chernikov
3cae90dd26
[minor] fix source root creation from imported scripts:
...
make the usages of KotlinSourceRoot consistent everywhere
2019-12-02 16:46:55 +01:00
Ilya Chernikov
f2a4a835e7
Improve script cli diagnostics
2019-12-02 16:46:55 +01:00
Ilya Chernikov
49de5e19fb
Implement repl, script and expressions evaluation support in kotlin runner
2019-12-02 16:46:54 +01:00
Ilya Chernikov
531ff92791
Implement support for expression evaluation in jvm cli compiler
2019-12-02 16:46:54 +01:00
Ilya Chernikov
7bb9f97b11
Allow to separate top-level script declarations and statements with semicolon
...
This fix allows to write one-liner scripts like "val x = 3; println(x)", which
were previously rejected by the parser.
2019-12-02 16:46:54 +01:00
Ilya Chernikov
b8034567ef
Change script definition lookup key from File to ScriptSource
...
to make it more generic and allow easier implementation fo the
non-file based scripts.
2019-12-02 16:46:54 +01:00
Ilya Chernikov
615624802c
Add kotlinx-html test
...
Among other things it tests the packagePartProvider fix above
2019-12-02 16:46:53 +01:00
Ilya Chernikov
4439582d23
Remove unnecessary update of the source roots, simplify interface accordingly
...
The update became unnecessary after the packagePartProvider fix above.
2019-12-02 16:46:53 +01:00
Ilya Chernikov
02a71d2cda
Save updated roots before a packagePartProvider is created
...
Since the function createPackagePartProvider uses initialRoots for
creating packagePartsProvider, if the updateClasspath function
was called before createPackagePartProvider, the provider was created
with incomplete list of roots, that leaded to the unresolved top-level
functions.
Now if no providers are created yet, the initialRoots is updated.
This still may lead to the inconsistencies, when/if we'll have several
providers.
2019-12-02 16:46:53 +01:00
Ilya Chernikov
a190ab260e
Load main-kts jar automatically from scripting plugin, if available
2019-12-02 16:46:52 +01:00
Ilya Goncharov
22cb6fa836
[Gradle, JS] Fix case with null distribution
2019-12-02 17:44:26 +03:00
Ilya Goncharov
c267357596
[Gradle, JS] Add distribution DSL
2019-12-02 17:44:26 +03:00