Commit Graph

10672 Commits

Author SHA1 Message Date
Mikhail Zarechenskiy cd0012c527 [NI-MIGRATE] Update CLI tests 2020-02-13 11:15:59 +03:00
Mikhail Zarechenskiy ca57d6cd16 [NI-MIGRATE] Update pseudocode tests for NI 2020-02-13 11:15:58 +03:00
Mikhail Zarechenskiy a0071885bf [NI-MIGRATE] Update type binding tests for NI 2020-02-13 11:15:58 +03:00
Mikhail Zarechenskiy 687c96060f [NI-MIGRATE] Update test data for resolve tests after enabling NI 2020-02-13 11:15:58 +03:00
Mark Punzalan 89cf32eccc Clarify comments about KT-36625 that it is pending design decision. 2020-02-12 23:38:12 +03:00
Mark Punzalan ba606147c9 [JVM IR] Maintain KT-36625 bug compatibility between non-IR and IR
backends by removing IMPLICIT_NOTNULL casts from IrStringConcatenation
arguments.

Also fixed an issue where IrStringConcatenation can be lowered into
a null String instead of a literal "null" String if the lone argument
was a platform type String or String with enhanced nullability and the
value was null (e.g., "${FromJava.nullPlatformString()}").
2020-02-12 22:57:15 +03:00
Pavel Kirpichenkov 572dee6835 Revert "Only create descriptors for candidates with lambda args"
This reverts commits:
349d07ad43
2249c223fe

Revert due to differences in test data with NI enabled
^KT-36247 Open
2020-02-12 20:52:30 +03:00
Alexander Udalov d5987fd7f3 Minor, move wrongAnnotationArgumentInCtor.kt to CLI tests
The fact that this was a codegen box test was probably an abuse of the
testing infrastructure. It was never meant to pass, since it checks
presence of an error, and diagnostic tests aren't enough since they
might not check the full compiler execution.
2020-02-12 17:36:08 +01:00
Alexander Udalov 9c9e13d93e Minor, move obsolete test to oldLanguageVersions
Ignore this directory in JVM IR boxAgainstJava tests (similarly to box
tests) so that we can ignore the fact that this test doesn't pass in
JVM_IR, since it shouldn't.
2020-02-12 17:36:08 +01:00
Alexander Udalov 0df455cb52 Minor, remove duplicate test
There's already a test that checks exactly this behavior at
box/oldLanguageVersions/platformTypes/primitives/equalsNull_lv11.kt.
2020-02-12 17:36:08 +01:00
Pavel Kirpichenkov 95a8060946 [NI] Don't report uninferred type parameter error on special functions
Type parameters can't be specified explicitly for special constructions.
Reporting this error does not help fixing the cause of it and needlessly
reveals implementation details.

^KT-36342 Fixed
2020-02-12 17:33:42 +03:00
Mikhail Glukhikh ba770f7b61 FIR2IR: fix type parameter indexes & fix some black-box & FIR2IR tests 2020-02-12 17:02:41 +03:00
Mikhail Glukhikh f3f88cae7a FIR: unmute accidentally muted black-box test 2020-02-12 16:30:47 +03:00
Denis Zharkov 9c1577092b FIR: Fix SAM conversion for constructor calls 2020-02-12 16:05:11 +03:00
Denis Zharkov 95b4fa4b31 FIR: Support flexible types in getErasedVersionOfFirstUpperBound 2020-02-12 16:05:11 +03:00
Denis Zharkov 5a2cdfcab4 FIR: Run callable references resolution for synthetic-select calls 2020-02-12 16:05:11 +03:00
Denis Zharkov 003aea2e68 FIR: Consider abbreviation's nullability when expanding types 2020-02-12 16:05:11 +03:00
Alexander Udalov 2bb6e4fd97 Minor, add package to typeOfCapturedStar.kt test
This fixes this test on Android where packages are replaced.
2020-02-12 14:03:22 +01:00
Pavel Kirpichenkov c02dd720dc [NI] Restore missing call checker errors in coroutine inference
Reported diagnostics from the call checkers didn't get to a top-level
trace, if an intermediate wrapping call was a lambda call.
Use of the top-level trace in call completer is a workaround for
the unreliable commit order of common calls' temporary traces.
^KT-33542 Fixed
2020-02-12 12:27:02 +03:00
Mikhail Zarechenskiy 6af8f320f7 Add JS runtime to the failing test 2020-02-12 12:23:13 +03:00
Mikhail Zarechenskiy 0d310c0fa4 [NI] Support signed-unsigned conversions for K/Native
#KT-34545 Fixed
2020-02-12 10:36:45 +03:00
Mikhail Zarechenskiy e14e58c121 Update test about conversions, remove irrelevant case 2020-02-12 10:36:44 +03:00
Mikhail Zarechenskiy 1acce46133 [NI] Fix recording info about captured local variables 2020-02-12 10:36:43 +03:00
Mikhail Zarechenskiy 7df92cd00b Set isOperator property for dynamic calls by convention 2020-02-12 10:36:41 +03:00
Mikhail Zarechenskiy a736551c2a Add test checking that fun isn't inherited from base interface 2020-02-12 10:36:40 +03:00
Mikhail Zarechenskiy 45bbdaf73f Add base declaration checker for fun interfaces 2020-02-12 10:36:39 +03:00
Dmitriy Novozhilov 6735cc8937 [FIR] Implement new bound smartcast algorithm
#KT-36055 Fixed
2020-02-12 10:17:45 +03:00
Mikhail Glukhikh 67668d798b FIR2IR: update test data 2020-02-11 23:22:55 +03:00
Mikhail Glukhikh 12c001f491 FIR: unmute two additional black-box tests 2020-02-11 23:14:51 +03:00
Juan Chen 37abdb1732 [FIR2IR] Fix NoSuchMethod for Iterator::next (same issue with invoke) 2020-02-11 22:50:06 +03:00
Juan Chen 8e35545e10 FIR2IR: provide type arguments for class 'this' receiver 2020-02-11 22:50:06 +03:00
simon.ogorodnik d775852781 [FIR] Refactor tower resolver to coroutines 2020-02-11 19:32:07 +03:00
Steven Schäfer 6d23e50142 JVM IR: Create non-synthetic multifile parts for -Xmultifile-parts-inherit 2020-02-11 17:01:22 +01:00
Steven Schäfer 9db82bfcc8 JVM IR: Create package private synthetic multi file part classes 2020-02-11 17:01:22 +01:00
Steven Schäfer 6584df3e01 JVM IR: Fix references to const properties in facade classes 2020-02-11 17:01:22 +01:00
simon.ogorodnik d9883067e6 [FIR] Hide primary constructor parameters from accessors 2020-02-11 18:50:51 +03:00
Steven Schäfer 058b229544 JVM IR: Handle external static declarations in companion objects 2020-02-11 15:53:25 +01:00
Juan Chen 04e8cba857 [FIR] fixed overridden symbols of "invoke" in KFunction
IR expects overridden symbols of "invoke" in KFunction to be "invoke"
in the corresponding Function classes.
Before this commit we don't set overriddenSymbol, now we do.
2020-02-11 16:09:21 +03:00
Mikhail Glukhikh e3721ed406 [FIR] Implement bare type modification with known type arguments 2020-02-11 16:09:21 +03:00
Mikhail Glukhikh dc7621a112 [FIR] Fix Java override ambiguity (Kotlin type parameter VS Java Object) 2020-02-11 16:09:20 +03:00
Igor Yakovlev 07863b61d8 Fix UL classes failing tests
UltraLightClassLoadingTestGenerated.testInferringAnonymousObjectTypes
UltraLightClassLoadingTestGenerated.testObjects
2020-02-10 23:35:47 +03:00
Alexander Udalov dc7b1fbff9 JVM IR: report warning instead of error for language/API version 1.2
This is needed for testing JVM IR on existing projects which for some
reason are still on Kotlin 1.2.
2020-02-10 17:32:18 +01:00
victor.petukhov b8aacf0786 Fix test data around flexibility after ae39d748e4 2020-02-10 19:23:57 +03:00
Mikhail Glukhikh 9a80850700 [FIR] Fix Kotlin-Java supertype recursion problem 2020-02-10 18:51:34 +03:00
Mikhail Glukhikh cc0e39ebca [FIR] Support synthetic property setters 2020-02-10 18:51:34 +03:00
Mikhail Glukhikh 69809fef94 [FIR] Synthetic property symbol is now a property symbol, not a function 2020-02-10 18:51:33 +03:00
Georgy Bronnikov 17e1f081c7 JVM_IR: handle nested function references in InlineCallableReferenceToLambda 2020-02-10 18:47:04 +03:00
Alexander Udalov 15ff74209c JVM IR: do not resolve fake override in InterfaceSuperCallsLowering
This leads to problems after 4dd794c2d2, because the immediate super
function's DefaultImpls and the implementation's DefaultImpls have
differing type parameters.

Looks like resolveFakeOverride was used here (maybe unintentionally) as
a workaround to the problem caused by the incorrect origin check in
isDefinitelyNotDefaultImplsMethod.
2020-02-10 16:08:10 +01:00
Ilya Chernikov 2249c223fe Only create descriptors for candidates with lambda args
#KT-36247 fixed
2020-02-10 14:21:02 +01:00
Victor Petukhov ae39d748e4 NI: Try to solve constraint system with another flexibility from a type variable if couldn't solve
^KT-36254 Fixed
2020-02-10 12:31:42 +03:00