Mikhael Bogdanov
2a8041e77e
Check method abstractness during bridge generation per method not interface
2018-04-03 19:18:14 +02:00
Zalim Bashorov
9349b9bc67
[JS BE] Fix the crash on compound operations with a qualified call on left side
...
#KT-22001 Fixed
2018-03-28 22:49:09 +03:00
Anton Bannykh
e1233beddc
Convert BinaryOperationIntrinsic to Java @FunctionInterface
...
Also some minor renamings and visibility changes
2018-03-26 20:07:00 +03:00
Anton Bannykh
3a7518cad2
Implemented equality comparison for primitive types
2018-03-26 20:07:00 +03:00
Anton Bannykh
7cde03938a
Fix some Unit materialization bugs
2018-03-26 20:07:00 +03:00
Anton Bannykh
1f7d235fb5
AssignmentBOIF is never used
2018-03-26 20:07:00 +03:00
Anton Bannykh
7c61e594e2
Simplified CompareTo intrinsics
2018-03-26 20:07:00 +03:00
Anton Bannykh
757649d6da
BinaryOperationIntrinsic as typealias
2018-03-26 20:07:00 +03:00
Anton Bannykh
2352dc3d1c
minor ObjectIntrinsics refactoring
2018-03-26 20:07:00 +03:00
Anton Bannykh
60e487dcec
Minor FunctionIntrinsics refactoring
2018-03-26 20:07:00 +03:00
Anton Bannykh
5b11ee251f
Simplify binary operation intrinsics
...
Having to invoke `exist` so prevent a runtime exception
is no better then trying to invoke a method on a null
reference. It is actually worse, because Kotlin type
system handles the latter.
2018-03-26 20:07:00 +03:00
Anton Bannykh
cfd42b85b2
Kotlinify Intrinsics.java
2018-03-26 20:07:00 +03:00
Alexey Tsvetkov
8a82c1618c
Use Plugins DSL in Kotlin Gradle scripts
...
When plugins DSL is used, there is no need to
manually generate typesafe accessors for extensions and
conventions (by running `./gradlew kotlinDslAccessorsSnapshot`).
2018-03-26 16:09:29 +03:00
Roman Artemev
0d0adbbc05
Fixed handling of default params in declaration (KT-23239)
2018-03-21 12:44:24 +03:00
Alexey Tsvetkov
2584143e92
Report correct source to output mapping for kjsm files
...
Now IC can correctly remove kjsm files when source files are changed
2018-03-19 18:04:33 +03:00
Alexey Tsvetkov
1d87aaf3d6
Avoid serializing JS metadata twice per compilation
2018-03-19 18:04:33 +03:00
Simon Ogorodnik
c0b0f6d1ca
Extract PSI to separate module
2018-03-16 13:32:14 +03:00
Anton Bannykh
04cbea4956
JS: fix Long constant translation (KT-19228 fixed)
2018-03-15 14:58:10 +03:00
Alexander Udalov
27ad4f7d5d
Move ProtoBuf classes to package org.jetbrains.kotlin.metadata
2018-03-14 12:25:10 +01:00
Yan Zhulanow
34d1611ed4
Add Pill support to compiler and IDE modules
2018-03-02 03:15:17 +03:00
Anton Bannykh
4a5e9bbc7f
JS: remove -XtypedArraysEnabled flag (always true now)
2018-03-01 14:26:13 +03:00
Anton Bannykh
ed80252ba8
JS: fix double compareTo behaviour for NaN and +-0 (KT-22723)
2018-02-28 15:01:58 +03:00
Anton Bannykh
eabe21726c
JS: improve switch elimination
2018-02-21 18:39:19 +03:00
Dmitry Savvinov
0929673576
Refactor DataFlowValueFactory into proper component
2018-02-20 13:11:33 +03:00
Ilmir Usmanov
87bbac9d43
Take coroutineContext into account in RedundantSuspendModifierInspection
...
#KT-22651: Fixed
2018-02-08 19:34:20 +03:00
Alexander Udalov
396a5ab352
JS: write/read module annotation FQ names to/from metadata
...
#KT-22759 In Progress
2018-02-08 17:07:23 +01: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
Ilmir Usmanov
ad385f42a9
Fix continuaion retrieval on generated coroutineContext intrinsic code
...
Use fake continuation instead on real one in JVM BE.
Pass continuation parameter to closure generator in JS BE.
#KT-22577: Fixed
2018-02-06 21:14:37 +03:00
Zalim Bashorov
e0245a9dc7
KJS: support default arguments for expected declarations
2018-02-05 13:38:06 +01:00
Alexander Udalov
db4ce703a6
Support default arguments for expected declarations
...
#KT-21913 Fixed
2018-02-05 13:38:05 +01:00
Alexander Udalov
d356f52873
JS: remove MULTIPLATFORM directive from box tests
...
Move all sources into one module and use "!LANGUAGE:
+MultiPlatformProjects" instead
2018-02-05 13:38:05 +01:00
Alexander Udalov
ac5444ef7c
Add declaresOrInheritsDefaultValue, move hasDefaultValue to 'resolution'
...
'hasDefaultValue' needs to be adapted to support locating default values
in 'expect' functions, and this is not possible in module 'descriptors',
where it was originally declared. Therefore, move it to module
'resolution' and copy its current logic to a separate function
'declaresOrInheritsDefaultValue' which is used in 5 places.
'hasDefaultValue' itself is updated in subsequent commits.
Besides changing imports, also use a simpler declaresDefaultValue in
some places, which does not include default values inherited from
supertypes: this is OK for constructors, and in LazyJavaClassMemberScope
for functions from built-ins which do not have default argument values
at all
2018-02-05 13:38:04 +01:00
Anton Bannykh
3ead464671
JS: fix callable reference with implicit extension receiver (KT-22638 fixed)
2018-02-02 14:34:34 +03: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
Vyacheslav Gerasimov
89a07ded1c
Extract versions and remove unnecessary '.jar' extensions
2018-01-30 17:06:18 +03:00
Ilya Chernikov
7e21573cf4
Convert the rest of the project to intellij repo prepared in buildSrc
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
Ilya Chernikov
8266777bd5
Convert js modules to intellij plugin
2018-01-30 17:06:07 +03:00
Alexander Udalov
82574cb570
Do not store ClassDescriptor in EnumValue
...
Only store the ClassId of the enum class and the Name of the entry, and
resolve the needed descriptor in getType() instead, which now takes the
module instance where that descriptor should be resolved
2018-01-18 12:49:38 +01:00
Alexander Udalov
8b3d439d5b
JS: minor, simplify code locating default argument values
...
At the only call site of getDefaultArgument it is checked that the
parameter actually _declares_ default value, so it's not necessary to
try to load that value from supertypes
2018-01-18 12:46:27 +01:00
Ilya Gorbunov
e2306ecf94
Keep exception primary constructors for binary compatibility in JS
...
Resort to a workaround for KT-22053 in direct Throwable inheritors.
2017-12-29 21:21:20 +03:00
Ilya Gorbunov
3825187e93
Update expected reachable node count
2017-12-29 21:20:59 +03:00
Anton Bannykh
2df85ae4a9
kotlin-test-js: pass test function result to test framework (e.g. Promise)
2017-12-27 19:57:49 +03:00
Anton Bannykh
79359b7bc2
JS: test kotlin-test as box tests, support nested, fix mpp
...
Support tests inside nested classes and companion objects (KT-21850
fixed).
Don't launch multiplatform tests twice (KT-21567 fixed).
2017-12-27 15:22:26 +03:00
Alexey Tsvetkov
d7edbb8dfc
Track changes in inline function when friend paths are disabled in JS
2017-12-22 16:12:20 +03:00
Alexey Tsvetkov
ad1978940b
Recompile inline function usages in JS when offset is changed
...
Otherwise source maps would differ after rebuild
2017-12-22 16:12:20 +03:00
Anton Bannykh
6bee5699a0
Migrate node_utils.xml to Gradle
2017-12-14 17:41:20 +03:00
Alexey Tsvetkov
c13b2a6bbc
Test incremental recompilation of enum usage in JS
2017-12-11 17:20:14 +03:00
Mikhail Zarechenskiy
7f0cca52ca
[NI] Use definitely not-null types for smartcasts
2017-12-06 18:36:13 +03:00