Dmitry Petrov
b5607e4b3d
Store type arguments by indices instead of TypeParameterDescriptor keys
2018-03-27 17:25:11 +03:00
Alexey Sedunov
f4936d3e31
JS: Fix NodeJS run configuration support
...
#KT-16710 Fixed
2018-03-27 13:47:14 +03:00
Alexey Sedunov
e604707450
Move: Support "Search references" option in dialogs
2018-03-27 13:47:13 +03:00
Dmitry Savvinov
5b216a0270
Don't throw exception on recursion for class header scope
...
The root issue here is that when we have some cycle in scopes, the place
where we detect a loop depends on where we've entered that cycle.
Previously, we didn't know about cases where we enter scopes loop
through `ClassResolutionScopesSupport.scopeForClassHeaderResolution` =>
there were no need to handle recursion on `scopeForClassHeaderResolution`
carefully.
It seems that in some very narrow cases (launch of specific
inspection on specficic code with specific caches state), we do manage
to enter loop exactly through `scopeForClassHeaderResolution` (see
KT-23033), which causes exception.
^KT-23033 Fixed
2018-03-27 12:16:54 +03:00
Dmitry Savvinov
148573fcf6
Remove 'DataFlowValueKindUtils.isStable', use 'DataFlowValue.isStable' instead
2018-03-27 10:51:51 +03:00
Anton Bannykh
7b860eab36
Merge kotlin-experimental into kotlin standard library (KT-23055 fixed)
...
* kotlin-experimental.js has been already merged into kotlin.js
* change library name to kotlin in kotlin-experimental.meta.js in order to produce correct require calls
* concatenate kotlin-experimental.meta.js with kotlin.meta.js
* suppress multiple module declaration warning for such use case
2018-03-26 23:13:28 +03:00
Anton Bannykh
d0e71acaa5
JS: fix NaN bug workaround
2018-03-26 20:07:00 +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
Alexander Udalov
a4b7023f65
Fix compilation errors in builtinsSerializer test data
2018-03-26 17:21:09 +02:00
Alexander Udalov
6660873e18
Add annotations to dependencies of tests-common
...
To prevent warnings "unknown enum constant Capitalization.Title" during
the build
2018-03-26 17:21:08 +02:00
Alexander Udalov
13df75ef74
Minor, extract isInstanceType to protoTypeTableUtil
2018-03-26 17:21:08 +02:00
Alexander Udalov
f7a3182982
Minor, add default value to contract expression flags
2018-03-26 17:21:07 +02:00
Alexander Udalov
46a1109910
Report warnings on usages of kotlin-stdlib-jre7/kotlin-stdlib-jre8
...
#KT-21347 Fixed
2018-03-26 17:19:35 +02:00
Alexander Udalov
71e9ee7437
Minor, rephrase diagnostic message on repeatable annotations
2018-03-26 16:35:17 +02:00
Alexander Udalov
7f1a468b2e
Read virtual files safely in KotlinMetadataStubBuilder
...
Do not fail on an invalid file, or on a file pointing to a non-existent
.jar entry, exactly as this is done in KotlinMetadataDecompiler
2018-03-26 15:54:28 +02:00
Mikaël Peltier
3a50d0d78f
KT-22063 Add intrinsics for javaObjectType and javaPrimitiveType
...
Fix of https://youtrack.jetbrains.com/issue/KT-22063
2018-03-26 15:52:19 +02:00
Alexey Tsvetkov
d79a4fd9a0
Remove gradle/project-schema.json
...
It is not needed anymore.
Also since :ultimate project is included conditionally,
if "non-ultimate" developer regenerates
and commits gradle/project-schema.json,
then ultimate builds would fail.
2018-03-26 16:09:29 +03:00
Alexey Tsvetkov
b420671a1d
Introduce jps-compatible-base plugin to create necessary configurations
...
To avoid generating static accessors (via kotlinDslAccessorsSnapshot),
we need to create all necessary configurations during 'plugins'
block evaluation.
2018-03-26 16:09:29 +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
Alexey Tsvetkov
19a13b47ff
Use java-gradle-plugin in buildSrc
2018-03-26 16:09:29 +03:00
ilmat192
9d15052688
Fix composite build with Kotlin/Native ( #1588 )
2018-03-26 16:04:41 +03:00
Mikhail Zarechenskiy
4ed5e2f35e
[NI] Improve inference for lambdas that return lambdas
2018-03-26 14:59:52 +03:00
Mikhail Zarechenskiy
b8c0910724
Add one more test on delegated properties to check NI
2018-03-26 14:37:32 +03:00
Mikhail Zarechenskiy
3ea0b9975f
[NI] Use specialized type of integer value type for delegate receiver
2018-03-25 20:22:38 +03:00
Mikhail Zarechenskiy
3dde31729e
[NI] Record information about delegated property as in old inference
2018-03-25 20:22:37 +03:00
Mikhail Zarechenskiy
7e982fed4f
Add complex test on delegated properties
2018-03-25 20:22:37 +03:00
Mikhail Zarechenskiy
bb4fb669a0
[NI] Refactoring: rename method
2018-03-25 20:22:36 +03:00
Mikhail Zarechenskiy
bf92280f52
[NI] Update testdata about inference for delegated properties
2018-03-25 20:22:36 +03:00
Mikhail Zarechenskiy
53b434a3e3
[NI] Use getValue/setValue methods simultaneously to infer types
...
Rewrite inference for delegated properties with the new scheme
2018-03-25 20:22:36 +03:00
Mikhail Zarechenskiy
0f60965595
[NI] Introduce basic resolver for many candidates
2018-03-25 20:22:35 +03:00
Mikhail Zarechenskiy
3078e5a6ff
[NI] Simplify creation of resolution callbacks
2018-03-25 20:22:35 +03:00
Mikhail Zarechenskiy
ff10e97c28
[NI] Make CallResolutionResult more typed
2018-03-25 20:22:35 +03:00
Mikhail Zarechenskiy
c8ef785010
[NI] Move method hasContradiction to constraints storage
2018-03-25 20:22:34 +03:00
Mikhail Zarechenskiy
663b417c5a
[NI] Introduce method to add extra constraints before completion
2018-03-25 20:22:34 +03:00
Mikhail Zarechenskiy
50027225a1
[NI] Extract interface InferenceSession to a separate file
2018-03-25 20:22:34 +03:00
Mikhail Zarechenskiy
1a5282c4b7
[NI] Introduce methods to extend inference for several candidates
2018-03-25 20:22:33 +03:00
Mikhail Zarechenskiy
01cdc08026
[NI] Refactor: extract method to run candidate completion out
2018-03-25 20:22:33 +03:00
Mikhail Zarechenskiy
2235f5eb48
[NI] Refactor: create separate method for candidate preparation
2018-03-25 20:22:33 +03:00
Mikhail Zarechenskiy
8c44d44e78
[NI] Propagate class to extend inference through resolution context
2018-03-25 20:22:33 +03:00
Mikhail Zarechenskiy
887a69b72e
[NI] Extend constraint completer to work with several resolve atoms
2018-03-25 20:22:32 +03:00
Zalim Bashorov
a47a916437
Restore hack for avoiding tracking declarations from JS stdlib
2018-03-24 20:09:11 +03:00