Commit Graph

2887 Commits

Author SHA1 Message Date
Mads Ager 6622846bc1 [JVM IR] Do not put destructuring params or underscores in LVT.
Putting them in the local variable table means that the debugger
needs to have special handling for parameters with specific names.
That forces us to generate mangled names for these.

Instead of also implementing the name mangling for FIR, this
change gets rid of the parameters from the LVT instead.
2021-11-02 15:13:14 +03:00
Dmitriy Novozhilov 4490f64666 [FIR] Get rid of FirAnnotatedDeclaration
Now all fir declarations have annotations

^KT-49260 Fixed
2021-10-28 15:01:18 +03:00
Ilya Chernikov 524e40708d Move report helpers to frontend.common 2021-10-27 22:17:40 +02:00
Ilya Chernikov e9f59e8d1d Move common diagnostics infrastructure to frontend.common 2021-10-27 22:17:39 +02:00
Ilya Chernikov a65beb2dc5 Move Fir*SourceElement to frontend.common, rename to Kt* (complete) 2021-10-27 21:44:11 +02:00
Steven Schäfer 05da65654e Parcelize: Enable warnings in tests 2021-10-26 17:06:18 +02:00
Steven Schäfer ca74b7becc AsmLikeInstructionListingTest: Handle remaining instructions
Adds argument printing for TypeInsnNode, IincInsnNode,
MultiANewArrayInsnNode, InvokeDynamicInsnNode,
TableSwitchInsnNode, and LookupSwitchInsnNode.
2021-10-26 16:50:12 +02:00
Dmitriy Novozhilov af0e40a0d2 [JS Test] Support RECOMPILE directive in js box tests in new infrastructure 2021-10-25 00:14:21 +03:00
Ivan Kylchik 225b064470 Implement new 'mix' test mode
This mode must be used when one configuration will run several tests
for different JUnit versions.
2021-10-25 00:14:20 +03:00
Aleksei.Cherepanov 276fb77155 Fix incremental build after changing Java const used as class property
Report Java static final constant with InlineConstantTracker, used as class property in Kotlin for further registration in JPS

#KT-49177 Fixed
2021-10-20 15:06:19 +03:00
Yan Zhulanow 20b73499f5 Pill: Add Analysis API test generator to the "Generate all tests" run configuration 2021-10-19 19:55:09 +03:00
Yan Zhulanow cb74247f8f Pill: Update options passed in test configurations 2021-10-19 19:55:08 +03:00
Yan Zhulanow 1f2508c177 Pill: recognize 'protobufCompare' as a test module 2021-10-19 19:55:07 +03:00
Yan Zhulanow f1fa17f896 Pill: Better support for compiler arguments in generated facets 2021-10-19 19:55:07 +03:00
Yan Zhulanow 6cd25984ca Pill: Always map kotlin-reflect-api to the kotlin-reflect.jar artifact 2021-10-19 19:55:06 +03:00
Yan Zhulanow 17120bf258 Pill: Fix Kotlin facet creation 2021-10-19 19:55:05 +03:00
Yan Zhulanow 099a44283f Pill: Disable Kotlin IDE plugin artifact building if not in cooperative mode 2021-10-19 19:55:05 +03:00
Yan Zhulanow 5627bbb535 Pill: Remove IDEA Ultimate run configuration 2021-10-19 19:55:04 +03:00
Yan Zhulanow 66005d9c3b Pill: Remove Android Studio support 2021-10-19 19:55:03 +03:00
Dmitriy Novozhilov bee44c6e0f [FIR] Split :compiler:fir:resolve module into three different modules
Those modules are:
- :compiler:fir:providers, which contains Fir and Symbol providers,
    scopes, and different utilities used by them
- :compiler:fir:semantics, which contains different abstractions and
    entities which are used in resolution and in checkers
- :compiler:fir:resolve, which contains all stuff related to resolution
    and inference

There are two pros of this change:
1. It may increase gradle build, because it allows to compile :fir:resolve
  and :fir:checkers modules in parallel
2. Logic of working FIR (scopes, providers, DFA logic system, etc) is
  now separated from logic of resolution phases, so for example checkers,
  which are depend on scopes physically will not be able to run resolve
  in any way
2021-10-18 11:10:47 +03:00
Dmitriy Novozhilov eadb91f9b2 [FIR] Move accessors to main session components close to declarations of those components 2021-10-18 10:55:39 +03:00
Dmitriy Novozhilov 7f836ee6c3 [FIR] Remove AllOpen prefixes from fir plugin prototype entities 2021-10-12 17:26:43 +03:00
Dmitriy Novozhilov 6712191538 [FIR] Update plugin prototype testdata 2021-10-12 17:26:41 +03:00
Dmitriy Novozhilov 9a802e7cd7 [FIR] Return symbols instead of FIR from FirPredicateBasedProvider 2021-10-12 17:26:40 +03:00
Dmitriy Novozhilov 6a14d91dbd [FIR] Change predicate providing API for FIR extensions
Predicate declaration was split into two parts:
- registering any number of predicates which are used in specific extension
- special checks for declaration applicability for each specific extension
2021-10-12 17:26:39 +03:00
Dmitriy Novozhilov 20e35167c8 [FIR] Add simple IR body generator to FIR plugin prototype 2021-10-12 17:26:39 +03:00
Dmitriy Novozhilov b3768a201f [FIR2IR] Create special IrDeclarationOrigin for generated declarations 2021-10-12 17:26:37 +03:00
Dmitriy Novozhilov 233b9f1242 [FIR] Generate IR for generated FIR declarations 2021-10-12 17:26:37 +03:00
Dmitriy Novozhilov e3579389ee [FIR] Create IR text tests for declarations generators 2021-10-12 17:26:36 +03:00
Dmitriy Novozhilov 0f076e16ed [FIR] Update plugin testdata 2021-10-12 17:26:35 +03:00
Dmitriy Novozhilov ea93d23dca [FIR] Move fir plugin tests to diagnostics sub directory 2021-10-12 17:26:34 +03:00
Dmitriy Novozhilov 79f1779d89 [FIR] Add methods to collect all class and callable ids from extensions
They will be needed for generating IR for all declarations from plugins
2021-10-12 17:26:33 +03:00
Dmitriy Novozhilov 38877ba842 [FIR] Implement extension for providing additional type attributes 2021-10-12 17:26:32 +03:00
Dmitriy Novozhilov e26cd74b16 [FIR] Fix applying generated supertypes for classes without explicit supertypes 2021-10-12 17:26:31 +03:00
Dmitriy Novozhilov 26fa772846 [FIR] Add ability to generate members and nested classifiers for existing classes 2021-10-12 17:26:30 +03:00
Dmitriy Novozhilov f3a9d70eb6 [FIR] Add ability to generate members and nested classifiers for generated classes 2021-10-12 17:26:29 +03:00
Dmitriy Novozhilov 15abd839ed [FIR] Rewrite algorithm of generating declarations by plugins
Before there was separate global stage which asks extensions
  to generate new declarations. Now it is changed to provider
  like requests, so extensions will decide do they have declarations
  with specific classId/callableId or not
2021-10-12 17:26:26 +03:00
Dmitriy Novozhilov e87f7c5cb4 [FIR] Update dummy checker in allopen plugin 2021-10-12 17:26:24 +03:00
Dmitriy Novozhilov 84dab9230e [FIR] Adapt AllOpenVisibilityTransformer to work with unresolved annotation arguments 2021-10-12 17:26:23 +03:00
Dmitriy Novozhilov 91624dd841 [FIR] Move call of status transform extensions to FirStatusResolver
It makes more sense to run status transformer extension
  right in status resolve stage, because it reduces
  number of compiler stages
2021-10-12 17:26:21 +03:00
Dmitriy Novozhilov 6d42914e56 [FIR] Migrate fir plugin prototype tests to new test infrastructure 2021-10-12 17:26:18 +03:00
Dmitriy Novozhilov e56c87a17a [Build] Move utils for generation JUnit 5 tests to :generators module 2021-10-12 17:26:18 +03:00
Dmitriy Novozhilov f0aba5e892 [Test] Update parcelize bytecode testdata 2021-10-12 10:30:13 +03:00
Alexey Subach ca2f37f6eb Add possibility to get location of the script.main.kts file
#KT-48414 fixed
2021-10-11 15:45:57 +02:00
Andrey Uskov 52e45062cf KAPT does not fail with default settings on JDK 16+
If KAPT process is executed on latest JDKs and module
'jdk.compiler' does not export required packages, KAPT will
configure this module to export required packages.

#KT-45545 Fixed
2021-10-10 16:40:34 +03:00
Ilya Muradyan 58831eacca [scripting] Make properties from destructing declarations available with reflection 2021-10-07 18:17:21 +03:00
Dmitriy Novozhilov df47bffabb [Test] Migrate Parcelize tests to new test infrastructure 2021-10-07 13:08:45 +03:00
Dmitriy Novozhilov a68c4ec7be [Test] Add ability to specify main class in Box tests
Also slightly refactor some existing services to make them more idiomatic
2021-10-07 13:08:45 +03:00
Dmitriy Novozhilov aab8870903 [Test] Migrate AbstractAsmLikeInstructionListingTest to new test infrastructure 2021-10-07 13:08:44 +03:00
Dmitriy Novozhilov bc7cc6b5a9 Move generated parcelize tests to tests-gen directory 2021-10-07 13:08:43 +03:00