Dmitry Petrov
b78d1bb2b9
IrConstructorCall support in JVM_IR, JS_IR, and FIR2IR
2019-04-26 17:43:25 +03:00
Dmitry Petrov
11eea6e86a
psi2ir: generate IrConstructorCall elements in IR builder helpers
2019-04-26 17:43:24 +03:00
Dmitry Petrov
e3fd74a580
IR: annotations are represented as IrConstructorCall elements
...
Also, they are rendered somewhat nicer
2019-04-26 17:43:24 +03:00
Dmitry Petrov
37b1c175ce
IR: introduce IrConstructorCall / IrConstructorCallImpl
2019-04-26 17:43:24 +03:00
Mikhail Zarechenskiy
ac0a1d984f
[NI] Don't return resulting call if return type has uninferred types
2019-04-25 16:19:38 +03:00
Mikhail Zarechenskiy
1e3db9ee7c
[NI] Update test data for diagnostic tests
2019-04-25 16:19:37 +03:00
Mikhail Zarechenskiy
ff0993153c
[NI] Improvements for "not enough information" diagnostic
...
#KT-30590 Fixed
2019-04-25 16:19:36 +03:00
Mikhail Zarechenskiy
09cc2ae27f
[NI] Initial support of "not enough information" diagnostic
...
#KT-30590 In Progress
2019-04-25 16:19:36 +03:00
Dmitriy Novozhilov
c1b586f921
[NI] Complex test for "not enough" information diagnostic
2019-04-25 16:19:35 +03:00
Mikhail Zarechenskiy
d40313a8d7
[NI] Allow capturing type projections with type variables
...
#KT-25302 Fixed
2019-04-25 16:19:35 +03:00
Mikhail Zarechenskiy
abd1c3df26
[NI] Fix diagnostic reporting and unveil problem wrt captured types
2019-04-25 16:19:32 +03:00
Alexander Udalov
cb6fb78bc3
JS: do not use "-no-stdlib" in non-relevant tests
...
Rename some Ant tests: "simple[...]" -> "simpleWithoutStdlib[...]" and
"simpleWithStdlib[...]" -> "simple[...]"
2019-04-25 14:42:43 +02:00
Alexander Udalov
d5fd160fd3
JS: minor, do not use '==' on descriptors from built-ins
...
Use KotlinBuiltIns.isString instead of equality with
KotlinBuiltIns.string, which is more portable across different module
configurations. Also use isSubtypeOf instead of
DescriptorUtils.isSubclass and thus get rid of an extra error on an
unresolved class in nativeAnnotationCheckers.kt
2019-04-25 14:42:42 +02:00
Jake Wharton
373424f430
Add ULong.compareTo and UInt.div/rem/compareTo intrinsics for Java 8
2019-04-25 13:21:25 +02:00
Mikhail Glukhikh
69ea0a3597
Fir broken FIR2IR test
2019-04-25 12:37:13 +03:00
Svyatoslav Kuzmich
b0bd5802bb
Remove optionalExpectation hacks
...
Add common sources to Generate IR Runtime
2019-04-24 13:06:58 +03:00
Steven Schäfer
f2392a6a28
Remove Concat and StringPlus intrinsics in favor of IrStringConcatenation.
2019-04-24 12:04:12 +02:00
Svyatoslav Kuzmich
bb3b9a935f
Command line interface
2019-04-23 23:19:12 +03:00
pyos
5b595b58b2
JVM_IR: fold constant string concatenations
2019-04-23 16:20:43 +02:00
Simon Ogorodnik
649c2f6bcc
FIR deserializer: load type-parameters correctly
2019-04-23 11:51:05 +03:00
Mikhail Glukhikh
2476c0299f
FIR Java: fix constructor enhancements
...
Before this commit,
we generated regular member functions as constructor enhancement.
Now, we generate constructors as constructor enhancement.
2019-04-23 11:41:05 +03:00
Simon Ogorodnik
73b1676a03
Raw FIR: fix unary operators (now convention calls use receivers)
2019-04-23 11:40:32 +03:00
Mikhail Glukhikh
77e83dd8cf
Raw FIR: introduce string concatenation call
...
This removes some 'plus' calls to be resolved
2019-04-23 11:35:41 +03:00
Mikhail Glukhikh
618295f505
FIR: implement trivial typing for break & continue
2019-04-23 11:18:24 +03:00
Mikhail Glukhikh
cf72b13d84
Add accessor symbols & test for property overriding in Java
2019-04-23 11:15:24 +03:00
Simon Ogorodnik
9abf4062b1
FIR tree: implement trivial expressions typing
2019-04-23 11:14:55 +03:00
Dmitriy Novozhilov
bfb13803d5
[NI] Fix reporting of overload resolution ambiguity
2019-04-19 14:46:22 +03:00
Alexander Udalov
822b210e85
Minor, update argfile usage description
2019-04-19 12:55:23 +03:00
Dmitriy Novozhilov
e70bdb51c5
[NI] Automatically squash equal diagnostics in OI and NI in testdata
2019-04-19 10:53:19 +03:00
Dmitriy Novozhilov
642f8ecaf8
[NI] remove redundant replacing receiver in lambda function descriptor
...
#KT-30927 Fixed
#KT-31057 Fixed
2019-04-19 10:53:19 +03:00
Mikhail Zarechenskiy
2fe900d915
[NI] Resolve lambda against input types from expected type
...
This is needed to report more precise diagnostics and fix IDE-tests
#KT-31059 Fixed
2019-04-19 09:08:31 +03:00
Mikhael Bogdanov
dd005d3c02
Introduce IrLazyField
2019-04-18 19:56:19 +02:00
Ilmir Usmanov
eb5ea62da4
Use anonymous objects instead of lambdas as callbacks in java interop tests
2019-04-18 18:38:16 +03:00
pyos
b23f2a4dbb
JVM_IR: set ConstantValue on static final primitive fields
2019-04-18 09:16:32 +02:00
Ilmir Usmanov
dc821a720b
Fix test data
2019-04-18 01:13:01 +03:00
Ilmir Usmanov
a793055ec2
Check variables, captured by outer object when searching for suspend crossinline parameters
2019-04-18 01:12:58 +03:00
Ilmir Usmanov
7c14f4c6ae
Do not duplicate $$forInline counterpart of inline capturing function
2019-04-18 01:12:56 +03:00
Ilmir Usmanov
20b9d8b2f3
Generate state-machine even if the object is going to be transformed
...
This fixes Java interop of inline functions, which use coroutines.
However, we cannot transform the state-machine. Thus, we generate
a $$forInline counterpart for suspend functions (similar to inline
suspend functions) and invokeSuspend$$forInline for lambdas if these
coroutines are going to transformed (i.e. are declared inside inline
functions).
During transformation we just skip method with state-machine and
transform the $$forInline counterpart. Of course, if inline site is
inline itself, we generate both state-machine version (which will be
dropped during the next transformation) and $$forInline version.
Consequently, the final version of the coroutines will not have
$$forInline counterpart.
Unfortunately, since CompileKotlinAgainstInlineKotlin tests do not allow
java sources, the tests for the interop are usual box tests.
#KT-30707 Fixed
2019-04-18 01:12:52 +03:00
Ilya Chernikov
090dadce3e
Fix testdata - script extension hint is not generated anymore...
...
due to changes in the scripting initialization logic
2019-04-17 22:03:58 +02:00
Mikhael Bogdanov
b70ff30dc3
Don't generate bridge flag for defaults in JVM IR backend
2019-04-17 14:53:30 +02:00
Mikhail Zarechenskiy
bcc8802014
[NI] Avoid constraints from expected type for effectively empty system
...
Expression will be checked against expected type later.
Theoretically, this is not very good, but it aligns with the old
inference, plus it helps avoiding multiple type mismatch diagnostics.
2019-04-17 12:55:12 +03:00
Mikhail Zarechenskiy
e6e0b83184
[NI] Fix IDE-tests where integer types were used in unresolved calls
...
For example, test like CallExpression#testCallWithJavaClassReceiver
#KT-31060 Fixed
2019-04-17 01:40:56 +03:00
Mikhail Zarechenskiy
705a8a2234
[NI] Disable SAM-conversions for Kotlin functions by default
...
#KT-30661 Fixed
2019-04-17 01:40:54 +03:00
Ilya Chernikov
d98b1dfa7e
Fix testdata after adding main function to scripts
2019-04-16 11:55:24 +02:00
Mads Ager
a65f50bb00
JVM_IR: Generate java 8 parameter names when -java-parameters is passed.
...
The type mapper does not map enum parameters and outer this parameters
to the right parameter signature kinds so around half the tests
are still failing. Since a new type mapper is being worked
on I will not investigate that further right now.
2019-04-16 09:32:57 +02:00
Mikhail Zarechenskiy
e27f71c6f3
[NI] Add test for obsolete issue
...
#KT-30858 Obsolete
2019-04-16 10:32:12 +03:00
Dmitriy Novozhilov
18f9272f56
[NI] Fix reporting smartcast diagnostics for intersection types
...
#KT-30826 Fixed
2019-04-12 17:36:59 +03:00
Mikhail Zarechenskiy
bdab7a88f6
[NI] Add test for obsolete issue
...
#KT-28658 Obsolete
2019-04-12 15:22:39 +03:00
pyos
57dca2ada5
JVM_IR: generate exception specifications
2019-04-12 13:00:54 +02:00
pyos
c7d7d903cd
Add the IR version of CompileJavaAgainstKotlin tests
...
Only the WithoutJavac version for now, because the other one ignores
javac errors.
2019-04-12 12:43:37 +02:00