Commit Graph

80218 Commits

Author SHA1 Message Date
Alexander Udalov 5ea3d32b98 IR: remove TranslationPluginContext.bindingContext
This removes another dependency of 'ir.tree' on 'frontend', and among
other things, makes it possible to implement TranslationPluginContext
for FIR in the future.
2021-02-24 19:07:38 +01:00
Alexander Udalov 274e0ad136 IR: remove unused dependency on BindingContext 2021-02-24 19:07:37 +01:00
Alexander Udalov 837eb739ea IR: move CompilationErrorException to frontend.common 2021-02-24 19:07:37 +01:00
Alexander Udalov 1ae46b529f IR: move ExpectDeclarationRemover to ir.backend.common 2021-02-24 19:07:37 +01:00
Victor Petukhov 26a96a1c19 Don't throw an exception while loading type use annotations on implicit bounds of a wildcard
^KT-45067 Fixed
2021-02-24 21:06:32 +03:00
Pavel Semyonov 7669d8ff26 Add README.md for the kotlin-parcelize plugin 2021-02-25 02:59:50 +09:00
Alexander Udalov 2e2caae05c Extract control flow analysis to separate module
Extract a service interface out of ControlFlowInformationProviderImpl
and register its implementation in two "leaf" modules: 'cli',
'idea-core'.

This improves parallel build, since a lot of modules depend on
'frontend' but only these two modules reference the implementation and
thus depend on the full CFA implementation now.
2021-02-24 17:17:04 +01:00
Alexander Udalov c744515832 Minor, pass CliSealedClassInheritorsProvider explicitly in some places
Do not use default parameter value for functions with only 1 or 2 call
sites, since it doesn't add much value but provides a dangerous
possibility to forget to pass the real implementation.
2021-02-24 17:17:03 +01:00
Alexander Udalov ca5a35b4b3 Move CompilerEnvironment from 'frontend' to 'cli'
This is needed in order to have a single convenient place where to
register frontend services implemented _outside_ of the 'frontend'
module, such as the control flow analysis, extracted to a separate
module in a subsequent commit.
2021-02-24 17:17:03 +01:00
Alexander Udalov 3efbca85ea Minor, rename file ControlFlowInformationProvider{ -> Impl}.kt 2021-02-24 17:17:03 +01:00
Alexander Udalov 5ad0033d42 Extract some cfg utilities into separate files
These utilties are used not only within CFG, but from the frontend and
idea as well. Therefore upon extraction of CFG into another module,
these two new files will remain in 'frontend'.
2021-02-24 17:17:03 +01:00
Mikhail Glukhikh a9b9cced15 IrInterpret: remove thread creation / joining (performance fix) 2021-02-24 18:56:06 +03:00
Anton Bannykh df62b5e311 JS IR: special origins for declaration created during lowerings
Otherwise the lazy properties lowering may try to process them
2021-02-24 18:32:56 +03:00
Tianyu Geng aec498a4ea Add quickfixes for NON_FINAL_MEMBER_IN_FINAL_CLASS 2021-02-24 15:56:35 +01:00
Nikita Katkov e1b3cd32f3 IDEA-253605 jvmClassPathUtil: preserve old behaviour 2021-02-24 11:48:32 +00:00
Nikita Katkov 738c6d3119 IDEA-253605 jvmClassPathUtil: correct collection of parent classloaders 2021-02-24 11:48:32 +00:00
Vladimir Dolzhenko 81efdab4e4 Do not swallow any exceptions apart FNFE
Relates to #KT-39776
2021-02-24 11:06:49 +00:00
Mikhail Glukhikh cf830887ec FIR2IR: optimize override binding for Fir2IrLazySimpleFunction 2021-02-24 13:50:47 +03:00
Tianyu Geng 5bdea9652b FIR: fix position and reporting of PRIVATE_SETTER_*
Previously `FirPropertyAccessor.source` references the `KtProperty` if
the user code contains a setter or getter that doesn't contain a body.
For example, with the following

```
val i: Int = 1
  private set
```

The `FirPropertyAccessor` would reference the `KtProperty` as the
source.

This change makes `FirPropertyAccessor` reference `KtPropertyAccessor`
as the source if possible, regardless of whether the body is present or
not.
2021-02-24 13:50:46 +03:00
Tianyu Geng bdeecfc188 FIR: check multiple vararg param and forbidden vararg type 2021-02-24 13:50:46 +03:00
Jinseong Jeon 0e9474342d Simplify FirMethodOfAnyImplementedInInterfaceChecker
* Override CallableId and operator tag parts only,
  not entire function representation

* Even more lazyness for inspector creation
2021-02-24 13:50:46 +03:00
Jinseong Jeon 338595703c FIR: delegate to abstract override members of Any 2021-02-24 13:50:46 +03:00
Jinseong Jeon 0defdc9e70 FIR checker: fix typos in diagnostics list 2021-02-24 13:50:45 +03:00
Jinseong Jeon c4af92a86a FIR: don't raise an internal error for sealed members in intersection scope 2021-02-24 13:50:45 +03:00
Jinseong Jeon 4fba5891c7 FIR2IR: compute class localness before a loop 2021-02-24 13:50:45 +03:00
Vasily Levchenko 65dd798818 [build][native support] intoduced new native support. 2021-02-24 11:07:18 +01:00
Vasily Levchenko e031da6e70 [build][dependencies] \r -> \n 2021-02-24 11:07:18 +01:00
Vasily Levchenko 7b73917217 [build][dist] global dist fixed 2021-02-24 11:07:17 +01:00
Vasily Levchenko 3298cd3455 [build][checkBuild] fix buildSrc 2021-02-24 11:07:17 +01:00
Vasily Levchenko d34203991d [konan home provider] make more konan home detector more safe 2021-02-24 11:07:17 +01:00
Vasily Levchenko 8bcb5718d9 [build] make delete more safe 2021-02-24 11:07:17 +01:00
Vasily Levchenko 13d4003e3f [build] speedup tc-dist 2021-02-24 11:07:17 +01:00
Vasily Levchenko fa08b1dc48 [kotlin-native] change in output of library_mismatch 2021-02-24 11:07:17 +01:00
Vasily Levchenko 8a4b5efa9e [build][native] don't ever fix dist, take it with API 2021-02-24 11:07:17 +01:00
Vasily Levchenko ebeac62f17 [build][tests][g/c] fix dependencies on platform and dist 2021-02-24 11:07:16 +01:00
Vasily Levchenko 46f2182ba6 [build][tests] more utilities functions used 2021-02-24 11:07:16 +01:00
Vasily Levchenko 39fb47892c [build][kotlin-native] stable 2021-02-24 11:07:16 +01:00
Pavel Punegov 4610d9f171 Fix file separator in tests for Windows 2021-02-24 11:07:16 +01:00
Vasily Levchenko 0324ee508e [testData][compiler] disable tests KT4282{4,5} for native backend 2021-02-24 11:07:16 +01:00
Vasily Levchenko 69723447c4 [build][native] dependencies :kotlin-native:dependencies:update 2021-02-24 11:07:15 +01:00
Vasily Levchenko 6234bcb453 [build][test] enable external compiler tests 2021-02-24 11:07:15 +01:00
Vasily Levchenko d6c147908e [build][bundle]upload 2021-02-24 11:07:15 +01:00
Vasily Levchenko 83fc59b0ff [klib][platform][osx] 10.11 2021-02-24 11:07:15 +01:00
Vasily Levchenko e655778743 [build][native] conditional build 2021-02-24 11:07:14 +01:00
Vasily Levchenko 3867cf6ef5 [build] switch to kotlin-build-gradle-plugin:0.0.25 2021-02-24 11:07:14 +01:00
Vasily Levchenko ec0f6b9ede [build][kotlin-build-gradle-plugin] bump version 0.0.25
- kotlin native versioning support
- disable metadata
- fixes of drop 0 maintanence clause
- support for kotlin.native.enabled flag to switch on/off kotlin native build
- add mode to version generatation to dump version to resourse file
2021-02-24 11:07:14 +01:00
Vasily Levchenko 326ab1cd02 [build][tests] disable interop_concurrentRuntime - very unstable 2021-02-24 11:07:14 +01:00
Vasily Levchenko 17fc4a087b [build] enable sanity tests (step 3) 2021-02-24 11:07:14 +01:00
Vasily Levchenko a7eaa35317 [build] java os mac (Big Sur) 2021-02-24 11:07:14 +01:00
Vasily Levchenko 840c1e612c [build] joint (step 2)
- dist:
  - compiler
  - tools(cinterop,klib)
  - stdlib
  - cache
2021-02-24 11:07:13 +01:00