Commit Graph

26376 Commits

Author SHA1 Message Date
pyos a835f07d51 JVM_IR: don't regenerate objects in lambdas inlined into objects 2019-10-31 09:09:54 +01:00
Kristoffer Andersen 1074a0ef69 JVM_IR: Fix Inline CallableReferences with Varargs
- Added tests to demonstrate broken behaviour: the interaction of inline
  functions and callable references with varargs and defaults in various
  combinations.
- Refactored InlineCallableReferencesToLambdaPhase to look like and use
  some of the infrastructure from CallableReferenceLowering.
- Lifted some of this infrastructure out to be broadly reusable.
2019-10-31 08:15:22 +01:00
Vladimir Dolzhenko 4b2834c4a8 Provide incremental analysis of a file when it is applicable
#KT32868 Fixed
2019-10-30 21:41:29 +01:00
Dmitriy Novozhilov 6f91c0e679 [FIR] Don't check @ExtensionFunction in fir consistency tests 2019-10-30 18:49:12 +03:00
Dmitriy Novozhilov ad9bf62b2f [FIR] Remove adding annotations from bounds to type parameter in lightTree2Fir 2019-10-30 18:49:11 +03:00
Dmitriy Novozhilov 36ad065792 [FIR] Fix testdata broken after d2b895d8 2019-10-30 18:49:07 +03:00
Alexander Podkhalyuzin aa604d0854 Fixed new/old type inference diff, sometimes causes problems in JPS 2019-10-30 18:05:34 +03:00
Stanislav Erokhin 607249e899 Make computeTasksAndResolveCall public for compiler plugins 2019-10-30 16:44:38 +03:00
Jiaxiang Chen 6454cfad87 add local variable test. This test runs box() method and checks local variable types and names avaiable at every step. 2019-10-30 14:13:12 +03:00
Jiaxiang Chen 6b73ef4b0b refactor stepping test to extract common logic for other debug information test 2019-10-30 14:13:12 +03:00
Mads Ager 1713625718 JVM: Improve line number handling for suspend calls.
Take branching and method calls into account when finding the line
number of the continuation. If there is no line number before
branching instructions or method calls, the following code is
still on the line of the suspend call itself.

This fixes a couple of issues with incorrect line numbers for
multiple throws on the same line or multipe suspend calls on
the same line.

In addition, it avoids the need to spam the method node with
repeated line number instructions in the IR backend.
2019-10-30 13:40:21 +03:00
Mikhail Glukhikh 34d9959b17 FIR: add more correct handling of Java raw types 2019-10-30 12:55:38 +03:00
Mikhail Glukhikh d4af35d794 FIR: add substitution for Java fields 2019-10-30 12:55:37 +03:00
Mikhail Glukhikh 83cd7cf516 FIR: add new problematic tests 2019-10-30 12:55:37 +03:00
Georgy Bronnikov 9c8e8651be IR: make stub marker parameter for constructors nullable
In constructor stubs for default arguments, a marker parameter used
to have a non-null type, but null was passed as the corresponding
argument. This patch corrects the type.
2019-10-30 12:23:27 +03:00
Dmitriy Novozhilov d2b895d8c2 [FIR] Add @ExtensionFunction to lambdas with receivers 2019-10-30 11:03:15 +03:00
Vladimir Dolzhenko 26255f8501 Added AllowNullableArrayArgsInMain (1.4+) language setting 2019-10-29 19:20:35 +01:00
Georgy Bronnikov cd78e6ec50 JVM_IR: handle property references in SAM conversions 2019-10-29 18:38:59 +03:00
Alexander Udalov 59959c52ad Don't report missing reflection diagnostic for KType/KTypeProjection/KVariance 2019-10-29 15:52:01 +01:00
Alexander Udalov 896512f7cd Support KClass.isInstance/cast/safeCast in stdlib-only reflection implementation
#KT-14720 Fixed
2019-10-29 15:52:00 +01:00
Alexander Udalov 5c89f2fa54 Support KClass.qualifiedName in stdlib-only reflection implementation
#KT-34586 Fixed
2019-10-29 15:51:25 +01:00
Alexander Udalov c164745301 Support KClass.simpleName in stdlib-only reflection implementation
#KT-33646 Fixed
2019-10-29 15:51:21 +01:00
Mikhail Glukhikh 0708f574fc FIR: simplify companion scope building for implicit dispatch receiver 2019-10-29 16:27:42 +03:00
Mikhail Glukhikh 79e584519f FirTypeResolverImpl: minor style fix 2019-10-29 16:27:42 +03:00
Mikhail Glukhikh 37cad476e8 Fix incorrect assertion in FIR DFA 2019-10-29 16:27:41 +03:00
Mikhail Glukhikh 4adacfa5a2 Add a pair of new tests for FIR local classes / objects 2019-10-29 16:27:41 +03:00
Mikhail Glukhikh 384134a069 FIR2IR: fix handling constructors & their symbols (related also to local classes) 2019-10-29 16:27:41 +03:00
Mikhail Glukhikh 7dee1cd9d2 Build member scope for FirAnonymousObject correctly 2019-10-29 16:27:41 +03:00
Mikhail Glukhikh e1c889e871 Make FirClass a kind of FirClassLikeDeclaration, introduce FirRegularClass/AnonymousObject symbols 2019-10-29 16:27:41 +03:00
Mikhail Glukhikh 1e4f07ebc7 FIR: expect getClassLikeSymbolByFqName to return null for local classes 2019-10-29 16:27:40 +03:00
Mikhail Glukhikh a13ae08b52 FIR: add classifiers to local scopes, process local class symbols correctly 2019-10-29 16:27:40 +03:00
Alexander Udalov df4ab4ed81 Add JVM bytecode target version 13
#KT-34119 Fixed
2019-10-29 12:54:24 +01:00
Georgy Bronnikov 1354de1780 JVM_IR: stylistic, use transform instead of add/remove
In InterfaceDeclarationLowering, functions are being replaced by
redirections to default implementations. Use `transform`, as suggested
by @pyos.
2019-10-29 14:42:35 +03:00
Dmitry Savvinov 3abfe59d75 Deduplicate incompatible actual descriptors
Otherwise, we might get false positive AMBIGUOUS_ACTUALS due to one and
the same descriptor appearing multiple times in a list
2019-10-29 14:28:41 +03:00
Nikolay Krasko 8d50aea471 Allow to use mutations from several files 2019-10-29 13:45:04 +03:00
Alexander Udalov 8e4c7ad65d Merge pull request #2727 from pyos/fix-synthetic-accessors-v101
JVM_IR: add accessors for protected members in divergent hierarchies
2019-10-29 11:10:58 +01:00
Dmitriy Novozhilov 3658bee253 [FIR] Fix testdata related to callable references 2019-10-29 13:03:13 +03:00
Dmitriy Novozhilov 0d15ff1ddd [FIR] Introduce FirSourceElement instead of FirElement as source in fir nodes 2019-10-29 13:03:13 +03:00
Dmitriy Novozhilov b93357be48 [FIR] Support assignment operators 2019-10-29 13:03:13 +03:00
Dmitriy Novozhilov 6298889358 [FIR] Add forgotten exhaustiveness checking for erroneously resolved when 2019-10-29 13:03:13 +03:00
Dmitriy Novozhilov 7e55960943 [FIR] Support Conditional effects 2019-10-29 13:03:13 +03:00
Dmitriy Novozhilov 57f1eac9a8 [FIR] Support CallsInPlace effects 2019-10-29 13:03:12 +03:00
Dmitriy Novozhilov fd852ec07d [FIR] Add deserialization of contracts 2019-10-29 13:03:12 +03:00
Dmitriy Novozhilov 18c3d1c140 [FIR] Add contract description classes to fir 2019-10-29 13:03:12 +03:00
Mikhael Bogdanov 63b115abb6 Workaround for KT-34656: temporary disable assertion 2019-10-29 09:48:49 +01:00
Mark Punzalan de333c18fc JVM_IR: Enable loopVarInterval and forInReversedCollectionIndices
bytecode text tests.
2019-10-29 07:43:37 +01:00
Steven Schäfer 2043dd8a10 JVM IR: Respect extension receiver parameter type in AddContinuationLowering 2019-10-28 18:34:06 +03:00
Steven Schäfer 184c83bcb0 JVM IR: Fix type of IrReturn in AddContinuationLowering 2019-10-28 18:34:06 +03:00
Mark Punzalan b4d2eae12d Add test data generator for stepped progression box tests. 2019-10-28 15:26:38 +01:00
Mark Punzalan 1738c2d4f6 Invoke GenerateInRangeExpressionTestData and
GeneratePrimitiveVsObjectEqualityTestData during
:compiler:generateTests.
2019-10-28 15:26:38 +01:00