Yan Zhulanow
34d1611ed4
Add Pill support to compiler and IDE modules
2018-03-02 03:15:17 +03:00
Ilmir Usmanov
87bbac9d43
Take coroutineContext into account in RedundantSuspendModifierInspection
...
#KT-22651: Fixed
2018-02-08 19:34:20 +03:00
Alexander Udalov
80a7f92309
Extract logic to get function parameters for default value generation
...
For some reason, this logic was a bit different in JVM (FunctionCodegen)
and JS (FunctionBodyTranslator). For example, in JS the
EXPECTED_FUNCTION_SOURCE_WITH_DEFAULT_ARGUMENTS_NOT_FOUND diagnostic was
reported even in the case when no expected function was found for the
actual function at all, which made it quite difficult to write
multiplatform sources for JS stdlib where it both should be compiled as
a part of the multiplatform project, and by itself (suppressing
NO_ACTUAL_FOR_EXPECT): in the latter case, the new error must have been
suppressed everywhere as well
#KT-21913
2018-02-08 14:14:10 +01:00
Alexander Udalov
db4ce703a6
Support default arguments for expected declarations
...
#KT-21913 Fixed
2018-02-05 13:38:05 +01:00
Ilmir Usmanov
8ffb205f1c
Reformat coroutineContext related code
2018-02-01 13:18:43 +03:00
Ilmir Usmanov
18c03f94f8
Move coroutineContext to correct package
...
from kotlin.coroutines.experimental.instrinsics to kotlin.coroutines.experimental
#KT-22400
2018-02-01 13:18:32 +03:00
Ilya Chernikov
4eb557724c
Convert compiler projects to the new intellij deps
2018-01-30 17:06:13 +03:00
Ilya Chernikov
a4f28cd94f
Make all dependencies to idea sdk intransitive
2018-01-30 17:06:11 +03:00
Ilmir Usmanov
0fbbe10143
Support suspendCoroutineUninterceptedOrReturn intrinsic
...
KT-17336: Fixed
2017-11-20 18:12:41 +03:00
Alexey Andreev
7b403211dd
JS: kotlinize WhenTranslator
2017-11-17 11:07:37 +03:00
Mikhael Bogdanov
cbfcb74b58
Get rid of cli dependencies from ir
2017-11-16 14:46:53 +01:00
Alexander Udalov
02981038f3
Split core into descriptors, descriptors.jvm, deserialization, descriptors.runtime
2017-11-10 18:58:31 +01:00
Ilmir Usmanov
817f79520a
Implement coroutineContext intrinsic
...
This intrinsic allows coroutine to access its context without suspention
and, furthermore, disabling tail-call optimization.
KT-17609: Fixed
2017-11-02 12:45:24 +03:00
Alexander Udalov
09f36927a5
Do not try to generate 'expect' declarations in multifile classes
...
Similarly to PackageCodegenImpl#generateFile
#KT-15754 Fixed
#KT-17478 Fixed
2017-09-25 11:58:20 +03:00
Alexander Podkhalyuzin
3f8170d369
Clean idea files generated on the gradle import, add them to .gitignore
2017-09-19 23:58:27 +02:00
Ilya Chernikov
27968c8e13
Set proper jvmTarget for projects
2017-09-19 21:37:27 +02:00
Ilya Chernikov
deda50dbbb
Continue switching projects to improved dsl: sourceSets and test running
2017-09-19 21:37:26 +02:00
Ilya Chernikov
aa4fdaa713
Implement publishing in the build
2017-09-19 21:37:13 +02:00
Ilya Chernikov
61dfb75e0e
Implement Gradle Kotlin DSL build
2017-09-19 21:37:06 +02:00
Alexander Udalov
c420e2bfa5
Refactor FunctionReferenceGenerationStrategy
...
Draw a clear distinction between the referenced function's parameters
and the anonymous synthetic function's parameters (see the comment).
This will be useful in supporting advanced callable reference features
like KT-8834
2017-08-28 10:22:52 +03:00
Mikhail Glukhikh
840847e47c
Code cleanup: several inspections applied
2017-06-29 16:25:57 +03:00
Alexey Andreev
6f0e4c4deb
Fix JS source maps for data class synthetic methods
2017-06-07 11:13:46 +03:00
Alexander Udalov
7febd846e8
Export 'intellij-core' in module 'frontend'
...
Remove intellij-core from dependencies of modules which already depend
on frontend or any module that exports frontend (such as frontend.java)
2017-06-06 14:29:26 +03:00
Dmitry Petrov
78de1fb72c
Handle incorrect code for interface delegation
...
#KT-15931 Fixed Target versions 1.1.4
2017-05-31 10:18:48 +03:00
Dmitry Jemerov
3c7678092e
Don't mark compiler-created PSI elements as generated
...
This saves some memory on storing the generated flag in the PsiElement
userdata and time required to store the flag.
2017-03-22 13:59:21 +01:00
Mikhail Glukhikh
b121bf8802
Cleanup: fix some compiler warnings (mostly deprecations, javaClass)
2017-03-15 17:35:31 +03:00
Mikhail Glukhikh
d0cc1635db
Cleanup: apply "Use synthetic property access syntax"
2017-03-15 16:13:40 +03:00
Denis Zharkov
c362a9154b
Rename SUSPENDED_MARKER to COROUTINE_SUSPENDED
2017-01-27 23:24:13 +03:00
Denis Zharkov
0e132b9857
Move all coroutine-related declarations from built-ins to stdlib
...
Also move internal declarations from runtime.jvm module into new package
kotlin.coroutines.jvm.internal in stdlib
The necessity of these declarations being in built-ins is controversial,
but also it will complicate the migration of current coroutine runtime
to a separate jar if we ever need this
2017-01-27 23:24:13 +03:00
Denis Zharkov
b61c152b4e
Minor. Drop a couple of unused properties
2017-01-27 23:24:13 +03:00
Alexey Andreev
d261f8eddf
Move generation of fake call to common CodegenUtil to share between JS and JVM
2017-01-24 20:09:31 +03:00
Denis Zharkov
2cb9d3a8ad
Move coroutine intrinsics to kotlin.coroutine.intrinsics package
...
Also rename val SUSPENDED to SUSPENDED_MARKER
#KT-15698 Fixed
2017-01-14 13:24:53 +03:00
Alexey Andreev
7f0166623d
JS: when none of exhaustive when clauses match, generate code that throws exception. See KT-12194
2016-12-30 16:20:00 +03:00
Denis Zharkov
8475869fb3
Support common calls on suspend function typed values
...
Also support multiple value parameters in suspend function type
#KT-15379 Fixed
#KT-15380 Fixed
2016-12-22 11:15:52 +03:00
Alexander Udalov
482b43631c
Refactor DelegationChecker and related code
...
- move getDelegates from CodegenUtil to DelegationResolver, reuse it in
DelegationChecker
- use getAllOverriddenDescriptors + filterOutOverridden instead of a manual DFS
2016-12-20 17:28:50 +03:00
Stanislav Erokhin
0132f3eea7
Remove kotlin.coroutine package from default imports.
2016-12-15 23:57:51 +03:00
Denis Zharkov
6649f64e9f
Support new coroutine convention in JVM backend
2016-12-15 23:57:40 +03:00
Roman Elizarov
8affb2726f
Pluggable Synthetic Objects
2016-12-12 18:43:26 +03:00
Alexey Andreev
060f08a8dd
JS: add support of interceptResume function in coroutine controller
2016-12-09 14:56:20 +03:00
Alexey Andreev
bdda04243d
JS: support new coroutine convention (see KT-15058)
2016-12-09 14:56:19 +03:00
Alexander Udalov
1cfb8f2aef
Use OverridingUtil#overrides instead of CodegenUtil#doesOverride
...
This may be more correct in case of complex cross-module inheritance, where
overridability should be detected by structural equality of signatures instead
of referential equality of constructed descriptors (no test added because it's
not so easy to come up with an example)
2016-10-25 15:42:34 +03:00
Alexey Andreev
aa5d15cff7
KT-2752: minor fixes after code review
2016-10-08 19:25:43 +03:00
Alexander Udalov
73652f309f
Do not create synthesized equals/hashCode/toString in data classes in compatibility mode
...
To simplify migration from 1.0 to 1.1, do not allow data classes to
automatically implement abstract equals/hashCode/toString declared in
super-interfaces (KT-11306) if "-language-version 1.0" is specified
2016-10-04 10:24:41 +03:00
Denis Zharkov
bb1b8cca20
Fix AssertionError in CodegenUtil.getDelegates
...
Change getAllOverriddenDescriptors contracti, now it returns
original (not substituted) descriptors without any duplicates.
First of all it's necessary in CodegenUtil.getDelegates to avoid
duplicates (see assertion there), but also it's convenient for all
other usages of this method
#KT-8154 Fixed
2016-09-28 11:40:35 +03:00
Denis Zharkov
49fee026fc
Minor. Simplify CodegenUtil.getDelegates
2016-09-28 11:40:20 +03:00
Denis Zharkov
217f033552
Prevent generation of delegations to interfaces private methods
...
#KT-13381 Fixed
#KT-13996 Fixed
2016-09-23 14:51:14 +03:00
Alexander Udalov
fea116f14e
Allow data classes to implement equals/hashCode/toString from base classes
...
#KT-11306 Fixed
2016-09-15 16:45:48 +03:00
Michael Bogdanov
69dc18b8b4
Proper concrete implementation filtering in java 8 interface case
2016-09-12 12:59:31 +03:00
Michael Bogdanov
4b0c272e19
'toString' implementation in DescriptorBasedFunctionHandle
2016-09-12 12:59:31 +03:00
Alexander Udalov
d945c33d5e
Move some members from OverrideResolver to OverridingUtil
2016-07-25 15:55:31 +03:00