Commit Graph

10651 Commits

Author SHA1 Message Date
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
Dmitriy Novozhilov abfd87411d [FIR-TEST] Mute failing tests with java kotlin supertypes cycle 2020-02-10 10:54:05 +03:00
Dmitriy Novozhilov 5ceb68f19f [FIR-TEST] Update some testdata 2020-02-10 10:54:04 +03:00
Dmitriy Novozhilov d57fa859c8 [FIR] Implement builders for leaf nodes of FIR tree 2020-02-10 10:54:03 +03:00
Georgy Bronnikov 182e1c1b3b JVM_IR: Remove buggy special case accessor code from JvmStaticAnnotationLowering
General purpose accessors in SyntheticAnnotationLowering are sufficient.
2020-02-09 13:12:33 +03:00
Steven Schäfer 951b2fa770 JVM IR: Optimize type checks to null checks if possible 2020-02-07 18:44:50 +03:00
Steven Schäfer 07737f8fc6 JVM IR: Fix BridgeLowering 2020-02-07 18:44:50 +03:00
Steven Schäfer 5f6af58aeb JVM IR: (Un)mute tests and add more tests for bridge generation 2020-02-07 18:44:50 +03:00
Steven Schäfer 66cbe3b1a8 JVM IR: Remove IrReplacementFunction 2020-02-07 18:44:50 +03:00
Pavel Kirpichenkov fee72839bf Report error if IR is enabled with incorrect language version
^KT-36338 Fixed
2020-02-07 16:10:03 +03:00
Mark Punzalan 8cdef13537 [JVM IR] Add tests to verify correct parameter reflection metadata for
suspend functions.
2020-02-07 12:24:13 +01:00
pyos 06408011f0 JVM_IR: prefer to move, not copy, suspend lambda bodies
Copying breaks reflection metadata.
2020-02-07 12:16:26 +01:00
pyos 5acb3e14fb IR: mark parameters for captures of crossinline parameters 2020-02-07 12:16:26 +01:00
pyos 2bf50cc91a JVM_IR: correctly name $$forInline versions of @JvmName suspend funs
Using a hack similar to $default stubs.
2020-02-07 12:16:26 +01:00
pyos 08074bb60e JVM_IR: wrap inline suspend references in suspend lambdas 2020-02-07 12:16:26 +01:00
Mikhail Glukhikh c34d2f9daa [FIR] Fix signature calculation in JvmMappedScope 2020-02-07 13:04:21 +03:00
Mikhail Glukhikh a8e89a6390 [FIR] Fix various corner cases in DFA 2020-02-07 13:03:43 +03:00
Dmitry Petrov 3518fcf78c Fix psi2ir tests broken by 7249d2f889 2020-02-07 10:50:56 +03:00
Dmitry Petrov a1326d3ef5 !RENDER_DIAGNOSTICS_FULL_TEXT directive
Compares diagnostics rendered as text with corresponding .diag.txt file
2020-02-07 10:50:56 +03:00
Dmitry Petrov 4e6c3b6b43 Diagnostics tests with JVM backend 2020-02-07 10:50:56 +03:00
Anton Bannykh 70a4c265de Add tests extracted from regressions 2020-02-06 21:03:41 +03:00
Anton Bannykh 1e96c3d21e DCE-driven mode
:js:js.tests:jsIrTest works same as before
:js:js.tests:jsPirTest runs tests in DCE-driven mode
2020-02-06 21:03:41 +03:00