Simon Ogorodnik
6a0e3371ae
FIR: resolve conflicts on multiple inheritance of fun with same signature
2019-04-30 18:45:50 +03:00
Mikhail Glukhikh
092d10b1a8
FIR Java: fix creation & handling of type parameter symbols
...
Before this commit, we created type parameter symbols each time
when type parameter was referenced or created.
In this commit, we introduced class-bound Java type parameter stack
and use it to find referenced type parameter symbol.
So now they are created only when Java type parameter is created
2019-04-30 18:45:47 +03:00
Mikhail Glukhikh
f8bb1d161a
Fir Java: add type parameters to constructors and their return types
2019-04-30 18:45:47 +03:00
Simon Ogorodnik
c6aff9380b
FIR: support resolving to objects
2019-04-30 18:45:36 +03:00
Alexander Udalov
e22594acde
JVM IR: slightly change field renaming convention implementation
...
Prefer to rename fields from the class, not from the companion, to be
more in line with the old backend's behavior. This has no effect on the
behavior of current tests but removes differences in metadata (since
metadata has information about every property->field mapping) in some of
them
2019-04-30 13:15:29 +02:00
Alexander Udalov
6cc293a0c5
JVM IR: record FIELD_FOR_PROPERTY for property delegates
...
Delegated properties now have their $delegate fields recorded in the
metadata (in `ClassCodegen.generateField`). This part of metadata is
used by `KPropertyN.getDelegate` functions, so almost all tests on
getDelegate are now unmuted
2019-04-30 13:15:29 +02:00
Alexander Udalov
5aae832c5f
Minor, update doc on -Xsanitize-parentheses
...
The ASM issue with parentheses was fixed in
https://gitlab.ow2.org/asm/asm/commit/02f00c4a82d9252b34d08dad47c540309fda3b7e
#KT-29475
2019-04-30 13:15:29 +02:00
Andrey Uskov
998a24414a
Improved parsing of internal compiler arguments with boolean state in
...
case when the argument is listed twice in the list of command line
arguments. The last value will be used.
#KT-27181 Fixed
2019-04-29 19:48:01 +03:00
Jiaxiang Chen
4b99d85322
Optimize JVM byte code generation for conditional conjunction
...
Implement an intrinsic method for boolean.and operation, and replace
ANDAND condition with a call to such intrinsic method.
2019-04-29 13:28:18 +02:00
Dmitry Petrov
865e0cc080
IR: IrConstructorCall: fixes after rebase
2019-04-26 17:43:26 +03:00
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