Vyacheslav Gerasimov
d9e8f0c180
Build: Rework test workers calculation with respect to available memory
...
#KTI-787
2022-04-19 11:45:23 +00:00
Ilya Kirillov
9088da7b33
[fir] use correct session for supertype symbol search
...
During supertype resolution we may encount a supeclass came from other source session.
In this case, we should search for it containing FirFile inside that session
2022-04-19 12:37:49 +02:00
Ivan Kochurkin
3b8183a736
[FIR] Support of importing optional annotation classes (JS/Native), ^KT-51757 Fixed
2022-04-18 15:36:21 +00:00
Ivan Kochurkin
73e7b99e05
[FIR] LightTree builder: get rid of unwanted asText calls
2022-04-18 15:36:20 +00:00
Ivan Kochurkin
541fba1531
[FIR] Type argument instead of unexpected type parameter for TypeMismatch error
...
^KT-49035
^KT-51201 Fixed
2022-04-18 15:36:20 +00:00
Ivan Kochurkin
8c7fad9a5e
[FIR] Support of type arguments in annotations ^KT-48444 Fixed
2022-04-18 15:36:19 +00:00
Ivan Kochurkin
05bed8f751
[FIR] Hide local type for return type of single expression function ^KT-51418 Fixed
2022-04-18 15:36:18 +00:00
Mikhail Glukhikh
0ecba0ad0b
FIR: don't create incorrect constraints in CallableReferenceResolution
...
#KT-50994 Fixed
Related to KT-49477
2022-04-18 14:27:42 +00:00
Denis.Zharkov
9c7fea24d1
Fix exception when reporting WRONG_TYPE_PARAMETER_NULLABILITY_FOR_JAVA_OVERRIDE
...
^KT-51979 Fixed
2022-04-15 12:36:05 +00:00
Dmitriy Novozhilov
989cef6c3c
[FE 1.0] Don't report OVERRIDE_DEPRECATION on default accessors of deprecated properties
...
^KT-51893 Fixed
2022-04-15 08:30:05 +00:00
Jerome Prinet
44b2905800
Fix JavaApplication.setMainClassName deprecation
2022-04-14 14:21:31 +03:00
Jerome Prinet
6aec88446a
Fix JavaExec.main deprecation
2022-04-14 14:21:31 +03:00
Mikhail Glukhikh
815d1ad54b
Don't check KtIntersectionType in raw FIR testPsiConsistency
2022-04-13 14:34:59 +03:00
Ilya Kirillov
a5c8a20b69
[fir] add detailed error messages for MultipleModuleDataProvider checks
2022-04-13 12:53:28 +02:00
Ilya Kirillov
69a53bc742
[low level fir] use correct FirModuleData for declarations provided by FirJavaFacade
2022-04-13 12:53:23 +02:00
Ilya Kirillov
2649788b87
[analysis api fir] put every library into a separate KtModule in tests
2022-04-13 12:53:22 +02:00
Jinseong Jeon
2763b58cdd
RAW FIR: use special name for default setter parameter
...
FE1.0 descpritor, PSI2IR, and JVM IR backend use that.
FIR2IR is also using that, which implies name "value" in RAW FIR
maybe has not been used anywhere.
2022-04-12 22:05:22 +02:00
Mads Ager
1e444e0451
[JVM IR] Limit local variables in do-while conditions.
...
Locals introduced in the body of a do-while loop are not
necessarily live at the do-while condition. For example,
if there is a continue in the body before the declaration:
do {
if (shouldContinue(x))
continue
val y = 32 // not always defined in the condition
doSomething(y)
} while (x < 2)
For locals referenced in the condition such code is rejected
by the frontend because a local referenced in the condition
must be always defined when you get there.
However, locals that are not used in the condition were always
put in the local variable table. This leads to invalid locals
information which can trip of debuggers and other build tools
such as the D8 dexer.
This patch only puts in locals information for locals actually
referenced in the local variable table for the condition.
^Fixes KT-51754
2022-04-12 15:47:14 +02:00
Roman Golyshev
32fa2fc476
[FIR] Resolve receiver in qualified expressions with no selector
...
In qualified expression like `foo().`, selector expression is null.
Because of that the whole expression was marked as an error FIR
expression, and `foo()` part was not resolved at all (including
arguments and everything else).
This commit fixes the problem by providing receiver's FIR expression
as an underlying expression for error FIR expression. That way
it will be seen by all resolve transformers and will be successfully
resolved.
^KTIJ-21484 Fixed
2022-04-12 10:55:12 +00:00
pyos
a07e21d913
JVM: streamline handling of tail-call suspend functions
...
Just see if every suspend call is followed only by safe instructions or
returns, then insert a suspension point check if there isn't a direct
return.
The first part of this is equivalent to the old implementation, just
refactored. The second part generates strictly more checks; see, for
example, the fixed test, in which the previous implementation failed to
insert a check before a CHECKCAST.
^KT-51818 Fixed
2022-04-11 17:00:26 +00:00
Ilmir Usmanov
6e30ce2763
FE: Make synchronized suspend functions and lambdas error in 1.8
...
#KT-27333 Fixed
2022-04-11 12:02:30 +00:00
Ilmir Usmanov
f473998e8b
FIR: Make 'suspend fun', where 'suspend' is not builtin error in 1.8
...
#KT-49264
2022-04-11 12:02:29 +00:00
Ilmir Usmanov
f75a8109d2
FE 1.0: Make 'suspend fun', where 'suspend' is not builtin error in 1.8
...
#KT-49264 Fixed
2022-04-11 12:02:28 +00:00
Ilmir Usmanov
1e3f84402d
Safely check for suspend function parent
...
The issue here is that the function can be in unlowered file, and
thus its parent package fragment and not class.
#KT-49317 Fixed
2022-04-08 23:31:49 +02:00
Ivan Kochurkin
81b1ed9ad4
[FIR] Fix false positive RETURN_TYPE_MISMATCH in intellij ultimate
2022-04-07 21:03:08 +03:00
Dmitriy Novozhilov
b79f5a445f
[FIR] Use proper ReturnTypeCalculator inside FakeOverrideTypeCalculator
2022-04-07 12:18:49 +00:00
Dmitriy Novozhilov
6e2402620f
[FIR] Fix collecting member candidates on receiver with smartcast
...
^KT-51460 Fixed
^KT-51827
2022-04-07 12:18:48 +00:00
Dmitriy Novozhilov
51bd0fd2db
[FIR] Add ability to specify module name in modularized test
...
Use `fir.bench.filter.name` property to specify module name instead of
module path regex
2022-04-07 12:18:48 +00:00
Ilmir Usmanov
1488790cd3
Replace recursion with a loop
...
#KT-51530 Fixed
2022-04-07 01:08:22 +00:00
Denis.Zharkov
6937e08b9c
FIR: Remove effectively incorrect code from Candidate.getReceiverType
2022-04-06 16:05:42 +00:00
Denis.Zharkov
82b6fdf97e
FIR: Serialize type attributes for non-type-ref types, too
2022-04-06 16:05:41 +00:00
Denis.Zharkov
41bc842b9d
FIR: Support context receivers in Fir2Ir
2022-04-06 16:05:39 +00:00
Denis.Zharkov
aa74bd4293
FIR: Minor. Drop effectively-always-null body parameter
2022-04-06 16:05:38 +00:00
Denis.Zharkov
512446843b
FIR: Support typeRef-name label for this
2022-04-06 16:05:37 +00:00
Denis.Zharkov
ac399321f0
FIR: Add replace method for contextReceiverNumber
2022-04-06 16:05:37 +00:00
Denis.Zharkov
445705369e
FIR: Support context receivers in FirPropertyTypeParametersChecker
2022-04-06 16:05:36 +00:00
Denis.Zharkov
0ba5c528d0
FIR: Support (de)serialization of context receivers
2022-04-06 16:05:35 +00:00
Denis.Zharkov
dfc736161a
FIR: Fix overload resolution with context receivers
2022-04-06 16:05:35 +00:00
Denis.Zharkov
c33f06b9e4
FIR tree: add context receivers helper properties
2022-04-06 16:05:34 +00:00
Denis.Zharkov
202413c2f4
FIR: Add context receivers from the containing class to constructors
2022-04-06 16:05:33 +00:00
Denis.Zharkov
ef84dddc88
FIR: Add preliminary support for context receivers in resolution
2022-04-06 16:05:32 +00:00
Denis.Zharkov
90b12433ec
FIR: Add replaceContextReceivers to FirCallableDeclaration
2022-04-06 16:05:31 +00:00
Denis.Zharkov
8f013db94d
FIR: Simplify resolution for invokeExtension on implicit extension
2022-04-06 16:05:29 +00:00
Denis.Zharkov
9a070ad4f6
FIR: Get rid of SessionBasedTowerLevel
2022-04-06 16:05:28 +00:00
Denis.Zharkov
150f951fb2
FIR: Simplify and clarify contracts in FirInvokeResolveTowerExtension
2022-04-06 16:05:28 +00:00
Denis.Zharkov
f7371816de
FIR: Minor. Simplify FirInvokeResolveTowerExtension
2022-04-06 16:05:27 +00:00
Denis.Zharkov
c595780d83
FIR: Add two label-related fields to FirContextReceiver
2022-04-06 16:05:26 +00:00
Denis.Zharkov
550d24f8c6
FIR: Introduce ContextFunctionTypeParams type attribute
2022-04-06 16:05:26 +00:00
Denis.Zharkov
f3e28c3767
FIR: Prepare ConeAttribute infrastructure for non-singleton attrs
2022-04-06 16:05:25 +00:00
Denis.Zharkov
54c3e7e7c5
FIR: Support context receiver in FIR building
2022-04-06 16:05:24 +00:00