Commit Graph

72640 Commits

Author SHA1 Message Date
Dmitry Petrov 3ebeca5852 JVM_IR: use indy SAM conversions in jvmTarget 1.8+, fix bridges
KT-44278 KT-26060 KT-42621
2021-02-12 16:52:30 +03:00
Anton Bannykh 6c6d43c29a JS: add missing reachable nodes data 2021-02-12 16:21:09 +03:00
Sergey Igushkin a719656118 Fix extracted metadata for IDE erased when scopes conflict, KT-44845
The root cause was that extractors for different scopes used the same
base directory, and each erased its contents. Using different base dirs
fixes the issue.

Issue #KT-44845
2021-02-12 12:54:32 +00:00
Dmitriy Novozhilov 54636f1af7 Enable -Werror in :compiler:frontend module 2021-02-12 14:50:47 +03:00
Dmitriy Novozhilov 0c4bca4bde [FIR] Fix warnings in FIR modules and enable -Werror in them 2021-02-12 14:50:46 +03:00
Dmitriy Novozhilov 0e31551797 [FIR] Generate _ instead of value for unused setters in FIR builders 2021-02-12 14:50:45 +03:00
Dmitriy Novozhilov d696a488b5 [FIR] Report list of conflicting symbols in REDECLARATION and CONFLICTING_OVERLOADS 2021-02-12 14:50:43 +03:00
Roman Golyshev 7a4625b70b FIR IDE: Enable passing completion test 2021-02-12 14:29:22 +03:00
Roman Golyshev d615b6b682 FIR IDE: firSymbolProvider -> symbolProvider fix 2021-02-12 10:53:24 +00:00
Roman Golyshev bc26230392 FIR IDE: Visit only the smallest acceptable declaration if possible 2021-02-12 10:53:23 +00:00
Roman Golyshev c3831baba2 FIR IDE: Refactor ElementsToShortenCollector to be more value-oriented 2021-02-12 10:53:23 +00:00
Roman Golyshev dee4f4345b FIR IDE: Add ElementToShorten sealed classes 2021-02-12 10:53:22 +00:00
Roman Golyshev d202b0feb2 FIR IDE: Refactor addElementToShorten functions 2021-02-12 10:53:21 +00:00
Roman Golyshev 09ba927680 FIR IDE: Decouple ElementsToShortenCollector from KtFirReferenceShortener 2021-02-12 10:53:21 +00:00
Roman Golyshev c89380fc36 FIR IDE: Refactor ElementsToShortenCollector 2021-02-12 10:53:20 +00:00
Roman Golyshev 9a464ae9c4 FIR IDE: Merge all collectors visitors to a single visitor 2021-02-12 10:53:19 +00:00
Roman Golyshev 7478b8d189 FIR IDE: Use single TextRange as selection instead of two ints 2021-02-12 10:53:19 +00:00
Roman Golyshev 798c4d2485 FIR IDE: Create FirResolvedImports without fake PSI 2021-02-12 10:53:18 +00:00
Roman Golyshev c0a4301179 FIR IDE: Enhance check messages in KtFirReferenceShortener 2021-02-12 10:53:17 +00:00
Roman Golyshev 8020424b93 FIR IDE: Remove fake root prefix even when the element is not shortened 2021-02-12 10:53:17 +00:00
Roman Golyshev ee98a76600 FIR IDE: Implement simple importing of the functions
This is not a complete algorithm, but it already works in many cases

Disable some tests that not yet work
2021-02-12 10:53:16 +00:00
Roman Golyshev 88e7d1e5ee FIR: Attach candidate symbol to the ErrorNamedReference
This allows to restore the referenced candidate in cases when there are
no ambiguity

Also, change rendering of named references to be more accurate, so the
diagnostics tests pass: if reference is FirErrorNamedReference, it is
more important than if it has a not-null `candidateSymbol`
2021-02-12 10:53:15 +00:00
Roman Golyshev 51c59e5634 FIR IDE: Check function call before trying to drop the receiver 2021-02-12 10:53:14 +00:00
Roman Golyshev d88fd5bd73 FIR IDE: More strictly navigate to parent KtDotQualifiedExpression 2021-02-12 10:53:14 +00:00
Roman Golyshev e265a78a33 FIR IDE: Implement shortening and import for type qualifiers 2021-02-12 10:53:13 +00:00
Roman Golyshev 0e271b72c7 FIR IDE: Do not try to shorten type without qualifier 2021-02-12 10:53:12 +00:00
Roman Golyshev 534f4a66ad FIR IDE: Add simple shortening for qualified calls and properties 2021-02-12 10:53:12 +00:00
Roman Golyshev f03ca5ea57 FIR IDE: Add import in case when conflicting class comes from * import 2021-02-12 10:53:11 +00:00
Roman Golyshev 0b48416a1e FIR IDE: Unwrap nullable types 2021-02-12 10:53:10 +00:00
Roman Golyshev 08e271411f FIR IDE: Create fake scopes to avoid import duplicates 2021-02-12 10:53:09 +00:00
Roman Golyshev e34370554d FIR IDE: Add simple types importing
Some tests are not passing
2021-02-12 10:53:09 +00:00
Roman Golyshev 0609aa1e2e FIR IDE: Refactor KtFirReferenceShortener 2021-02-12 10:53:08 +00:00
Roman Golyshev 8575ce32d4 FIR IDE: Add more tests for type conflicts 2021-02-12 10:53:07 +00:00
Roman Golyshev e744084c15 FIR IDE: Enable types shortening for nested classes and nested types 2021-02-12 10:53:07 +00:00
Roman Golyshev b9d074051f FIR IDE: Add separate tests for FIR reference shortening 2021-02-12 10:53:06 +00:00
Roman Golyshev c1130f2010 FIR IDE: Add reference shortening service which works over FIR 2021-02-12 10:53:05 +00:00
Roman Golyshev 108395fcfe FIR: Fix bug with incorrect source element for qualifiers 2021-02-12 10:53:04 +00:00
Roman Golyshev 1479388bd5 FIR IDE: Refactor AbstractFirShortenRefsTest
- Use `FIR_COMPARISON` directive
- Move testing utils to `ideaFirTestUtils.kt`
- Ignore `TopLevelFunctionImportWithLotsOfFqName.kt` test for now (it
takes too long to execute)
2021-02-12 10:53:04 +00:00
Roman Golyshev 68b5f2736e FIR: Add fake root prefix for IDE resolution 2021-02-12 10:53:03 +00:00
Roman Golyshev 0de251e50d Add runTestInWriteCommand flag to AbstractImportTest 2021-02-12 10:53:02 +00:00
Dmitriy Novozhilov 2d5b685535 [FIR] Fix processing constructors of sealed classes
- Allow declaring protected constructors in sealed classes
- Make default visibility of sealed class constructor `protected`

KT-44861
KT-44865
2021-02-12 13:36:41 +03:00
Dmitriy Novozhilov 7c61ddc72b [FE] Allow declaring protected constructors in sealed classes
#KT-44865 Fixed
2021-02-12 13:36:39 +03:00
Dmitriy Novozhilov f3a8fcaea6 [FE] Make constructors of sealed classes protected instead of internal 2021-02-12 13:36:38 +03:00
Mikhael Bogdanov e795c2c407 Generate proper hashCode for fun interface wrappers
#KT-44875 Fixed
2021-02-12 11:28:17 +01:00
Vyacheslav Karpukhin f33cad54c5 AndroidDependencyResolver: fixed AAR import on modern AGP plugins 2021-02-11 23:24:19 +01:00
Vyacheslav Karpukhin 7eb5fc7778 AndroidDependencyResolver: fixed NPE 2021-02-11 23:24:18 +01:00
Anton Bannykh abc44fa658 Increase -Xmx for Ant tests 2021-02-11 18:39:34 +03:00
Jinseong Jeon 20f9787c70 FIR checker: report errors in contract description 2021-02-11 17:02:18 +03:00
Jinseong Jeon 3d635b6a94 FIR: unwrap smartcast expression when extracting effects of contract 2021-02-11 17:02:16 +03:00
Jinseong Jeon 70f462781a FIR-IDE: add mappings for backing field diagnostics 2021-02-11 17:02:15 +03:00