Dmitriy Novozhilov
9129210cfe
Move changes from dfb379d under new language feature (#KT-28672)
...
Changes from that commit are breaking, and should be pass throw LC
2019-02-07 12:12:34 +03:00
Dmitriy Novozhilov
cf25cab773
Add test for #KT-28598
2019-02-07 12:12:34 +03:00
Dmitriy Novozhilov
6878abe8b4
Add test for #KT-25432
2019-02-07 12:12:34 +03:00
Dmitriy Novozhilov
93de13d931
Fix behaviour of NI in testData
...
After one of previous commits (my or Mikhail Zarechenskiy) that test
was broken and it's behaviour was not fixed. That test's behaviour
is strange (why at one case we have `UNREACHABLE_CODE` and haven't
at other) and needs further investigation
2019-02-07 12:12:34 +03:00
Dmitriy Novozhilov
b9c5b63d69
Fix #KT-28993
2019-02-07 12:12:34 +03:00
Dmitriy Novozhilov
c60bce88c2
Add test for #KT-28993
2019-02-07 12:12:34 +03:00
Mikhael Bogdanov
b2606735c5
Properly capture local delegated properties in object constructor
...
#KT-23117 Fixed
2019-02-05 16:14:51 +01:00
Mikhael Bogdanov
9ab6062295
Properly capture extension receiver for array convention expressions in object constructor
...
#KT-19389 Fixed
2019-02-05 16:14:50 +01:00
Mads Ager
542d3c3532
JVM_IR: Fix stack underflow for unit coercion of when expressions.
...
Code such as
```
val b = getBoolean()
if (b) 4
else if (b) 5
```
didn't generate a value on the stack always and therefore would
have control-flow paths leading to a pop instruction with nothing
on the stack.
Change-Id: I09d059f361e56a41880006e3f4e51e9acdbd167d
2019-02-05 08:52:18 +01:00
Mark Punzalan
e91a16556c
JVM_IR: Do not add redundant field initializers.
...
Initializers are "set field" expressions and are considered redundant
when they are:
1. In the primary constructor; and
2. Set the field to `0`, `false`, or `null`; and
3. Have a `null` origin. I.e., not in an initializer block or
constructor body, and therefore the field could not have been set by a
prior expression.
2019-02-05 08:44:33 +01:00
Ilmir Usmanov
39de3c2ab1
Fix test data on JVM_IR BE
2019-02-01 21:45:44 +03:00
Ilmir Usmanov
20e4efaeab
Fix test data
2019-02-01 17:33:49 +03:00
Dmitriy Novozhilov
0501a108c0
Fix tests in DiagnosticsTestWithStdLibGenerated with NI
2019-02-01 11:40:20 +03:00
Igor Chevdar
5b0d1bb6e4
Unmuted passing tests
2019-01-31 18:19:41 +03:00
Igor Chevdar
c257af31f4
Added test
2019-01-31 18:19:41 +03:00
Alexander Udalov
db487a622a
Add -Xsanitize-parentheses to workaround ASM 6.1 issue in frame computation
...
#KT-29475 Fixed
2019-01-31 15:47:43 +01:00
Dmitriy Novozhilov
dfb379d999
Expand Effect System with receiver values (#KT-28672)
...
Add some classes to hierarchy of `ESValue`:
- `ESReceiver` -- representation of receiver
of lambda function
- `ESDataFlow` and `ESDataFlowReceiver` -- little refactoring of entities
that holds information for DFA (description in comments in code).
Also add kdoc to classes of `ESValue` hierarchy
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
932e0234e7
Add testdata for issue #KT-28672
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
68d7e51d32
Support test directive for rendering full diagnostic messages
...
New `RENDER_DIAGNOSTICS_MESSAGES` directive forces test system render
full messages for all diagnostics that found in test file
2019-01-31 17:25:13 +03:00
Tor Norbye
a42406f2aa
KT-29586: Add android.annotation annotations
...
KT-29586 Fixed
2019-01-31 17:12:56 +03:00
Dmitry Savvinov
4694a7963b
Allow actuals with more permissive visibility
...
Allow non-virtual expects to have actuals with more permissive
visibility.
^KT-19664 Fixed
2019-01-31 12:29:27 +03:00
Dmitry Savvinov
0338753c11
Add test on actual with more permissive visibility
...
Currently the behaviour is undesired, see KT-19664. The next commit
fixes it.
2019-01-31 12:26:58 +03:00
Mikhail Zarechenskiy
6705803d83
[NI] Fix coercion to Unit for lambdas with empty labeled return
2019-01-30 14:56:31 +03:00
Mikhail Zarechenskiy
147d7844bc
[NI] Dont' add trivial constraints with Nothing from incorporation
...
#KT-24490 Fixed
#KT-26816 Fixed
2019-01-30 13:48:33 +03:00
Mikhail Zarechenskiy
662e2287cc
[NI] Discriminate resulting type Nothing(?) at fixation stage
2019-01-30 13:48:28 +03:00
Mikhail Zarechenskiy
0b0e335cdd
[NI] Discriminate constraints with Nothing(?) lower bounds
2019-01-30 13:44:48 +03:00
Svyatoslav Kuzmich
0ef4194770
[JS IR BE] Support String companion object
2019-01-29 19:06:31 +03:00
Svyatoslav Kuzmich
b239c80531
[JS IR BE] Add a few kotlin.test stubs to IR runtime
2019-01-29 19:06:31 +03:00
Svyatoslav Kuzmich
b49ec3edb8
Disable generation of 1.2 coroutine tests for JS_IR
...
Add directive DONT_TARGET_EXACT_BACKEND.
This directive is needed to exclude JS_IR backned but keep "compatible"
JS backend.
2019-01-29 19:06:31 +03:00
Svyatoslav Kuzmich
ab3eb06a62
[JS IR BE] Fix lowering Long comprising operators
2019-01-29 19:06:31 +03:00
Mikhail Zarechenskiy
5bcd974944
Temporary remove failing test for new inference about SAM conversions
...
Currently, it's easier to remove test completely rather than mute it
somehow as it throws exception at compile-time
#KT-29561 Open
2019-01-29 17:24:49 +03:00
Ilya Chernikov
f125600af1
Restore returning of functional types from repl eval
...
add tests for the broken case as well for the return value representation
#KT-29490 fixed
2019-01-29 15:05:37 +01:00
Mads Ager
52464fd103
JVM_IR: do not generate line number info for temporary loads.
...
Loads from compiler-introduces temporary variables to do not
correspond to loads in user code.
2019-01-29 14:25:17 +01:00
Mads Ager
bb0cd92da0
JVM_IR: Fix codegeneration for missing branches.
...
This used to generate an ACONST_NULL instruction leading to incorrect
stack height for code such as:
```
if (condition) else 32
```
2019-01-28 15:41:48 +01:00
Svyatoslav Kuzmich
75328f26ea
[JS IR BE] Add missing KJS_WITH_FULL_RUNTIME to some tests
...
+ ranges test generator
2019-01-27 01:14:51 +03:00
Mikhael Bogdanov
f2a51d3b80
Support reflection tests on Android
2019-01-26 08:26:49 +01:00
Alexander Udalov
a2f4efbc2a
Report error on state in multi-file class with -Xmultifile-parts-inherit
...
Simplify MultifileClassPartCodegen, remove related tests and change some
tests to use const val instead of val because backing fields for const
properties are stored in the facade, not parts
#KT-23701 Fixed
2019-01-25 15:57:13 +01:00
Alexander Udalov
6b5a16884c
Refactor inheritMultifileParts to be a JVM analysis flag
...
Instead of a JVMConfigurationKeys key. This will allow to use it in a
checker in 'frontend.java'
2019-01-25 15:57:13 +01:00
Roman Artemev
f3758771c9
Update tests
2019-01-25 17:17:16 +03:00
Dmitriy Novozhilov
af964d56c7
Fix testdata with new inference after fix in 65e6e21
2019-01-25 15:59:57 +03:00
Alexander Udalov
38fd2b9ed6
Fix reflection-related codegen tests on JDK 9+
...
In JDK 9, Class.simpleName changed behavior for local/anonymous Kotlin
classes (see KT-23072), this is why we now check for both variants of
the name in tests. Also, the format of annotation arguments changed a
little, where float parameters no longer have the trailing "f", and
class literals are rendered with ".class" at the end
2019-01-25 10:14:25 +01:00
Svyatoslav Kuzmich
8fbf1ed683
[JS IR BE] Unmute tests
2019-01-24 23:05:56 +03:00
Svyatoslav Kuzmich
2818d3767e
[JS IR BE] Covert Char into inline class
2019-01-24 23:05:56 +03:00
Svyatoslav Kuzmich
aa811dcfb3
[JS IR BE] Add KJS_WITH_FULL_RUNTIME directive to compiler tests
2019-01-24 16:14:40 +03:00
Dmitriy Novozhilov
2c74796b0b
Fix detecting upper bounds of generics of typealiases constructors in NI
2019-01-24 10:53:58 +03:00
Dmitriy Novozhilov
21f0557502
Fix compatibility of CapturedTypeConstructor and NewCapturedTypeConstructor
...
Now both of those classes implements one interface with `TypeProjection`
property. That allows old captured type approximator use new captured types.
That change fixes tests related to diagnostics:
- SETTER_PROJECTED_OUT
- DEBUG_INFO_UNRESOLVED_WITH_TARGET
- UNRESOLVED_REFERENCE_WRONG_RECEIVER
Also `typeProjection` property renamed to `projection` according to naming in NI.
2019-01-24 10:53:58 +03:00
Dmitriy Novozhilov
42b333f6fd
Update some testdata according to new inference behaviour
2019-01-24 10:53:58 +03:00
Dmitriy Novozhilov
2da3366a47
Fix PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALL diagnostic in new inference
2019-01-24 10:53:58 +03:00
Dmitriy Novozhilov
7f48897e21
Add NON_VARARG_SPREAD and SPREAD_OF_NULLABLE diagnostics to new inference
2019-01-24 10:53:58 +03:00
Denis Zharkov
ae9cd4aa55
Require JVM_TARGET=1.8 in test that depends on the method from JDK8
2019-01-23 18:25:10 +03:00