Denis.Zharkov
acbf382d04
FIR: Add test on ambiguous vararg
...
Fix is in the two previous commits
2020-12-28 13:19:23 +03:00
Jinseong Jeon
8c7b23a8dd
FIR Java/JVM: avoid plain "Array" comparison
2020-12-28 12:45:51 +03:00
Jinseong Jeon
383de7a9c5
FIR Java: Fix Java override ambiguity with vararg value type
...
#KT-44066 Fixed
2020-12-28 12:45:51 +03:00
Mikhail Glukhikh
d663f204e5
FIR Java: make method annotations lazy
2020-12-28 12:06:51 +03:00
Mikhail Glukhikh
c8c34ebf17
FIR Java: make constructor annotations lazy
2020-12-28 12:06:45 +03:00
Mikhail Glukhikh
56df95b8e7
FIR Java: make field annotations lazy
2020-12-28 12:06:39 +03:00
Nikolay Krasko
33892f3ddf
Make checker tests independent of plugin version (KTI-433)
2020-12-25 22:36:49 +03:00
Nikolay Krasko
f72cec7904
Minor: remove unused methods
2020-12-25 22:36:48 +03:00
Victor Petukhov
37473ad640
Substitute lambda's receiver type during completion including the builder inference stub variables substitution
...
^KT-42175 Fixed
2020-12-25 21:33:37 +03:00
Svyatoslav Kuzmich
672859d447
[Wasm] Support init blocks in inline classes
2020-12-25 17:00:23 +03:00
Svyatoslav Kuzmich
0945c110bf
[JS IR] Support init blocks in inline classes
2020-12-25 17:00:23 +03:00
Victor Petukhov
07b6f0d871
Fix failing tests
2020-12-25 14:29:11 +03:00
Mikhail Glukhikh
0d40fde713
FIR synthetics: make setter subtype check more precise #KT-43347 Fixed
2020-12-25 14:07:28 +03:00
Mikhail Glukhikh
8c8f81330a
FIR Java: make value parameter annotations lazy
2020-12-25 14:07:16 +03:00
Mikhail Glukhikh
1239a8629e
FIR Java: make type annotations lazy
2020-12-25 14:06:34 +03:00
Mikhail Glukhikh
776c4ba6ca
Add test for KT-25489 (to reproduce, turn UL classes OFF)
2020-12-25 14:06:16 +03:00
Yunir Salimzyanov
532124d9a1
Increase timeout for flaky muted tests synchronization requests
2020-12-25 12:28:37 +03:00
Yunir Salimzyanov
f2ecf7f666
Mute MultiModuleHighlightingTest via csv-file
2020-12-25 12:28:36 +03:00
Victor Petukhov
7ed6aae46e
Fix tests after rebasing
2020-12-25 11:53:21 +03:00
Victor Petukhov
50a388aec1
Mute wasm tests around builder inference and callable references
2020-12-25 11:53:21 +03:00
Victor Petukhov
0dde5ddd7e
Fail calls constraints of which contain uninferred type parameter
...
^KT-44055 Fixed
It's possible only if there is a callable reference among subcalls which go though the old type inference (and the error for uninferred type parameter wasn't reported)
2020-12-25 11:53:16 +03:00
Victor Petukhov
9afc13f002
Unwrap block expressions to report errors on them about not enough type information
...
^KT-44055 Fixed
2020-12-25 11:53:15 +03:00
Victor Petukhov
4c56962678
Report errors on callable references which contains postponed type variables in the receiver type
2020-12-25 11:53:15 +03:00
Victor Petukhov
86edc5ca3a
Reuse information from already recorder descriptor for some callable references and don't rewrite at slice
2020-12-25 11:53:15 +03:00
Victor Petukhov
1926434b18
Report error about uninferred type parameter for some special call' subcalls
2020-12-25 11:53:14 +03:00
Victor Petukhov
0b472f858b
Don't create DONT_CARE type for CR and lambdas within builder inference calls
...
It leads to leak such type to the back-end. Calls within a builder call should be updated without marking CR and lambdas with DONT_CARE type.
^KT-43845 Fixed
^KT-43956 Fixed
^KT-42622 Fixed
2020-12-25 11:53:14 +03:00
Victor Petukhov
b4d8adeeb4
Don't clean type info for containment operator if the resolution was unsuccessful, but all diagnostics were about only input types and non-strict only input types check was enabled
2020-12-25 11:53:09 +03:00
Victor Petukhov
954c9cecca
Compute type for callable references and lambdas inside not null assertion if couldn't get already recorded type
2020-12-25 11:52:59 +03:00
Victor Petukhov
39e579db91
Move tests for builder inference into the corresponding directory
2020-12-25 11:25:39 +03:00
Dmitry Petrov
9b148325fe
Minor: regenerate tests
2020-12-25 09:41:06 +03:00
Dmitry Petrov
9715ae88fe
Minor: regenerate tests
2020-12-25 09:15:47 +03:00
Zalim Bashorov
03594baa07
[IR] Improve dumpKotlinLike
...
* Generate a comment for modules.
* Fix printing supertypes for classes.
* Don't fail while printing constructor call if data's parent isn't IrClass
2020-12-24 20:03:24 +03:00
Zalim Bashorov
f7b0f55532
[JS IR test] Add an ability to setup phases to dump after and phases to validate after in box tests using system properties
2020-12-24 20:03:24 +03:00
Zalim Bashorov
ee60a1a431
[IR] Add an ability to change dump strategy using a system property
2020-12-24 20:03:23 +03:00
Zalim Bashorov
274b09cf36
[JS IR] Support generating JS expression from IrComposite
...
Except the case when it's empty.
2020-12-24 20:03:23 +03:00
Zalim Bashorov
72593e3d30
[JS IR] Revert jsClass_js-ir.kt to not break compatibility with older compiler versions
2020-12-24 20:03:23 +03:00
Zalim Bashorov
d7e3f826bb
[JS IR] Generate jsClass function inside the compiler instead of relying on declaration inside stdlib
...
We want to make its type parameter reified to do it we have to make it inline and non-external.
But we don't want to inline it in call sites and want prevent using it anywhere except places generated by the compiler.
In user code, including stdlib, we should use `K::class.js` instead.
Separately we have to intrinsify `K::class.js` to reduce overhead.
2020-12-24 20:03:23 +03:00
Zalim Bashorov
df6635085b
[JS IR] Replace calls with invalid type arguments for type parameters with call to errorCode function from runtime.
2020-12-24 20:03:22 +03:00
Zalim Bashorov
ff77155b5a
[JS IR] A type argument of the jsClass intrinsic must be a class (IrClass)
2020-12-24 20:03:22 +03:00
Zalim Bashorov
c1f6a72ae1
[JS IR] Remove inline properties with reified parameters
...
RemoveInlineFunctionsWithReifiedTypeParametersLowering -> RemoveInlineDeclarationsWithReifiedTypeParametersLowering
2020-12-24 20:03:22 +03:00
Zalim Bashorov
da8dacb495
[JS IR] run RemoveInlineFunctionsWithReifiedTypeParametersLowering earlier
...
It's required to avoid extracting local classes declarations and leaking some references to inline function internals.
2020-12-24 20:03:21 +03:00
Zalim Bashorov
bc9828f3f3
[JS IR] Generate a key using hashedMangle for all IR declarations in mapToKey
...
It is required to avoid "key" clashes and failing with ISE.
2020-12-24 20:03:21 +03:00
Zalim Bashorov
7c5ea414b7
[JS IR] Use mappedNames in NameTable only for REPL
...
And throw exception for unsupported types in mapToKey
2020-12-24 20:03:21 +03:00
Andrei Klunnyi
faa24e3230
KT-44043 Sealed interfaces: 201/203 compatibility fix
2020-12-24 17:50:47 +01:00
Dmitry Petrov
a1574bf50a
JVM box tests for KT-30548
2020-12-24 19:35:36 +03:00
Dmitriy Novozhilov
daa6255ab7
Update testdata of PsiCheckerSealedTest after 07b980fe
2020-12-24 17:53:08 +03:00
Roman Golyshev
f00e5b1992
FIR: Check relativeClassName of found class in JavaSymbolProvider
...
`ClassId` denotes how class is nested; however, you can find
`foo/bar/Outer.Nested` class by `ClassId(foo/bar/Outer/Nested)`. This
will lead to inconsistencies when working with class symbol later
This is also important to `FirQualifierResolverImpl::resolveSymbol`
which detects correct `ClassId` by traversing all symbol qualifiers
We check only `relativeClassName`, because we want to be able to find
classes without package specified
Also, fix test data of resolve tests that have been passing because of
check absence
2020-12-24 14:25:48 +00:00
Ilya Goncharov
2ce51a4c11
[Gradle, JS] Fix tests with decamelizing names
...
^KT-43237 fixed
2020-12-24 16:35:29 +03:00
Ilya Goncharov
0bd4de65e1
[Gradle, JS] Fix upper case names in js files, decamelize instead
...
^KT-43237 fixed
2020-12-24 16:35:29 +03:00
Ilmir Usmanov
9c67d8f89e
IC Mangling: Correctly mangle functions with generic return type
...
if the type's parent is inline class.
#KT-43050 Fixed
#KT-26130 Fixed
#KT-32384 Fixed
2020-12-24 14:29:48 +01:00