Victor Petukhov
dc8dbad0bc
Add compiler X-flag to enable self upper bound type inference
...
^KT-48026 Fixed
2021-08-04 17:36:52 +03:00
Victor Petukhov
7567597be6
Java nullability checker: take type arguments' types from resolution atom if possible, instead of from resolved call directly
...
^KT-47833 Fixed
2021-08-04 17:36:51 +03:00
Victor Petukhov
93f9d9dacd
Check if the intersecting types aren't empty during finding the result type for variable fixation
...
^KT-47941 Fixed
2021-08-04 17:36:50 +03:00
Victor Petukhov
3eaa452f9e
Take into account SimpleTypeWithEnhancement and subtyping related places
...
^KT-47854 Fixed
2021-08-04 17:36:50 +03:00
Andrey Zinovyev
6ab632f6ad
[FIR] Fix mutable context usage in inline diagnostics
...
Also some minor fixes
2021-08-04 17:33:15 +03:00
Andrey Zinovyev
c46a393a19
[FIR] Add REDUNDANT_INLINE_SUSPEND_FUNCTION_TYPE diagnostic
2021-08-04 17:33:15 +03:00
Andrey Zinovyev
e56deb4525
[FIR] Add INLINE_SUSPEND_FUNCTION_TYPE_UNSUPPORTED diagnostic
2021-08-04 17:33:14 +03:00
Andrey Zinovyev
b2f3485d7c
[FIR] Add ILLEGAL_INLINE_PARAMETER_MODIFIER diagnostic
2021-08-04 17:33:14 +03:00
Andrey Zinovyev
dabc983f6a
[FIR] Add INVALID_DEFAULT_FUNCTIONAL_PARAMETER_FOR_INLINE diagnostic
2021-08-04 17:33:13 +03:00
Andrey Zinovyev
efce3fc2e0
[FIR] Add NON_INTERNAL_PUBLISHED_API diagnostic
2021-08-04 17:33:12 +03:00
Andrey Zinovyev
46d1b63f70
[FIR] Add INLINE_PROPERTY_WITH_BACKING_FIELD diagnostic
2021-08-04 17:33:11 +03:00
Andrey Zinovyev
38cecf8b12
[FIR] Add REIFIED_TYPE_PARAMETER_IN_OVERRIDE diagnostic
2021-08-04 17:33:10 +03:00
Andrey Zinovyev
29dbaa4ae1
[FIR] Add OVERRIDE_BY_INLINE diagnostic
2021-08-04 17:33:10 +03:00
Andrey Zinovyev
d8b7b7b2dc
[FIR] Add DECLARATION_CANT_BE_INLINED diagnostic
2021-08-04 17:33:09 +03:00
Andrey Zinovyev
4e06814bc5
[FIR] Add NULLABLE_INLINE_PARAMETER diagnostic
2021-08-04 17:33:08 +03:00
Andrey Zinovyev
015c2d1875
[FIR] Add NOTHING_TO_INLINE diagnostic
2021-08-04 17:33:08 +03:00
Andrey Zinovyev
28344c8530
[FIR] Add NOT_YET_SUPPORTED_IN_INLINE diagnostic
2021-08-04 17:33:07 +03:00
Denis.Zharkov
bc75a21852
Optimize Strings representation at FastJarHandler
2021-08-04 17:04:50 +03:00
Denis.Zharkov
4e66fd29e0
Minor. Rename properties in FastJarVirtualFile
2021-08-04 17:04:49 +03:00
Denis.Zharkov
6cd3d84e74
Optimize parseCentralDirectory
...
Avoid creating redundant IntRange
2021-08-04 17:04:47 +03:00
Denis.Zharkov
f81f28569f
Get rid of last map in FastJarHandler
2021-08-04 17:04:44 +03:00
Igor Laevsky
d46f7738c6
WASM: NFC. Add reference to the asmscript license
2021-08-04 16:23:39 +03:00
Igor Laevsky
d8569b6a03
WASM: NFC. Remove dead code
2021-08-04 16:23:38 +03:00
Igor Laevsky
af865544ff
WASM: Implement string hashcode
2021-08-04 16:23:38 +03:00
Igor Laevsky
c526145a48
WASM: Disable bunch of tests which expose the same issue after switch to the wasm native strings
2021-08-04 16:23:37 +03:00
Igor Laevsky
80140207b5
WASM: Properly handle nullable exported strings
2021-08-04 16:23:36 +03:00
Igor Laevsky
468fe4196d
WASM: Implement string.compareTo and string.subSequence
2021-08-04 16:23:35 +03:00
Igor Laevsky
0eba74a9d2
WASM: Impelment float to string conversion operations
2021-08-04 16:23:32 +03:00
Igor Laevsky
f34a079699
WASM: Implement integer to string conversion operations
2021-08-04 16:23:32 +03:00
Igor Laevsky
2538caa84f
WASM: NFC. Rename string import/export functions
2021-08-04 16:23:31 +03:00
Igor Laevsky
ebde1e5491
WASM: Crude println implementation with the wasm-native strings
2021-08-04 16:23:30 +03:00
Igor Laevsky
fc0ae851a2
WASM: Don't special case string equality, it now goes through normal .equals method
2021-08-04 16:23:29 +03:00
Igor Laevsky
d90e3618f9
WASM: NFC. Rename WasmReinterpret into WasmNoOpCast.
2021-08-04 16:23:28 +03:00
Igor Laevsky
0f84525bdc
WASM: Implement wasm-native strings part 1
...
There are several changes here but they all required for at least one test to pass.
- Implemented String class and several utility functions using built-in CharArray
- Added new constant memory segment to hold string literals and required funcs to work with them
- Added very crude mostly incorrect rudimentary ability to pass strings back to javascript
2021-08-04 16:23:28 +03:00
Igor Laevsky
9ccdffe8ad
WASM: NFC. Rename WasmPrimitive into WasmAutoboxed and add few comments.
2021-08-04 16:23:27 +03:00
Jinseong Jeon
59ad7e0e04
FIR IDE: create call target for super reference
2021-08-04 15:10:04 +02:00
Jinseong Jeon
c597ee0e34
FIR IDE: fix kotlin origin of annotation call
2021-08-04 15:10:03 +02:00
Jinseong Jeon
c559adc0fb
FIR IDE: render list of symbols with indentation
...
Also, render `psi` of annotation call
(to showcase they're always null for now)
2021-08-04 15:10:02 +02:00
Jinseong Jeon
5b40f291bd
FIR IDE: resolve KtTypeReference from super type entry to KtType
...
which will be mapped to delegated constructor call where we can still
find the referred type.
2021-08-04 15:09:58 +02:00
Jinseong Jeon
d4e1ecd9d3
FIR IDE: fix scope processing for enum entry with members
2021-08-04 15:09:57 +02:00
Stanislav Erokhin
748a2d2e7c
[MPP] Performance optimization in expect/actual checker
...
Previously, the checker executed for every declaration i.e. every
declaration was considered as expect declaration. Because of that in
some cases this checker could eat 6% of compilation time.
After this commit only declarations marked with expect or actual
are checked. To achieve that, logic, that do reporting about missing
actual modifier was moved to the Actual part.
Please note, that in cases where there is no expect/actual modifier at
all other errors (like redeclaration and missing body on "actual"
declaration) would be reported.
Useful nodes:
- In this checker reportOn is always the same as
descriptor.sourceElement.ktElement. This is because the only case when
it isn't true is PropertyAccessors and they are filtered
- Annotation constructor descriptor isActual == true all the time
- previously for weak incompatible members ACTUAL_MISSING
was not reported
- the logic here is super complicated and crazy, but I don't think that
there is sense to refactor it in the old FE
2021-08-04 15:19:34 +03:00
Stanislav Erokhin
e9a2997f7e
Minor refactoring -- use util function
2021-08-04 15:19:32 +03:00
Andrey Zinovyev
cea6081d36
[FIR] LT positioning strategy for UNREACHABLE_CODE
2021-08-04 14:42:24 +03:00
Andrey Zinovyev
ec4cbfef59
[FIR] UNREACHABLE_CODE diagnostic (wip)
...
Implementation for PSI only
2021-08-04 14:42:24 +03:00
Elena Lepilkina
dcd61c292d
[K/N][perf] Fix kotlin language version in kotlin-dsl plugin for performance subproject
2021-08-04 10:39:53 +00:00
Sergey Bogolepov
d5e2ac0efc
Fix KotlinLibraryResolverImpl.kt on Windows
...
`absoluteFile` is not enough to make path unique. For example, it doesn't
expand things like '..' and 'IDEAPR~1' on Windows. `canonicalFile` seems
to solve the problem.
2021-08-04 05:44:27 +00:00
Ivan Kochurkin
3c3e51c6de
[FIR] Temporary change TYPE_VARIANCE_CONFLICT to warning to unblock bootstrap tests
2021-08-04 01:04:22 +03:00
Ivan Kochurkin
5291648d39
[FIR] Temporary change UPPER_BOUND_VIOLATED to warning to unblock bootstrap tests
2021-08-03 23:15:40 +03:00
Dmitry Petrov
bd71fbe982
JVM_IR KT-34594 strip fake variable initialization during inlining
2021-08-03 20:41:31 +03:00
Dmitry Petrov
37050e0616
JVM_IR KT-34594 don't generate fake local variable for @InlineOnly
2021-08-03 20:41:31 +03:00