Victor Petukhov
977ac7cbe7
Propagate nullness flexibility into the result type from type variables in other constraints during result type finding, to prevent variable fixation to less flexible type
...
^KT-44540 Fixed
2021-01-27 17:23:15 +03:00
Mikhail Glukhikh
ce1f9882df
FIR2IR: Fix mapping for intersection overrides of deserialized functions
2021-01-27 15:42:04 +03:00
Mikhail Glukhikh
76c2288e21
IrInterpreter: interpret IrGetField properly
2021-01-26 16:19:14 +03:00
Mikhail Glukhikh
b311e95487
FIR2IR: don't generate IR getter for const library properties
2021-01-26 16:10:09 +03:00
Mikhail Glukhikh
1a4b327210
FIR2IR: fix smart casts in case field is accessed
2021-01-26 12:27:09 +03:00
Mikhail Glukhikh
1c9064836e
FIR2IR: fix intersection type smart cast when synthetic property accessed
2021-01-26 12:26:50 +03:00
Dmitry Petrov
708e6914bd
JVM JVM_IR hide sealed class constructors
2021-01-25 17:29:38 +03:00
Dmitriy Novozhilov
f61a318c9d
[Test] Migrate AbstractBytecodeTextTest to new test infrastructure
2021-01-25 17:11:21 +03:00
Dmitriy Novozhilov
663d5026d8
[Test] Migrate FIR diagnostic spec tests to new infrastructure
...
This commit includes a lot of minor changes in testdata: new infrastructure
requires that each test file in one testdata file in one module must
have unique name, but a lot of existing spec tests didn't satisfy
this requirement
2021-01-25 17:08:32 +03:00
Dmitriy Novozhilov
fd8795de99
[Test] Fix FirIdenticalChecker and update some FIR_IDENTICAL testdata
2021-01-25 17:08:32 +03:00
Dmitriy Novozhilov
5c0cfa87ba
[Test] Support some jvm codegen specific configuration directives
2021-01-25 17:08:31 +03:00
Dmitriy Novozhilov
7d4adaba21
[Test] Add ability to simply declaring mapping between directives and configuration keys
2021-01-25 17:08:31 +03:00
Dmitriy Novozhilov
5490689fea
[Test] Add ability to disable specific handler if there was an error from previous one
2021-01-25 17:08:31 +03:00
Dmitriy Novozhilov
42f9442728
[Test] Handle any Throwable from test instead of AssertionError
2021-01-25 17:08:31 +03:00
Victor Petukhov
f06a5321a6
Approximate definitely not-null types for type parameter's types if they are already not-null (has not-null upper bounds)
...
^KT-44440 Fixed
2021-01-25 14:17:58 +03:00
Denis.Zharkov
9548caf6ea
FIR2IR: Use TEST ClassBuilderFactory in for tests
...
It helps with bytecode printing when tests fail
2021-01-25 12:29:32 +03:00
Victor Petukhov
8bd78064be
Do substitution of a type enhancement, not only lower and upper bounds
...
^KT-44439 Fixed
2021-01-25 12:14:34 +03:00
Victor Petukhov
83c93aca2e
Build type enhancement properly, by taking into account both bounds of the original flexible type
...
^KT-44420 Fixed
2021-01-25 11:36:49 +03:00
Mikhail Glukhikh
4cd6266bce
FIR: fix suspend type serialization
2021-01-23 10:56:40 +03:00
Mikhail Glukhikh
afe335e504
FIR: serialize ExtensionFunctionType attribute
2021-01-23 10:56:37 +03:00
Mikhail Glukhikh
9e5c9efadf
FIR2IR: don't generate IrGetObject for anonymous objects
2021-01-23 10:56:36 +03:00
Mikhail Glukhikh
06ee768c6a
FIR: in case of smart cast, use original type for FirThisRcvrExpression
...
Before this commit, we used type after smart cast both for original
FirThisReceiverExpression and for wrapping FirExpressionWithSmartCast.
However, this makes FIR2IR implicit cast generator work incorrectly
(it decides not to insert implicit cast because original type is the same).
After this commit, expressions have different types and implicit cast
generator works properly.
2021-01-23 10:56:34 +03:00
Mikhail Zarechenskiy
d2ce73853d
Report more specific diagnostic for variable + invoke calls
...
Do not report same set of diagnostics for variable call if actual
error was happened with a function candidate. Here the candidate is
invoke function on DeepRecursiveFunction
^KT-40991 Fixed
^KT-41491 Fixed
^KT-40926 In Progress
2021-01-22 13:57:47 +03:00
Dmitriy Novozhilov
77115cea92
[TD] Union ir dumps of different test files
2021-01-22 13:51:30 +03:00
Dmitriy Novozhilov
bdcb8aecab
[Test] Migrate AbstractFir2IrTextTest to new infrastructure
2021-01-22 13:51:26 +03:00
Dmitriy Novozhilov
aba029237d
[Test] Add handler for comparing pretty kt ir dumps
2021-01-22 13:51:25 +03:00
Dmitriy Novozhilov
aaa3fa5845
[Test] Migrate IrTextTestGenerated to new infrastructure
2021-01-22 13:51:23 +03:00
Dmitriy Novozhilov
5ae5f660f6
[Test] Add ability to explicitly declare default binary kind for test
2021-01-22 13:51:22 +03:00
Dmitriy Novozhilov
a2ae618185
[Test] Introduce IGNORE_ERRORS diagnostic to suppressing backend errors
2021-01-22 13:51:21 +03:00
Dmitriy Novozhilov
6a7cd0c811
[Test] Add ability to specify applicability of diagnostic to module or file
2021-01-22 13:51:19 +03:00
Dmitriy Novozhilov
28cff22cd0
[Test] Add ability to specify directive for test file
...
Rules of directives resolving:
- If no `MODULE` or `FILE` was declared in test then all directives
belongs to module
- If `FILE` is declared, then all directives after it will belong to
file until next `FILE` or `MODULE` directive will be declared
- All directives between `MODULE` and `FILE` directives belongs to module
- All directives before first `MODULE` are global and belongs to each
declared module
2021-01-22 13:51:17 +03:00
Mikhail Glukhikh
40bec30393
FIR: implement LT positioning in diagnostic tests, fix LT strategies
2021-01-21 16:06:09 +03:00
Ilmir Usmanov
704366e531
JVM: Mark suspend lambda receiver as used if callable reference
...
accesses it.
#KT-44131 Fixed
2021-01-21 12:47:59 +01:00
Ilmir Usmanov
952576e98f
JVM_IR: Do not unbox Result parameter if it not only one inline class
...
parameter, since in this case, the compiler generates a bridge, where
the result is unboxed.
2021-01-20 18:30:00 +01:00
Ilmir Usmanov
d48f92775b
JVM_IR: Do not unbox Result parameter in invoke if there is a bridge
...
since the bridge unboxes it.
#KT-44141 Fixed
2021-01-20 18:29:58 +01:00
Ilya Goncharov
50ab9ed054
[JS IR] Add test on interface with default method calling extension method on super-interface
...
^KT-42176 fixed
2021-01-20 14:26:38 +03:00
Ilmir Usmanov
cce9469e6a
JVM_IR: Do not unbox Result parameter in Result methods
...
#KT-44140 Fixed
2021-01-20 06:27:15 +01:00
Ilmir Usmanov
d1ee45b518
Add language feature for suspend functions in fun interfaces
...
Since in 1.5 JVM_IR is enabled by default and supports suspend functions
in fun interfaces, it is safe to enable the feature by default as well.
2021-01-19 16:03:31 +01:00
Svyatoslav Kuzmich
cf228bebc3
Use static year range in copyright of generated FIR and tests
...
Dynamically calculating a year is problematic, especially in cases like
FIR where generation happens in every build. When you are working on a
last year's commit, each build creates a bunch of uncommited
changes of updating the year in copyrights.
2021-01-19 17:17:31 +03:00
pyos
29f95c7df2
FIR: improve inference of implicit type arguments in casts
...
Type parameters do not necessarily match one-to-one, or preserve order.
2021-01-18 18:01:03 +03:00
Mikhail Glukhikh
12caf5d743
Fix test BE JvmBoxRunner to be able to see FIR BB tests exceptions
2021-01-18 08:27:51 +03:00
Dmitriy Novozhilov
2f1e4862e5
[Test] Enable builtin parallel tests execution form JUnit5 in :compiler:tests-common-new
2021-01-15 11:16:26 +03:00
Mads Ager
250cc1dc92
[JVM] Never treat arguments to methods as locals that can be removed.
...
Fixes KT-44347
2021-01-15 10:33:11 +03:00
Alexander Udalov
221f44da5f
Fix warnings in stdlib/compiler/plugins/test code
2021-01-13 19:18:20 +01:00
Alexander Udalov
e0363788f4
Remove some remaining tests on old coroutines
2021-01-13 19:16:31 +01:00
Dmitriy Novozhilov
e3066a166e
[Test] Migrate AbstractFirBlackBoxCodegenTest to new infrastructure
2021-01-12 18:35:40 +03:00
Dmitriy Novozhilov
5329a6ce8e
[Test] Properly dispose class loader for running BB tests
2021-01-12 18:35:36 +03:00
Dmitriy Novozhilov
e6fd74f368
[Test] Add ability to remove default directives in test configuration
2021-01-12 18:35:35 +03:00
Dmitriy Novozhilov
e3c7bd5f85
[Test] Migrate AbstractIrBlackBoxCodegenTest to new infrastructure
2021-01-12 18:35:34 +03:00
Dmitriy Novozhilov
85c87f7df9
[Test] Migrate AbstractBlackBoxCodegenTest to new infrastructure
2021-01-12 18:35:30 +03:00