Dmitriy Novozhilov
57a2665b00
[FIR] Update tests for previous commit
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
e48959350c
[FIR] Infer type of when expressions and try expressions like it is function call
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
741ff958e8
[FIR] Add util function for extracting return arguments from block
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
fe3824d796
[FIR] Introduce FirResolvable
...
FirResolvable is an interface representates fir node wit calleeReference
It will be useful for infer `try` and `when` expressions as function call
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
beeba23cf0
[FIR] Minor. Wrap withScopeCleanup with try-finally
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
e944119f71
[FIR] Don't use implicit type as expected type of anonymous function
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
7861396246
[FIR] Add util function for creating functional cone type
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
637fb55a7b
[FIR] Add implementation of intersection types to Fir type system
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
1708a34eb8
[FIR] Fix incorrect findCommonIntegerLiteralTypesSuperType dummy implementation
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
e6bf3b3263
[FIR] Render nullability in type renderer, not in fir renderer
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
3e44bc805f
[FIR] Return error type from common super type if it present
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
6e2958880b
[FIR] Add forgotten replacing arguments in abbreviated type expansion
2019-08-22 10:55:07 +03:00
Dmitriy Novozhilov
317e3edba8
[FIR] Add default upper bound to type parameter in fir deserializer
2019-08-22 10:55:07 +03:00
Ilya Chernikov
315a9d66a0
Refactor more tasks to lazy API
2019-08-21 20:20:08 +02:00
Ilya Chernikov
2ed8fa7624
Convert main task creating helper to lazy API, refactor accordingly
2019-08-21 20:20:08 +02:00
Ilya Chernikov
0f41dc814f
Switch many common tasks defined in buildSrc to lazy creation
...
also refactor some locally defined tasks to the creation avoidance API
2019-08-21 20:20:08 +02:00
Ilya Chernikov
5208318f34
Fix dependency resolution during gradle project configuration
2019-08-21 20:17:53 +02:00
Mikhail Zarechenskiy
80fa591f10
Fix failing test because of slightly different diagnostics for LV=1.2
...
There are no `DEBUG_INFO_MISSING_UNRESOLVED` diagnostics for this test
if one runs it under LV=1.2. These diagnostics are not crucial
for the test (especially for version 1.2), so use it only with
the latest stable version
Plus, reuse test-data to check behavior in new inference
2019-08-21 18:41:13 +03:00
Alexander Udalov
5e3a11db8e
JVM IR: remove property accessor name hack in InterfaceDelegationLowering
...
#KT-28434 Fixed
2019-08-21 15:14:04 +02:00
Alexander Udalov
14a6a06166
JVM IR: do not use GenerationState.typeMapper
...
The only remaining usages are in IrTypeMapper, MethodSignatureMapper and
in InterfaceDelegationLowering.generateDelegationToDefaultImpl
2019-08-21 15:14:03 +02:00
Alexander Udalov
f64afbf152
JVM IR: reduce usages of IrTypeMapper.kotlinTypeMapper
2019-08-21 15:13:49 +02:00
Alexander Udalov
0c6ab69b52
JVM IR: do not use descriptors in IrTypeMapper.writeFormalTypeParameters
2019-08-21 15:13:49 +02:00
Alexander Udalov
598c6009f2
JVM IR: extract method signature mapping to MethodSignatureMapper
2019-08-21 15:13:47 +02:00
Alexander Udalov
6191fc10f0
JVM IR: introduce IrCallableMethod as a simpler replacement for CallableMethod
2019-08-21 15:10:57 +02:00
Alexander Udalov
7c4ed9c29e
JVM IR: remove unused code, minor cleanup
2019-08-20 14:16:30 +02:00
Igor Chevdar
8d2ccb7bcd
[IR] Taught inliner to work with inline suspend lambdas
2019-08-20 12:52:54 +03:00
pyos
7ff700ff97
JVM_IR: lower calls to @JvmStatic functions from other files.
...
Note: this currently results in invalid IR (but valid bytecode) if the
@JvmStatic function is imported, because its IR representation is
unlowered and therefore has a dispatch receiver, but the call will not.
2019-08-20 11:39:25 +03:00
Alexander Udalov
ad43bc23ea
Minor, add test case on SAM conversion over smart cast
2019-08-19 18:09:32 +02:00
Vladimir Dolzhenko
dd0e296af1
Use KotlinExceptionWithAttachments for ToFromOriginalFileMapper and MainFunctionDetector
2019-08-19 17:55:49 +02:00
victor.petukhov
fa29297fb1
Introduce workaround for back-end exception in the test cases parser code
2019-08-19 18:31:48 +03:00
victor.petukhov
9487d291da
Fail spec box tests if they have unexpected behaviour and passed
2019-08-19 18:31:48 +03:00
victor.petukhov
d8e5b068d5
Relinking spec tests
2019-08-19 18:31:46 +03:00
victor.petukhov
8465d690f1
Add spec tests for 'Type system' (introduction and 'kotlin.Any' type)
2019-08-19 18:31:45 +03:00
victor.petukhov
f78faeaa3c
Add test for consistency check between the Kotlin specification and spec tests
2019-08-19 18:31:44 +03:00
victor.petukhov
4f73e100d0
Add task to generate tests json map (is used for tool 'spec-tests-relinking recommender')
2019-08-19 18:31:43 +03:00
victor.petukhov
0e439263ce
Group spec tests and accompanying functionality into to packages: org.jetbrains.kotlin.spec (tests only) and org.jetbrains.kotlin.spec.utils (accompanying functionality)
2019-08-19 18:31:42 +03:00
victor.petukhov
cf692fb257
Implement tests map generator and refactor folder structure to spec tests linking
2019-08-19 18:31:40 +03:00
victor.petukhov
28da325a11
Actualize DFA spec tests
2019-08-19 18:31:39 +03:00
Igor Chevdar
ad8bcda99e
[IR] Merged K/N inliner with the common one
2019-08-16 18:32:19 +03:00
Igor Yakovlev
1aa8e28dd8
Add JvmOverloads to KtLightClassImpl
...
Added @JvmOverloads annotation to primary constructor for binary compatibility issues
2019-08-15 15:49:14 +03:00
Alexey Tsvetkov
8e6a80bed7
Add test logs specific for IC with JS IR
...
Incremental inline will be handled during lowerings,
after all klibs are generated
2019-08-15 15:11:52 +03:00
Alexey Tsvetkov
12c209d360
Do not compare output for IC with JS IR BE
...
Temporary measure until output could be updated incrementally
2019-08-15 15:11:52 +03:00
Alexey Tsvetkov
3366ac4b18
Save incremental data with KLIB compiler
2019-08-15 15:11:52 +03:00
Alexey Tsvetkov
fc49510049
Add tests for IC with JS IR BE
2019-08-15 15:11:52 +03:00
Alexey Tsvetkov
9572800ef7
Add missing dependency
2019-08-15 15:11:52 +03:00
Mikhail Zarechenskiy
d59b910403
Add tests for obsolete issues
...
#KT-32207 Obsolete
#KT-32836 Obsolete
#KT-32949 Obsolete
#KT-9384 Obsolete
2019-08-15 13:01:39 +03:00
Mikhail Zarechenskiy
1969ad6e9d
[NI] Take into account use-site variance for constraint from LHS of CR
...
#KT-32851 Fixed
2019-08-15 13:01:38 +03:00
Igor Yakovlev
fd5bf33861
Removed asserts for mirror files for java stubs on kt files
...
The behavior of this part of code is following:
1) We wrap the kotlin light class to the object that wraps the kt files into compiled (!) cls stub (notice, that most of the time it is a single file wrapper)
2) Platform wishes to get the mirror psi of this "compiled" stub work with text of it.
3) Platform request mirror element that asserted to be ok ONLY for multifiles stub.
4) It leads to EA-209577
There is no idea why so, but the exception is high-rated, so this assertion was deleted.
Fixed EA-209577
2019-08-14 20:12:55 +03:00
Georgy Bronnikov
20351b7c1b
IR: correct type for a null const argument
2019-08-14 18:26:09 +03:00
Dmitry Petrov
986654b709
psi2ir: fix unsubstituted type parameters around SAM conversions
...
Preserve type substitution:
- when obtaining function type for SAM type;
- when generating SAM conversions for SAM adapter arguments;
- for "original" method corresponding to a SAM adapter.
2019-08-14 14:18:42 +03:00