Commit Graph

39619 Commits

Author SHA1 Message Date
Mikhail Glukhikh 16d5c28622 Unmute FIR spec tests muted for KT-38340 2022-04-19 15:56:00 +00:00
Artem Kobzar 315ff0beeb fix(KT-38262): add ability to create classes with methods that have reserved keyword as an identifier. 2022-04-19 13:20:13 +00:00
Artem Kobzar 9d0c7a55b1 chore: rename method and remove FIXME comment. 2022-04-19 13:14:22 +00:00
Artem Kobzar 93dcc48512 fix(KT-50157): prevent boxing for char comparison. 2022-04-19 13:14:22 +00:00
Vyacheslav Gerasimov d9e8f0c180 Build: Rework test workers calculation with respect to available memory
#KTI-787
2022-04-19 11:45:23 +00:00
Dmitriy Novozhilov 4e4c4c8d39 [FE] Make ContextReceivers feature not unstable
It's already impossible to use declarations with context receivers
  if this feature is not enabled, so there is no need to additionally
  poison binaries with prerelease flag if this feature is enabled
2022-04-19 10:49:45 +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
Aleksei.Cherepanov e0029b14ee Rebuild module on plugin classpaths change
Add another one reason for rebuild: if pluginClasspaths was changed or even its jar content, module will be marked for rebuild

Merge-request: KT-MR-5839
Merged-by: Aleksei Cherepanov <aleksei.cherepanov@jetbrains.com>
2022-04-18 11:06:15 +00:00
Anton Bannykh 281e381223 JS IR: materialize Unit in lambdas
^KT-52010 fixed
2022-04-16 09:59:51 +03:00
Dmitry Gridin e737015d5f [jps][tests] remove hardcoded dist path
^KTIJ-20456
2022-04-15 22:00:19 +07: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
Denis.Zharkov b8ea48fdc2 Fix exception happening while parsing an incorrect file
^KTIJ-21546 Fixed
2022-04-15 09:10:09 +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
Anton Bannykh 90ee8662da rra/ilgonmic/kt-51973
[JS IR] Add non overridden property and method insode exported class

[JS IR] Add method into exported interface in test

[JS IR] Add interface properties cases to all file export test

[JS IR] Fix usage of isExported inside IrJsUtils


Co-authored-by: Anton Bannykh <Anton.Bannykh@jetbrains.com>

Merge-request: KT-MR-6087
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com>

^KT-51973 fixed
2022-04-14 16:59:54 +00:00
Alexander Korepanov d908eb6e84 [JS IR] Fix callable references ignoring bound parameters
^KT-51102 Fixed
2022-04-14 13:48:19 +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
Igor Chevdar 231fe42c0a [klibs] Fixed a bug in the signature-to-descriptor searcher
#KT-51927 Fixed
2022-04-14 07:33:56 +00:00
Dmitry Gridin 57b9648041 make jps-plugin testable from IJ infrastructure
^KTIJ-20456
2022-04-14 11:17:47 +07:00
wrongwrong 2da8d53791 Fix callBy for InlineClassAwareCaller in case of >=32 parameters
#KT-51804 Fixed
2022-04-13 23:35:48 +02:00
Jinseong Jeon 6a9ed82fdc FIR/LC: restructure light identifiers
* introduced KtLightIdentifierBase so that both FIR LC and ULC share
  basic implementations

* detach PsiCompiledElement as per KTIJ-21412,
  while introducing KtLightIdentifierWithOrigin so that
  UastLightIdentifier can still inherit origin computation logic

^KTIJ-21412 In Progress
2022-04-13 13:43:21 +02:00
Jinseong Jeon ef94582059 LC: use lazyPub to initialize identifier of parameter 2022-04-13 13:43:19 +02:00
Mikhail Glukhikh 815d1ad54b Don't check KtIntersectionType in raw FIR testPsiConsistency 2022-04-13 14:34:59 +03:00
Ilya Kirillov ffdef50424 [symbol lc] actualize testdata for symbol LC tests 2022-04-13 12:53:30 +02:00
Ilya Kirillov a5c8a20b69 [fir] add detailed error messages for MultipleModuleDataProvider checks 2022-04-13 12:53:28 +02:00
Ilya Kirillov 66df69ea2c [low level fir, tests] temporary mute some tests with the latest full jdk
full jdk paths are not handled well after test infra rework
2022-04-13 12:53:27 +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
Ilya Kirillov e69fa1ae07 [analysis api, test] rework test infrastructure, add possibility to create multimodule tests 2022-04-13 12:53:19 +02:00
Ilya Kirillov 3b55585782 [tests] Fix file path in testdata 2022-04-13 12:53:03 +02:00
Ilya Kirillov 339a51fbc6 [low level api fir] unmute now passing tests 2022-04-13 12:53:02 +02:00
Ilya Kirillov 4bd7fed1ea [analysis api, test] rework test infrastructure, add multimodule tests 2022-04-13 12:53:01 +02:00
Jinseong Jeon e72dc7d0c9 ULC: use special name for default setter parameter
to match the name appeared at LVT in compiler-generated JVM bytecode
2022-04-12 22:05:24 +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
Ilya Gorbunov 3778b1fde1 Remove ExperimentalStdlibApi no longer required in tests 2022-04-12 15:03:42 +00: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 d61e7db937 JVM_IR: add a test for when(enum) binary compatibility 2022-04-11 22:50:07 +02:00
pyos 518a6dec8c JVM_IR: ignore NoSuchFieldError when constructing enum mappings
^KT-30473 Fixed
^KT-38637 Fixed
2022-04-11 22:50:07 +02:00
Artem Kobzar fc4c745cc4 chore: remove usage of globalscope declaration. 2022-04-11 20:33:20 +00:00
Mads Ager bfe8c3b263 Use method entry line number for synthetic code in suspend fun.
If no line number is emitted, the line number of the last line
in the suspend function is used. That combined with the IntelliJ
debuggers handling of breakpoint setting and the D8 dexers
reordering of blocks can lead to cases where breakpoints on
the last line of a suspend function are never hit.

See https://youtrack.jetbrains.com/issue/KT-51936 for details.

^Fixed KT-51936
2022-04-11 17:00:40 +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
Artem Kobzar 97fc97e63d chore: add miss internal modifier to internal annotation. 2022-04-11 14:25:49 +00:00
Artem Kobzar 86df391cab fix: function body comments. 2022-04-11 14:25:47 +00:00