Abduqodiri Qurbonzoda
194791a168
Introduce minByOrNull and maxByOrNull extension functions #KT-38854
2020-06-19 04:53:51 +03:00
Victor Petukhov
ece61915de
NI: clean calls in coroutine inference before the second analysis of += only for right side
...
^KT-39660 Fixed
2020-06-18 17:09:59 +03:00
Mikhail Zarechenskiy
d44a7ff8f9
Add test for obsolete issue
...
The issue was fixed in df1595e
#KT-39630 Fixed
2020-06-18 13:05:42 +03:00
Mikhail Zarechenskiy
df1595e4bc
Fix SAM conversions for derived classes
...
#KT-39535 Fixed
#KT-37149 Fixed
2020-06-18 12:36:30 +03:00
Igor Chevdar
3634ad2d54
Added a test
2020-06-18 12:44:48 +05:00
Steven Schäfer
03651f1dd4
IR: Fix inner class type parameters in IrTypeSystemContext
2020-06-17 22:10:00 +03:00
Georgy Bronnikov
c015463926
IR: remove field fake overrides
2020-06-17 20:02:26 +03:00
Alexander Udalov
117aae8a6b
Use experimental javaType in full reflect where it's not supported yet
...
#KT-22936 Fixed
#KT-34344 Fixed
2020-06-17 18:33:08 +02:00
Victor Petukhov
447308dcfc
Revert "Revert "Revert "Completely rewrite reifiedIntTypeAnalysis, making it more streamline"""
...
This reverts commit 5567033b
2020-06-17 13:02:40 +03:00
Ilmir Usmanov
1cccceabb9
Revert "Fix merging two reference values"
...
This reverts commit 85e2392f
2020-06-17 13:02:40 +03:00
Ilmir Usmanov
d9821412d0
Do not generate fields for unused suspend lambda parameters
...
This also allows us to not spill them in the lambda.
But, disable this optimization for local named functions.
#KT-16222 In progress
2020-06-17 12:00:25 +02:00
Victor Petukhov
901b794af3
Use lexical scope from trace during checking suspend context if the analysis of engaged parent function isn't completed
...
^KT-39461 Fixed
2020-06-16 22:00:04 +03:00
Victor Petukhov
982cbf1148
NI: clear calls info in coroutine inference before the second analysis of += right side
...
^KT-39376 Fixed
2020-06-16 18:26:59 +03:00
Kristoffer Andersen
f0ff8f202c
[JVM IR] Use JVM8 support for unsigned int operations
...
- unmute tests
- add test to ensure JVM target is respected
- add test to cover smart-casted cases
- implement function matching and replacement
- Switching on uint constants
- introduce lowering for standard library replacements
2020-06-15 14:26:28 +03:00
Igor Chevdar
8b37a094fe
Added a test on possible name clash for SAM wrappers
2020-06-11 23:00:36 +05:00
Ilya Chernikov
3da6ff7ec3
Optimize scopes handling inside LexicalChainedScope
2020-06-11 16:16:14 +02:00
Alexander Udalov
6e67e1e78d
Replace appendln with appendLine in project
2020-06-11 13:01:30 +02:00
Mikhail Zarechenskiy
3921a0ed70
Add test for obsolete issue
...
#KT-17341 Obsolete
#KT-32958 Obsolete
2020-06-10 16:00:23 +03:00
Mads Ager
dc34d355bc
[JVM_IR] Generate line numbers and nops for init blocks.
...
This seems to be what JVM does and it allows you to set a
breakpoint on the init line.
2020-06-10 08:05:52 +02:00
Ilmir Usmanov
85e2392fef
Fix merging two reference values
...
In this case, make the result of value type Object instead of unknown.
2020-06-09 20:52:29 +02:00
Ilmir Usmanov
5567033b33
Revert "Revert "Completely rewrite reifiedIntTypeAnalysis, making it more streamline""
...
This reverts commit 822c14814b .
2020-06-09 20:52:24 +02:00
Mikhail Zarechenskiy
93e9d3e57d
Delay check for possibly deferred return type for reference candidate
...
This issue appeared after recently added new overload for flatMapTo.
Before that, we picked candidate returning List<T> and completed
inference, now we also check one more flatMapTo, which is here is
incorrect and as a result we go into outer scope. Outer scope contains
one property with deferred type, which introduced error about
"typechecker has run into recursive problem" even it isn't applicable
by receiver.
So, the fix is to check receiver first and only then check return
type of a candidate.
#KT-39470 Fixed
2020-06-09 17:36:58 +03:00
Alexander Udalov
fc1217ba07
Generate delegates to DefaultImpls in fun interface wrappers
...
#KT-37436 Fixed
2020-06-09 11:44:31 +02:00
Alexander Udalov
2793187bda
Handle IllegalArgumentException in trimMargin intrinsics on JVM
...
#KT-38537 Fixed
2020-06-09 11:11:06 +02:00
Vladimir Dolzhenko
9319c4c96e
DryRun mode for GenerateTests is added
...
Relates to #KTI-17
2020-06-08 19:05:10 +00:00
Yunir Salimzyanov
b8cbfcbe7e
Revert "Add temporary fixMeExtensions to pass test on extensions check"
...
KTI-267
2020-06-07 10:49:55 +03:00
Ilya Chernikov
5e33612238
Extract interface from CompilerMessageLocation to ease extension
...
The CompilerMessageLocation is an implicit part of the binary daemon
protocol so changing it breaks compatibility with older daemons.
This change allows to extend location for non-daemon uses without
breaking the binary protocol.
2020-06-05 21:58:27 +02:00
Ilmir Usmanov
f0006f2405
Minor. Add regression test
...
#KT-39374 Fixed
2020-06-05 21:30:24 +02:00
Mikhail Zarechenskiy
6c5806f971
Add test for obsolete issue
...
#KT-38161 Obsolete
2020-06-05 16:30:08 +03:00
Mikhail Zarechenskiy
fb812301b2
Add test to preserve behaviour
...
It's important to have ambiguity in these cases to introduce overload
resolution by suspend-modifier without breaking changes in future
Relates to #KT-23610
2020-06-05 14:07:08 +03:00
Mikhail Zarechenskiy
e72401c5f4
Don't allow coercing receivers from signed to unsigned constants
2020-06-05 13:24:22 +03:00
Mikhail Zarechenskiy
bfa648972f
Introduce call checker for Unit-conversions
2020-06-05 13:24:21 +03:00
Mikhail Zarechenskiy
71cbe97688
Introduce Unit-conversions for simple arguments
2020-06-05 13:24:20 +03:00
Mikhail Zarechenskiy
718f23b34f
Compatibility warning for references to companion via name (KT-13934)
2020-06-05 13:24:18 +03:00
Ilmir Usmanov
8cc5f2abfb
Forbid val field initialization inside EXACLTY_ONCE lambda
...
unless the lambda is inline. This way, final field will remain final.
2020-06-04 21:26:48 +02:00
Steven Schäfer
3291cf7a6e
JVM IR: Mark lateinit fields as NotNull
...
This is needed for compatibility with the JVM backend.
2020-06-04 17:52:56 +02:00
Alexander Udalov
5647a935a2
JVM IR: do not generate DefaultImpls delegate for collection fake overrides
...
In the newly added test, prior to this change, JVM IR was generating
DefaultImpls classes with calls to things like
`kotlin/collections/MutableList$DefaultImpls.spliterator` and other
default methods present in JDK 8+. This obviously didn't make much
sense. Although these weren't explicitly mentioned anywhere in the
bytecode, they caused some validation tools to report errors (e.g.
animalsniffer used in arrow).
2020-06-04 14:27:46 +02:00
Ilya Goncharov
4bbead6200
[Gradle, JS] Remove custom source-map-loader
...
#KT-39377 fixed
2020-06-04 15:02:12 +03:00
Dmitry Petrov
202bbdf8dd
Forward compatibility hacks for Result.{success, failure}
...
Don't mangled functions annotated with @JvmName.
Annotate 'Result.success' and 'Result.failure' with @JvmName and
@Suppress("INAPPLICABLE_JVM_NAME").
NB this would require bootstrap.
2020-06-04 12:16:27 +03:00
Ilmir Usmanov
822c14814b
Revert "Completely rewrite reifiedIntTypeAnalysis, making it more streamline"
...
This reverts commit 1ed4324613 .
Otherwise, bootstrap is broken.
2020-06-03 19:43:59 +02:00
Ilmir Usmanov
1ed4324613
Completely rewrite reifiedIntTypeAnalysis, making it more streamline
...
and easy to understand and optimize if it would be a bottleneck.
Use LVT to get information of refined int type in one specific case
#KT-38925 Fixed
2020-06-03 16:03:50 +02:00
Svyatoslav Kuzmich
e9e850ad8f
[JS IR] Fix findInterfaceImplementation
...
isOrOverridesSynthesized uses descriptors which does not work with
wrapped descriptors
2020-06-03 10:47:15 +03:00
Denis Zharkov
4d484dd971
FIR: Support java array in type argument
...
^KT-37321 Fixed
2020-06-03 10:43:37 +03:00
Dmitry Petrov
5efbe6ae15
PSI2IR: SAM conversion in varargs
2020-06-02 23:53:47 +03:00
Dmitry Petrov
16f175612e
KT-31908 Handle SAM conversion on vararg elements
2020-06-02 23:53:47 +03:00
Dmitriy Novozhilov
069adebf01
[NI] Fix checking for inline lambdas without candidate
...
#KT-34506
2020-06-01 23:40:32 +03:00
Yunir Salimzyanov
77608c8785
Add temporary fixMeExtensions to pass test on extensions check (KTI-240)
2020-06-01 18:43:11 +03:00
Victor Petukhov
8d05253369
NI: take into account effective variance during adding constraints from LHS instead of only use site variance
...
^KT-39220 Fixed
2020-06-01 17:24:49 +03:00
Mikhail Zarechenskiy
599f520fd8
Add compatibility warning for chained sam->suspend-conversion
2020-06-01 10:19:35 +03:00
Mikhail Zarechenskiy
a5203428a4
Replace resolution error for suspend-conversion with call checker error
2020-06-01 10:19:34 +03:00