Ilya Kirillov
fd082b1574
FIR IDE: get rid of DiagnosticCollectorDeclarationAction
2021-04-19 13:52:40 +02:00
Ilya Kirillov
e79c133331
FIR IDE: separate diagnostics collection and checker context collection
2021-04-19 13:52:39 +02:00
Ilya Kirillov
023f4e9f46
FIR: extract DiagnosticCollectingVisitor to separate file
2021-04-19 13:52:38 +02:00
Ilya Kirillov
f9d415eda6
FIR: make AbstractDiagnosticCollector.Visitor non-inner
2021-04-19 13:52:37 +02:00
Ilya Kirillov
284e828cd6
FIR: extract context related functions from AbstractDiagnosticCollector.Visitor to super class
2021-04-19 13:52:36 +02:00
Dmitriy Novozhilov
e3b5cc491d
[Test] Throw exception from compiler at a first place
2021-04-19 14:32:37 +03:00
Dmitriy Novozhilov
7fb2bf00c5
Force resolve annotations in annotation checker
...
#KT-46173 Fixed
2021-04-19 14:32:36 +03:00
Dmitriy Novozhilov
83bae89ed8
[Test] Show diff between fir file and testdata text if FE 1.0 and FIR test files don't match
2021-04-19 14:32:35 +03:00
Ivan Kochurkin
4353365968
[FIR] Implement NULL_FOR_NONNULL_TYPE diagnostics, fix tests
2021-04-19 12:46:08 +03:00
Aleksei.Cherepanov
b5ef6c9316
Add tests for SAM conversions
...
Add tests for KT-45191 [JPS] Marking method as "default" in Java SAM interface doesn't affect dependencies, which was fixed in intlellij(212): cbad0d91 support kotlin-generated lambda usage
#KT-45191 Fixed
2021-04-17 03:36:17 +03:00
Ilmir Usmanov
7b14975740
Add 'value' modifier to modifier order
...
Otherwise, there will be unfixable 'non-canonical modifier order'
warning
#KT-46088
#KTIJ-5636 Fixed
2021-04-16 18:51:44 +03:00
sebastian.sellmair
bbcfde7231
[Commonizer] Add 'commonizer_target' and 'commonizer_native_targets' to commonized klib's manifest
...
^KT-46077 Fixed
2021-04-16 14:56:31 +00:00
Dmitriy Novozhilov
b530427bb2
Fix substitution of generic types in contracts
...
#KT-41078 Fixed
2021-04-16 17:23:24 +03:00
Dmitriy Novozhilov
91fedd6a12
[FIR] Substitute types from arguments in evaluating of contract
...
#KT-41078
2021-04-16 17:23:22 +03:00
Dmitriy Novozhilov
c65553bb8a
[FIR] Get rid of source element type parameter from diagnostic factories
2021-04-16 14:08:11 +03:00
Dmitriy Novozhilov
4133f38c8c
[FIR] Transform annotations of property receiver type
2021-04-16 11:12:56 +03:00
Dmitriy Novozhilov
564de2790f
[FIR] Resolve array literals in independent context
2021-04-16 11:12:56 +03:00
Dmitriy Novozhilov
cc0f28b698
[FIR] Store type of function call and qualified access from error reference
2021-04-16 11:12:56 +03:00
Dmitriy Novozhilov
e869f8091a
[FIR] Properly handle callable references which were resolved with error
2021-04-16 11:12:55 +03:00
Dmitriy Novozhilov
450fb5e915
[Test] Add handler to detect implicit types which were left in resolved FIR
2021-04-16 10:52:58 +03:00
Ilya Gorbunov
8041c3aa1d
Support Char.code in constant evaluator, KT-46036
...
But do not consider Char.code a pure integer constant.
2021-04-16 03:58:34 +03:00
Alexander Udalov
0a446230f7
Reorder LanguageFeature entries according to sinceVersion
2021-04-15 21:41:17 +02:00
Alexander Udalov
168d8b07a8
Minor, fix warnings on new stdlib API
...
In modules where allWarningsAsErrors is not yet enabled.
2021-04-15 18:39:06 +02:00
Dmitry Petrov
e89ab71bf8
JVM_IR KT-45934 don't generate declaration stubs for delegates
2021-04-15 17:59:19 +03:00
Dmitry Petrov
cc415f62b5
JVM_IR KT-46092 fix array spread operator in Kotlin->Java call
2021-04-15 17:11:21 +03:00
Mikhail Glukhikh
9b3f1b9b8a
Inference: handle Exact constraints with captured types properly
...
#KT-41818 Fixed
2021-04-15 15:55:41 +03:00
Mikhail Glukhikh
51d348d5fa
FIR: report FUN_INTERFACE_CONSTRUCTOR_REFERENCE on deserialized properly
...
This fixes KT-46100 for FIR
2021-04-15 15:54:18 +03:00
Ilya Kirillov
d7e3c65c45
FIR: add renderDeclarationOrigin to FirRender
2021-04-15 15:24:02 +03:00
Ilya Kirillov
0e98480be3
FIR: update resolve phase for declaration when visiting with FirContractResolveTransformer
2021-04-15 15:24:01 +03:00
Ilya Kirillov
5de4c5fc28
FIR: allow declaring specific set of parameters for FirRenderer
2021-04-15 15:24:00 +03:00
Ilya Kirillov
fee83051e9
FIR: encapsulate creating of cli-only session components into single function
2021-04-15 15:23:59 +03:00
Ilya Kirillov
0a80fbb078
FIR IDE: do not read declaration phase without read lock hold
2021-04-15 15:23:57 +03:00
Ilya Kirillov
0cf00d0f72
FIR: fix FirDefaultPropertyAccessor phase to BODY_RESOLVE
2021-04-15 15:23:56 +03:00
Ilya Kirillov
39b2cd1027
FIR: do not provide symbols with different ClassId in JavaSymbolProvider
...
JavaSymbolProvider uses KotlinPsiElementFinderWrapper for finding classes.
CliFinder looks for Java classing assuming that class with ClassId=a/b/C
lives in directory a/b and do not look into real package name of Java class.
This causes that we may find some classes which we should not see from current scope.
Also, the IDE implementation works correctly here (it also checks file package)
which cause different behaviour of FIR IDE and FIR
This change also requires to fix testdata and make Java classes live
in directory consistent with file package
2021-04-15 15:23:53 +03:00
pyos
82cadba80b
FIR: report errors on FirResolvedTypeRef with ConeClassErrorType
...
Not sure what the difference from FirErrorTypeRef is.
2021-04-15 14:59:30 +03:00
pyos
474d1d48f7
FIR: allow fun T.() = ... as an instance of (T) -> ...
...
It was already done by the previous commit by mistake, but it broke if
there are other value parameters because the type of the first parameter
would be inferred to be same as the type of the receiver.
2021-04-15 14:59:29 +03:00
pyos
0a25550fc2
FIR: allow fun (x: T) ... as an instance of T.() -> ...
...
and disallow > 1 implicit parameters in lambdas.
2021-04-15 14:59:28 +03:00
pyos
354acc1fd5
FIR: permit * as FunctionN type argument
...
`() -> *` is not valid, but `F<*>` where `typealias F<T> = () -> T` is.
2021-04-15 14:59:27 +03:00
Denis.Zharkov
32dacc37c0
FIR: Fix OverloadResolutionByLambdaReturnType case
2021-04-15 14:48:20 +03:00
Ilmir Usmanov
1c48fb28db
Generate return when generating continuation class for expression body
...
Otherwise, the function will return Unit instead of correct value.
#KT-46007 Fixed
2021-04-15 13:54:45 +03:00
Simon Ogorodnik
539d3e5df2
Add full-pipeline modularized tests for old frontend
2021-04-15 13:36:00 +03:00
Pavel Punegov
c988ecf59b
Ignore test in native backend due to the KT-44037 (KT-38181)
2021-04-15 07:59:26 +00:00
Pavel Punegov
0f5edaa02f
Ignore test in the native backend. It redefines JvmInline class
2021-04-15 07:59:24 +00:00
Tianyu Geng
4d2e3a2379
FIR: Fix resolving += to ignore + if it doesn't return correct type
...
This is the FIR fix of the FE change tracked by
https://youtrack.jetbrains.com/issue/KT-45503
Consider the following code:
```
fun foo() {
var l = mutableListOf("")
l += ""
}
```
The above code used to be considered invalid due to ambiguous `+=`. But
after KT-45503, it's now considered valid code because `plus` is not
really a valid option for this code. This is because the return type
of `plus` for `List` is `List`, which does not match the type of
variable `l`.
As for now, FIR rejects the above code due to ambiguous `+=`. This
change fixes that by also consider the return type when resolving `+=`.
2021-04-15 10:34:05 +03:00
Tianyu Geng
c43faa2ada
FIR: refactor FirExpressionsResolveTransformer#transformAssignmentOperatorStatement
...
No logic change. This commit only rearrange stuff to make it cleaner
2021-04-15 10:34:04 +03:00
Dmitriy Novozhilov
861f69822b
[FIR] Fix infinite recursion of ConeDefinitelyNotNullType
2021-04-15 10:30:29 +03:00
Dmitriy Novozhilov
7c6a9aa963
[FIR] Store cachedExpandedType in WeakPair instead of usual Pair
...
WeakPair is a renamed OneElementWeakMap
2021-04-15 10:30:29 +03:00
Dmitriy Novozhilov
dd96c3b56e
[FIR] Turn some checkers into classes to prevent memory leaks
...
This is temporary solution until those checkers will be fixed
#KT-46058
2021-04-15 10:30:29 +03:00
Dmitriy Novozhilov
085bddbfc0
[FIR] Force checker components to create checkers sets on each access
...
This is needed to add ability to recreate checkers which are not objects
for each session
2021-04-15 10:30:26 +03:00
Dmitriy Novozhilov
1f62a2d8cc
[FIR] Add disposing of FirJavaElementFinder in FIR compiler entrypoint
2021-04-15 10:30:09 +03:00