Mikhail Zarechenskiy
3e0b16b4d3
Revert "Black box update"
...
This reverts commit 496a21254b .
2017-10-25 21:35:32 +03:00
Mikhael Bogdanov
232d1bd9ef
Switch warning to error for java-default method calls within 1.6 target
...
#KT-15825 Fixed
(cherry picked from commit 9b29ebb)
2017-10-11 19:20:24 +03:00
Mikhael Bogdanov
69457ef3f1
Generate optimized hashCode for primitive type with jvmTarget 1.8+
...
#KT-7571 Fixed
2017-06-28 13:44:07 +02:00
Mikhael Bogdanov
496a21254b
Black box update
2017-03-20 18:46:01 +01:00
Mikhael Bogdanov
a03ed6f742
Fix for KT-16581: VerifyError when calling default value parameter with jvm-target 1.8
...
#KT-16581 Fixed
2017-03-03 11:21:42 +01:00
Denis Zharkov
f2aacf774e
Get rid of redundant not-null assertion for parameter
...
The problem was that in `Function<T>.apply(T)` T is now not-platform,
so when checking if not-null assertion is needed for parameter in SAM,
it's defined by the upper bounds of T that is a platform (Any..Any?),
and while it's definitely not marked as nullable it's still nullable
in a sense that it can contain null as a value.
So the solution is obvious
#KT-16413 Fixed
2017-02-20 15:46:49 +03:00
Denis Zharkov
1bb40afada
Simplify compatibility mode with ll=1.0 on JDK dependent built-ins
...
A lot of problem arise with current solution
(loading them with lowpriority annotation + additional call checkers):
- We errorneously treated ArrayList.stream as an existing method, while
it's just a fake override from List
- The same problem arises when creating a class delegating to List.
Also the latter case is failing with codegen internal error
(see issue KT-16171)
The negative side of this solution is that instead of reporting meaningful
diagnostic, there will be UNRESOLVED_REFERENCE.
But it seems to be better than having strange problems like ones described above.
#KT-16073 Fixed
#KT-16171 Fixed
2017-02-08 16:04:19 +03:00
Denis Zharkov
c362a9154b
Rename SUSPENDED_MARKER to COROUTINE_SUSPENDED
2017-01-27 23:24:13 +03:00
Denis Zharkov
8fa8ba7055
Move coroutine-related runtime parts to kotlin.coroutines.experimental package
...
#KT-15975 Fixed
2017-01-27 23:24:13 +03:00
Mikhael Bogdanov
25d75bcd8b
Delegates to java defaults methods in compatibility mode
2017-01-26 14:32:33 +01:00
Dmitry Petrov
a974ed1049
Support custom accessors for top-level properties in scripts.
2017-01-26 10:12:13 +03:00
Mikhael Bogdanov
fc4be17623
Fix for KT-14966: Regression: VerifyError on access super implementation from delegate
...
#KT-14966 Fixed
2017-01-25 15:56:55 +01:00
Mikhael Bogdanov
11578c602e
Added inline tests for jvm 8 target
2017-01-25 15:56:55 +01:00
Mikhael Bogdanov
da1b8a02ed
Exclude builtins members mapped to java default methods from delegation
2017-01-20 13:16:58 +01:00
Mikhael Bogdanov
591de36666
Added deprecated diagnostic for invoking default methods within jvm-target 1.6
2017-01-18 10:50:59 +01:00
Denis Zharkov
c7f76d7ec8
Minor. Fix tests after CoroutineContext introduction
2017-01-14 15:13:36 +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
Mikhael Bogdanov
09eeb414fe
New test for jvm8 nondefaults target
2017-01-13 13:52:57 +01:00
Mikhael Bogdanov
d278a5c6d5
Move java 8+defaults tests to separate folder
2017-01-13 13:52:57 +01:00
Mikhael Bogdanov
0a363fd1a5
Introduced test flag: JVM8_TARGET_WITH_DEFAULTS
2017-01-13 13:52:56 +01:00
Mikhael Bogdanov
7f8acbb759
Use proper flag for interface method invocation
2017-01-13 13:52:55 +01:00
Mikhael Bogdanov
f1c1fcf0fc
Fix for KT-11969: ProGuard issue with private interface methods
...
#KT-11969 Fixed
2016-12-27 14:07:37 +01:00
Stanislav Erokhin
d7566d84d0
Fixed testdata.
2016-12-16 02:01:12 +03:00
Stanislav Erokhin
b527a4d158
Global rename in test data for coroutines
...
(cherry picked from commit 132f97b)
2016-12-15 23:58:26 +03:00
Denis Zharkov
6649f64e9f
Support new coroutine convention in JVM backend
2016-12-15 23:57:40 +03:00
Mikhael Bogdanov
268d55104c
Don't generate delegation to java default methods
...
#KT-15226 Fixed
2016-12-14 11:20:04 +01:00
Denis Zharkov
fcd9ee037e
Support coroutines stack-unwinding in JVM backend
...
#KT-14924 In Progress
2016-11-29 14:14:50 +03:00
Denis Zharkov
1f98accad2
Support new suspend convention in JVM backend partially
...
Stack-unwinding does not work yet
#KT-14924 In Progress
2016-11-29 14:14:50 +03:00
Mikhael Bogdanov
61da8be260
Generate parameters metadata for java 8 reflection
2016-11-14 14:27:08 +01:00
Michael Bogdanov
5bd045c79c
Fix for KT-14243: Wrong invocation descriptor on calling implicitly generated implementation in class
...
#KT-14243 Fixed
2016-10-10 14:17:50 +03:00
Michael Bogdanov
95a1c254e1
Added error diagnostic on inheriting target 6 interface
2016-10-03 14:13:17 +03:00
Michael Bogdanov
d9bb519b76
Don't generate delegation to jvm8 default methods
2016-10-03 14:06:01 +03:00
Michael Bogdanov
c19e035f91
Properly map super calls in typeMapper
2016-10-03 14:06:00 +03:00
Michael Bogdanov
5f1f4a067d
Map proper owner for method with default args
2016-10-03 14:06:00 +03:00
Michael Bogdanov
dd4d5e3aa1
Generate 'DefaultImpls' for jvm 8 target only within compiler option
2016-10-03 14:05:59 +03:00
Michael Bogdanov
ca41f01468
Generate interface property annotations in interface class (not in DefaultImpls)
2016-10-03 13:50:12 +03:00
Michael Bogdanov
dfd5be1a33
Generate all bodies in interfaces as default methods
2016-10-03 13:50:11 +03:00
Michael Bogdanov
69dc18b8b4
Proper concrete implementation filtering in java 8 interface case
2016-09-12 12:59:31 +03:00
Denis Zharkov
915e36cb02
Add Map.getOrDefault method as PlatformDependent declaration with refined signature
...
- First parameter should have type of K instead of Any
- Special bridge should return second parameter if a key has wrong type
- Special bridge may throw an exception if defaultValue has wrong type
#KT-13209 Fixed
2016-07-27 18:46:13 +03:00
Denis Zharkov
f2cb86c3f6
Minor. Fix testData
2016-07-27 18:46:13 +03:00
Denis Zharkov
3845ea863c
Do not generate DefaultImpl method for MutableMap.remove(K;V)Z
...
#KT-13069 Fixed
2016-07-12 16:27:48 +03:00
Denis Zharkov
7723a3a105
Refine definition of whether single parameter the method should be boxed
...
Only 'Collection<Int>.remove(E): Boolean' should match
2016-07-04 15:44:00 +03:00
Denis Zharkov
96eb3f411d
Minor. Simplify 'async' tests
2016-06-19 12:50:54 +03:00
Denis Zharkov
07dcc6c616
Support 'handleException' operator in JVM backend
2016-06-19 12:50:53 +03:00
Alexander Udalov
b4f81d4bb5
Use 'JVM_TARGET: 1.8' directive in codegen tests on 1.8 target
2016-06-16 16:51:18 +03:00
Mikhael Bogdanov
1c3ce93275
Generate same delagation structure as in jvm 6 target until new binary compatibility design
...
We need to make some decision about binary compatibility beetwen targets and semantics, so now old logic is used
2016-06-15 13:43:29 +03:00
Mikhael Bogdanov
bb59638039
Support bridges in interfaces. Fix for KT-12416: Missed bridges in js backend
...
#KT-12416 Fixed
2016-06-15 13:43:28 +03:00
Mikhael Bogdanov
16159c483d
Generate defaults methods on extending jvm6 interfaces
2016-06-15 13:43:27 +03:00
Mikhael Bogdanov
331341bd4d
Don't generate delegates on overriding jvm8 interfaces
2016-06-15 13:43:27 +03:00
Michael Bogdanov
01aa89b1ea
Generate delegation body for default interface methods, calculate proper abstractness for them
2016-06-15 13:43:26 +03:00