Ilya Chernikov
b7e1dd96b2
Supply proper classloader to the evaluator, add another test for function type
...
and some minor refactoring
2019-02-05 16:13:06 +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
Alexander Podkhalyuzin
495030ad9b
Back to png icons in Android Studio
...
It's not support 16px @2x.svg icons yet, we need to wait for AS 3.4
#KT-29533 Fixed
2019-02-01 16:41:21 +03:00
Alexander Udalov
8b286faa6a
Workaround issue with unsupported report-cdata-event in XMLInputFactory on IBM JDK
...
#KT-29596 Fixed
2019-02-01 14:27:43 +01: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
Igor Chevdar
0ca28914a5
Minor changes in default arguments lowering
...
Calls to a function with default args can be not only
from function bodies, but for example from initializers
2019-01-31 18:19:40 +03:00
Igor Chevdar
9d84576021
Hack to help lowerings communisation in K/N
...
The hack breaks dependency LocalDeclarationsLowering —> CallableReferenceLowering
2019-01-31 18:19:40 +03:00
Igor Chevdar
07a576ec79
Supported enums in LocalDeclarationsLowering
2019-01-31 18:19:40 +03:00
Igor Chevdar
414899b482
Fixed copy/paste
2019-01-31 18:19:40 +03:00
Igor Chevdar
c765bd74d7
Made LateInitLowering the same in K/N as in other BEs
2019-01-31 18:19:39 +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
ba71bbde6a
Extract InvocationKind class into separate file
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
44ae7a19e6
Reformat ContractSerializer.kt according to code style
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
b86ea7621c
Cleanup code in PseudocodeTraverser
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
0e8c43f8c0
Generify key type parameter of ControlFlowInfo
...
Previously only `VariableDescriptor` was key of `ControlFlowInfo`.
Now it's generic parameter `K: Any`, so there is a possibility of using
different object's inside CFA
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
efe891bb47
Remove duplicate of typealiases for javaslang collections
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
68d2cbf91f
Extract classes used in control flow analysis of variable into variable package
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
1dd7365e9f
Reformat some classes in org.jetbrains.kotlin.cfg according to code style
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
fa79f7bf30
Reformat ControlFlowProcessor according to code style
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
80835fe6ea
Add ability to configure environment in AbstractLoadJavaTest
...
There is two methods added into `AbstractLoadJavaTest`:
- `configureEnvironment(KotlinCoreEnvironment environment)` allow to
configure environment that will be used two compilation of source test
data and loading generated `.class` files (e.g. you can register extensions)
- `getExtraClasspath()` allow to add custom libraries to classpath of
compiler
Similar methods exists in `AbstractDiagnosticsTest`
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
Dmitriy Novozhilov
2866bd84a1
Reformat BaseDiagnosticTest according to code style
2019-01-31 17:25:13 +03:00
Dmitriy Novozhilov
047f9abaf7
Make order of rendered diagnostics more stable
...
There was a bug that sometimes diagnostics on the same element with
same names but with different parameters had been reshuffled.
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
Mikhael Bogdanov
a122cba862
Switch Kotlin project to jvm-target 1.8
...
#KT-29405
2019-01-31 07:43:05 +01:00
Georgy Bronnikov
3e9c290a3a
Remove references to invisible fakes from IR backend
2019-01-31 07:55:39 +03:00
Georgy Bronnikov
ee43b5f1e9
IR. Do not generate invisible fakes
2019-01-31 07:55:39 +03:00
Mikhail Zarechenskiy
738271aba6
Refactoring: rename CheckArguments -> CheckArgumentsInParenthesis
2019-01-30 14:56:33 +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
Nikolay Krasko
52c46811ff
Enable JPS test runner for new JPS build (KT-29368)
...
#KT-29368 Fixed
2019-01-30 01:13:23 +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