Commit Graph

82791 Commits

Author SHA1 Message Date
Ilya Kirillov 62e4b53d03 FIR IDE: fix not added import for functions 2021-06-03 19:38:52 +03:00
Ilya Kirillov 0534d3fb98 fix after rebase 2021-06-03 19:38:51 +03:00
Ilya Kirillov a926a1f534 FIR IDE: handle . after package name in completion tests 2021-06-03 19:38:50 +03:00
Ilya Kirillov 4785f36d8d FIR IDE: implement completion for packages 2021-06-03 19:38:49 +03:00
Ilya Kirillov 943ae108f5 FIR IDE: introduce import statement completion 2021-06-03 19:38:48 +03:00
Ilya Kirillov c998d0f026 FIR: make FirStaticScope to be name aware 2021-06-03 19:38:47 +03:00
Ilya Kirillov b81ef157b2 FIR IDE: fix reference resolve in import statement 2021-06-03 19:38:45 +03:00
Ilya Kirillov 55621b7aad FIR IDE: do not complete callables for classifier without companion 2021-06-03 19:38:44 +03:00
Ilya Kirillov 365bc5712b FIR IDE: do not add internal packages to completion 2021-06-03 19:38:42 +03:00
Ilya Kirillov 48b69b4f3f FIR IDE: add test for super keyword completion with qualifier 2021-06-03 19:38:41 +03:00
Ilya Kirillov 0a6243fc67 FIR IDE: implement super qualifier completion 2021-06-03 19:38:40 +03:00
Ilya Kirillov 7d351ca6b1 FIR IDE: add possibility to have different testdata for fir & fe10 keyword tests 2021-06-03 19:38:39 +03:00
Ilya Kirillov c81a9c9d18 FIR IDE: mute test which fails as we have no decalration name completion 2021-06-03 19:38:37 +03:00
Ilya Kirillov 0739f6974f FIR IDE: fix completion of type arguments without closing > 2021-06-03 19:38:36 +03:00
Ilya Kirillov d510f0809a FIR IDE: do not break formatting of reference shortenner 2021-06-03 19:38:35 +03:00
Ilya Kirillov 11e77d464d FIR IDE: add completion with package receiver 2021-06-03 19:38:34 +03:00
Ilya Kirillov e77783a0e5 FIR IDE: add packages name completion 2021-06-03 19:38:32 +03:00
Ilya Kirillov df93dc91d1 FIR IDE: fix package reference resolve 2021-06-03 19:38:31 +03:00
Ilya Kirillov d76ec9db50 FIR IDE: add completion for annotations 2021-06-03 19:38:30 +03:00
Ilya Kirillov 6b450e6fdf FIR: make FirOnlyClassifiersScope/FirOnlyCallablesScope to be name aware 2021-06-03 19:38:29 +03:00
Ilya Kirillov fcc5af99f3 FIR IDE: enable passing keyword tests 2021-06-03 19:38:27 +03:00
Ilya Kirillov f7cf80b8e9 FIR IDE: render short names as for completion lookup element types 2021-06-03 19:38:26 +03:00
Ilya Kirillov a718a2c2d8 FIR IDE: fix completion of top level type aliases 2021-06-03 19:38:25 +03:00
Ilya Kirillov bcf7116955 FIR IDE: add type completion with dot 2021-06-03 19:38:24 +03:00
Ilya Kirillov e03916e7fb FIR IDE: add index helper to FirBasicCompletionContext 2021-06-03 19:38:22 +03:00
Ilya Kirillov 6c9831f7d4 FIR IDE: separate callable and type completion 2021-06-03 19:38:21 +03:00
Ilya Kirillov e7288b3293 FIR IDE: extract FirCallableCompletionContributor 2021-06-03 19:38:20 +03:00
Ilya Kirillov 8dda232ae3 FIR IDE: move CompletionVisibilityChecker/ExtensionApplicabilityChecker to dedicated package 2021-06-03 19:38:19 +03:00
Ilya Kirillov a437cd9d86 FIR IDE: do not capture KtAnalysisSession receiver for CompletionVisibilityChecker/ExtensionApplicabilityChecker 2021-06-03 19:38:18 +03:00
Ilya Kirillov 3df075061c FIR IDE: extract classifier completion separate completion provider 2021-06-03 19:38:17 +03:00
Victor Petukhov 1e5998e0ba Add constraints between two different stub variables instead of creating constraint error due to T1 isn't subtype of T2
^KT-44241 Fixed
2021-06-03 19:18:09 +03:00
Nikita Bobko 071ae301b4 Add possibility to use baseDir in AdditionalDiagnosticsSourceFilesProvider
In IJ infrastructure we have specific path prefix for compiler testData
2021-06-03 19:05:47 +03:00
Jinseong Jeon 10f19c8f4a FIR UAST: invalidate caches between tests 2021-06-03 17:56:16 +02:00
Jinseong Jeon 37d8e6ddc3 FIR UAST: relocate render/log test data 2021-06-03 17:56:16 +02:00
Jinseong Jeon 80b94a43b0 FIR/UAST: split KotlinUIdentifier into a separate file 2021-06-03 17:56:16 +02:00
Jinseong Jeon 68766024b3 FIR/UAST: commonize Identifier implementations 2021-06-03 17:56:16 +02:00
Jinseong Jeon 6af930f6df FIR UAST: convert LeafPsiElement to UIdentifier 2021-06-03 17:56:16 +02:00
Jinseong Jeon 83256ef3bd FIR UAST: introduce identifiers and refNames tests 2021-06-03 17:56:16 +02:00
Jinseong Jeon c37123603c UAST: utilize identifier test base 2021-06-03 17:56:16 +02:00
Ivan Kochurkin da15f0ffe8 [FIR] Consider fullyExpandedType instead of original type in isSubtypeForTypeMismatch, consider lookupTag in isError method 2021-06-03 18:24:36 +03:00
Ivan Kochurkin 0b0a96a1d3 [FIR] Fix processing of nested type arguments, extract extractTypeRefAndSourceFromTypeArgument method to FirHelpers and use it from FirClassVarianceChecker and FirConflictingProjectionChecker 2021-06-03 18:24:35 +03:00
Ivan Kochurkin f081a6b4fa [FIR] Implement REDUNDANT_PROJECTION diagnostics, rename FirConflictingProjectionChecker -> FirProjectionRelationChecker, fix tests 2021-06-03 18:24:34 +03:00
Ivan Kochurkin 03e577bf98 [FIR] Implement CONFLICTING_PROJECTION_IN_TYPEALIAS_EXPANSION diagnostics, fix tests 2021-06-03 18:24:32 +03:00
Ivan Kochurkin ca970f0a8b [FIR] Add ConeKotlinTypeConflictingProjection, return it from substituteArgument instead of ConeStarProjection in appropriate cases, remove plus operator from ProjectionKind 2021-06-03 18:24:30 +03:00
Ivan Kochurkin b85846c0c0 [FIR] Fix location for CONFLICTING_PROJECTION diagnostics, extend conflictingProjection.kt with test sample 2021-06-03 18:24:29 +03:00
Ilya Goncharov ce78457eaa [Gradle, JS] Use replace by just string, not regexp in webpack config
^KT-43379 fixed
2021-06-03 17:55:05 +03:00
Ilya Goncharov 8c38c4a8e7 [Gradle, JS] Add dependency from packageJson task on included build's rootPackageJson 2021-06-03 17:55:04 +03:00
Victor Petukhov 19c07e048a Don't check suitability of a builder inference call if unrestricted builder inference is enabled
^KT-42139 Fixed
2021-06-03 17:28:40 +03:00
Dmitry Savvinov f8fbbc01b6 Don't append 'is a module' suffix to ModuleDescriptor debug text 2021-06-03 17:22:00 +03:00
Dmitry Savvinov 708fead1cc Add debug strings to frontend scopes-related structures
Such as:
- PackageFragmentProviders, and, in particular,
CompositePackageFragmentProviders
- JavaPackageFragments
- Scopes produced by those providers

The rationale is that a lot of frontend-facing bugs (like red code) are
easily recognizeable in resolution. But at that point you just see a
bunch of scopes, without meaningful toStrings, you don't know who has
produced them, and what's exactly wrong.

With this commit it should make debugging slightly easier: now at least
you'll be able to see that "this scope is a scope of package fragment
for foo.bar of module baz" and decide whether the declaration should or
should not have been resolved from such scope.
2021-06-03 17:21:59 +03:00