Alexey Andreev
af1b7c49b4
JS: insert dummy initializers for property that initialized on init block or in secondary constructors. See KT-8211
2017-01-19 13:20:24 +03:00
Alexey Andreev
a927770935
JS: fix scope of function generated for primary constructor. See KT-15678
2017-01-19 13:09:59 +03:00
Alexey Andreev
daac24b62e
JS: prohibit referencing noImpl property from non-external declarations. See KT-15306
2017-01-19 13:09:06 +03:00
Alexey Andreev
199790276b
JS: prohibit dynamic values as handlers of property delegates. Prohibit delegation of classes by dynamic values. See KT-15283
2017-01-19 13:07:58 +03:00
Alexey Andreev
a4b2abc7d5
JS: prohibit spread operator and destructuring declaration in dynamic values. See KT-15283
2017-01-19 13:07:57 +03:00
Alexey Andreev
31d0e0b7c4
JS: prohibit .. operation on dynamic type. See KT-15184
2017-01-19 13:07:56 +03:00
Alexey Andreev
e6be418dd3
JS: prevent optimizer from removing access to dynamic property access. See KT-15278
2017-01-19 13:07:56 +03:00
Mikhael Bogdanov
e1bec0df2e
Proper generate interval for catch block variable; Fix for KT-15646: InconsistentDebugInfoException when stepping over throw
...
#KT-15646 Fixed
2017-01-19 09:33:10 +01:00
Denis Zharkov
4ab6b6954d
Fix false positive "Null can not be a value of a non-null type"
...
Inferred type of receiver of orElse is Optional<T & Any>
Generic descriptor is orElse(E!): E!
Substituted descriptor is orElse(T): T , and that is the problem.
Seems that E! => (T & Any)! gets expanded to just T or T & Any , however it should be expanded to
(T & Any) .. (T & Any)? => T & Any .. T & Any
T & Any is NotNullTypeParameter(T)
The problem is that (T & Any)? is expanded to T & Any,
that is seems to be wrong.
#KT-15236 Fixed
2017-01-19 10:20:35 +03:00
Denis Zharkov
5d4f51d9b6
Refine 1.0-compatibility mode for JDK dependent members
...
- calls must be prohibited iff they refer to some additonal built in member
- override must be prohibited iff all of the overridden descriptors are additional
Other usages were able to be successfully compiled by 1.0.x
Solution with @Deprecated(level=Error) doesn't work properly, because
deprecation propagates to overridden, thus call 'java.util.ArrayList<String>().stream()'
becomes invalid, while it was correct in 1.0.x
#KT-15794 Fixed
2017-01-19 10:20:35 +03:00
Dmitry Petrov
b9f9894310
KT-15677 KT-15775
...
Update parser & descriptor renderer to handle parenthesized types and function types properly.
Resolve annotations in parenthesized types.
AnnotationsImpl.isEmpty() returned false for targeted annotations only
(e.g., 'fun @receiver:Ann C?.foo()').
Properly keep track of targeted annotations.
2017-01-19 09:53:17 +03:00
Ilya Gorbunov
a429992e81
Do not generate headers for JS-only functions.
2017-01-18 22:16:49 +03:00
Łukasz Wojtów
be15dea6b5
Fix typo
2017-01-18 21:51:31 +03:00
Ilya Gorbunov
ed9b9d972c
Make 'add' function abstract in AbstractMutableSet in JVM
2017-01-18 20:07:24 +03:00
Mikhail Glukhikh
b6443eed9e
Data flow information: stable complex expressions introduced back for brackets / elvis / if / when #KT-13468 Fixed
...
This reverts commit e515d7f773 and
also commit 1c9f08e986
(cherry picked from commit 9fa155b)
2017-01-18 18:54:08 +03:00
Mikhail Glukhikh
86bc49558d
Tests for KT-13468 / KT-13765
...
(cherry picked from commit 2e4c0b4)
2017-01-18 18:53:55 +03:00
Nikolay Krasko
ffc1624484
Stop using idea isNullOrEmpty function (KT-15786)
...
#KT-15786 Fixed
2017-01-18 18:36:19 +03:00
Alexander Udalov
4f36376291
Do not report KCLASS_WITH_NULLABLE_ARGUMENT_IN_SIGNATURE anymore
...
It was only reported in already erroneous cases
2017-01-18 18:21:30 +03:00
Alexander Udalov
d02404b07b
Report error on expression of nullable type in class literal
...
#KT-15740 Fixed
2017-01-18 18:21:29 +03:00
Alexander Udalov
6a352a1da7
Report error on nullable type alias in class literal
...
#KT-15736 Fixed
2017-01-18 18:21:28 +03:00
Zalim Bashorov
284b9d2ba6
KJS: make deep copy of additional arguments before expose them in KotlinFunctionIntrinsic
2017-01-18 14:43:33 +03:00
Zalim Bashorov
ca2930600a
KJS: introduce $kotlin_test_internal$ to expose some helper functions in the tests
2017-01-18 14:42:40 +03:00
Zalim Bashorov
bbd69a05dc
KJS: make JSON object and allow to pass null to stringify methods
2017-01-18 14:41:22 +03:00
Zalim Bashorov
1b09fa29fb
Fix maven build
2017-01-18 14:40:57 +03:00
Zalim Bashorov
8cf44e9f36
KJS: increase ABI version
2017-01-18 14:40:56 +03:00
Zalim Bashorov
cfba99c704
KJS: remove unused polyfill String.prototype.contains
2017-01-18 14:40:55 +03:00
Zalim Bashorov
264e319487
KJS: type -> kind
2017-01-18 14:40:54 +03:00
Zalim Bashorov
70423e8129
KJS: remove obsolete classIndex
2017-01-18 14:40:51 +03:00
Zalim Bashorov
be694d53ef
KJS: trait -> interface
2017-01-18 14:40:50 +03:00
Zalim Bashorov
c6f0d0fa59
KJS: split kotlin_* files to several files
2017-01-18 14:40:49 +03:00
Zalim Bashorov
d635d7859e
KJS: remove obsolete kotlin.modules
2017-01-18 14:40:48 +03:00
Zalim Bashorov
3ef1321841
KJS: implement throw* functions in Kotlin
2017-01-18 14:40:47 +03:00
Zalim Bashorov
6f56079f7e
KJS: add external declaration for parseFloat; remove obsolete safeParseInt and safeParseDouble
2017-01-18 14:40:46 +03:00
Zalim Bashorov
d0c7c8022e
KJS: remove obsolete functions from kotlin_lib.js
2017-01-18 14:40:44 +03:00
Zalim Bashorov
6b38b5f5ba
KJS: implement array factory function intrinsics in Kotlin
2017-01-18 14:40:42 +03:00
Zalim Bashorov
a71fbda8a1
KJS: remove deprecated splitWithRegex and it's implementation in kotlin_lib.js
2017-01-18 14:25:36 +03:00
Zalim Bashorov
d985d30f91
KJS: reimplement collectionSort in Kotlin
2017-01-18 14:25:36 +03:00
Zalim Bashorov
20c482598a
KJS: reimplement Json.add in Kotlin
2017-01-18 14:25:36 +03:00
Zalim Bashorov
edf1c2da0f
KJS: reimplement deleteProperty in Kotlin
2017-01-18 14:25:36 +03:00
Zalim Bashorov
6ea6e4ab98
KJS: move println to kotlin.io; import kotlin.io by default in Default platform
2017-01-18 14:25:36 +03:00
Zalim Bashorov
7f10ce072f
KJS: move js part of "kotlin.js" and related files to "js.libraries" module
2017-01-18 14:25:36 +03:00
Zalim Bashorov
08e1f757a9
Minor: fix typo
2017-01-18 14:25:36 +03:00
Zalim Bashorov
45b92be1ae
KJS: extract string polyfills to separate file
2017-01-18 14:25:36 +03:00
Zalim Bashorov
12a1c63bda
KJS: move some files inside js.libraries module
2017-01-18 14:25:36 +03:00
Mikhael Bogdanov
de52a5bc20
Fixed diagnostic message
2017-01-18 11:19:36 +01:00
Denis Zharkov
22ddfed911
Do not load PlatformDependent annotated built-in members with lv=1.0
...
#KT-15780 Fixed
2017-01-18 13:00:32 +03:00
Mikhael Bogdanov
591de36666
Added deprecated diagnostic for invoking default methods within jvm-target 1.6
2017-01-18 10:50:59 +01:00
Mikhael Bogdanov
7a27a9d51f
Propagate 'CompilerConfiguration' to frontend checkers
2017-01-18 10:23:40 +01:00
Mikhael Bogdanov
9b1c258cdf
Android test fix
2017-01-18 10:23:40 +01:00
Denis Zharkov
37b364a70a
Fix processing of uninitialized instances for coroutines
...
The problem is that code in the attached test led to VerifyError at runtime
because the Bar's uninitialized instance created in 'map' was being stored
to the field (leaked from the JVM point of view).
The actual problem was that after repeating visiting of NEW operation
we used to drop the set of already visited copy usages.
For clarification see the comment before 'processUninitializedStores'
#KT-15016 Fixed
2017-01-18 12:00:46 +03:00