Commit Graph

84733 Commits

Author SHA1 Message Date
Sergey Igushkin e691de6e4c Cleanup configuration to fix corner cases in HMPP dependency resolution
* Set the local-to-project attribute on the compatibility metadata
  variant's "elements" configuration; not setting this attribute could
  lead to ambiguity because of diverging sets of non-matched attributes

* Don't create the `runtimeOnly` configuration for the Kotlin/Native
  targets (or potentially other targets with no runtime dependencies),
  as the K/N target configurator is not aware of the configuration and
  would not set the configuration up properly

* Don't create the legacy `*Default` configurations, as they basically
  duplicate the `*ApiElements` / `*RuntimeElements` configurations but
  don't have all the right attributes, so they are reckoned compatible
  with some consumers unnecessarily and pollute the dependency
  resolution error reports.

Issue #KT-47506
2021-08-05 10:03:13 +00:00
Roman Golyshev 126f6eff28 Add jvm-run-configurations module to the settings.gradle 2021-08-04 22:20:00 +03:00
Dmitriy Novozhilov 8578f0beea [FE 1.0] Check for type mismatch for empty when statements
^KT-47922 Fixed
2021-08-04 19:33:45 +03:00
Dmitriy Novozhilov 60195114c1 [FIR] Properly create class scopes while resolving of annotations arguments 2021-08-04 18:23:06 +03:00
Sergey Bogolepov 4c58954967 [K/N] Don't perform --gc-sections when producing DLL
Due to a bug, lld-link might be a bit too aggressive.
Let's disable --gc-sections for DLL until we update LLD.
Patches:
https://reviews.llvm.org/D101522
https://reviews.llvm.org/D101615
https://reviews.llvm.org/D102138
2021-08-04 14:50:58 +00:00
Victor Petukhov 13cb3c138a Update FE tests 2021-08-04 17:36:53 +03:00
Victor Petukhov b6cb393796 Check postponed type variables to determine suitability for builder inference (during shouldRunCompletion check) more careful
^KT-42139 Fixed
2021-08-04 17:36:53 +03:00
Victor Petukhov cf3bd016be Always complete calls not related to the builder inference
^KT-47830 Fixed
2021-08-04 17:36:52 +03:00
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