Dmitriy Novozhilov
50f6825775
[FE 1.0] Cleanup code of ControlFlowProcessor
...
- Always pass not nullable language version settings
- Fix warnings and style
- Remove redundant pseudocode utils
2022-01-14 14:26:53 +03:00
Irene Dea
19bfc43bee
Fixes and refactors
2022-01-08 15:25:07 +03:00
Roman Artemev
353bfe9018
[JS IR] Cleanup pir IC code
2021-12-24 16:50:40 +03:00
Sergej Jaskiewicz
3fb1096c18
[JS IR] Support IR dump in JS tests
2021-12-22 17:55:33 +00:00
Roman Artemev
e17f121b23
[JS REPL] Extract JS script/repl parts into separate module
...
- don't load js evaluation plugin in CLI compiler
2021-12-21 04:15:11 +03:00
Roman Artemev
fb84287ae0
[KLIB] Compute relative path instead of absolute if relative base is provided
...
- normalize path if required
- path it in JS/Native
- path null for JVM (temporary)
- fix build
2021-12-15 21:13:52 +03:00
Dmitriy Dolovov
60dcafcf43
[Test] TestGen: Use canonical class names for generated imports
...
This is needed to have correct class names for inner/nested classes. For example, to have `import java.util.AbstractMap.SimpleEntry` instead of `import java.util.AbstractMap$SimpleEntry`.
2021-12-14 13:48:23 +03:00
Ivan Kylchik
b131c52889
Drop all usages of WITH_RUNTIME directive
2021-12-13 18:07:11 +03:00
Evgeniy.Zhelenskiy
cb4ec932d7
[Tests] Introduce replacing source transformer
2021-12-10 18:19:17 +03:00
Evgeniy.Zhelenskiy
2874462e3a
[Tests] Introduce transformers functions object
2021-12-10 18:19:16 +03:00
Evgeniy.Zhelenskiy
af73034235
[Tests] Introduce runTest with transformer to old testing framework
2021-12-10 18:19:16 +03:00
Evgeniy.Zhelenskiy
9b196c738f
[Tests] Generify transforming tests method model
2021-12-10 18:19:16 +03:00
Evgeniy.Zhelenskiy
e62c6e3eac
[Tests] All tests correct generation
2021-12-10 18:19:16 +03:00
Evgeniy.Zhelenskiy
f92290dfdf
[Tests] Generate runTest with transformer parameter + example
2021-12-10 18:19:15 +03:00
Roman Artemev
c3c2bb5884
[TEST] Add Klib ABI test runner logic
...
- common and js-specific classes
2021-12-08 20:18:14 +03:00
Roman Artemev
699f16ba55
[KLIB] Move klib-related tests into separate package/directory
...
- regenerate tests
2021-12-08 20:18:08 +03:00
Anastasiya Shadrina
37495bcba0
[FE] Change resolution scheme
2021-12-02 20:23:57 +03:00
Anastasiya Shadrina
d923c95671
[FE] Add context receivers to scope
2021-12-02 20:23:22 +03:00
Dmitriy Novozhilov
ce218b8a0b
[FIR] Make FirExtensionRegistrar a proper extension point
...
After that commit it's allowed to register any FIR plugin using
existing extension infrastructure (`-Xplugin` CLI argument,
plugin.xml for IDE plugins, etc)
2021-11-30 12:57:50 +03:00
Alexander Udalov
1b5e3f5d51
Deserialize repeated annotations inside implicit container
...
#KT-49651 Fixed
2021-11-18 15:33:34 +01:00
Ivan Kylchik
c7435ba760
Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
...
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00
Denis.Zharkov
360d67410d
FIR: Fix overridability rule for Java declarations with different return type kinds
...
See the class at org/jmock/Expectations
public <T> T with(Matcher<T> matcher);
public boolean with(Matcher<Boolean> matcher);
When we extending such class it we start assuming
that fake generic override overrides both of the overridden that is wrong
from POV of Java and it fails at FIR ultimate build
NB: It's hard to write a test because such Expectation-like
class is impossible to write in pure Java
2021-11-02 19:08:28 +03:00
Stanislav Erokhin
f455141ade
[ULC] Fix rendering for Foo.class in annotation value
...
Previously it was Foo::class, but it isn't correct because in java it
is Foo.class
P.s. Array<Foo> cannot be passed as annotation parameter
2021-11-01 10:38:09 +00:00
Ilya Chernikov
5446168770
Add path to FirFile to pass it to the DiagnosticContext
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
31c58767cf
Rearrange fir diagnostic for further reuse
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
Victor Petukhov
012f1f6013
Introduce a compiler X flag to enable enhancing not null annotated type parameter's types to definitely not null types
2021-10-26 19:37:59 +03: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
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
Dmitriy Novozhilov
eadb91f9b2
[FIR] Move accessors to main session components close to declarations of those components
2021-10-18 10:55:39 +03:00
Mads Ager
e9c9d5731e
[JVM] Port Stepping and LocalVariable tests to new test infra.
...
This is in preparation for enabling the tests for FIR which will
be easier to do when the tests are on the new infrastructure.
2021-10-15 20:03:54 +03:00
Dmitriy Novozhilov
aab8870903
[Test] Migrate AbstractAsmLikeInstructionListingTest to new test infrastructure
2021-10-07 13:08:44 +03:00
Dmitriy Novozhilov
de7fb9606a
Migrate all JDK 9 related tests to JDK 11
2021-09-28 13:01:47 +03:00
Dmitriy Novozhilov
ce3562f0e8
Migrate all JDK 15 related tests to JDK 17
2021-09-28 13:01:45 +03:00
Victor Petukhov
a264cbfe7d
Move CallUtil.kt under the resolve.util package
2021-09-27 16:12:01 +03:00
Victor Petukhov
6082d681b6
Rename the old inference ResolutionCandidate to OldResolutionCandidate
2021-09-27 16:11:58 +03:00
Steven Schäfer
ae27be16eb
AsmLikeInstructionListingTest: Print owner for FieldInsnNode
2021-09-18 00:25:58 +02:00
Dmitriy Novozhilov
116a1c1e46
[FIR] Remove stubMode flag from RawFirBuilder and LightTree2Fir converter
2021-09-13 13:53:05 +03:00
Mikhail Glukhikh
007cf2ce7c
Rename AnalysisFlags.useExperimental to optIn
2021-09-10 16:29:18 +03:00
Mikhail Glukhikh
fc6403679a
Rename !USE_EXPERIMENTAL test directive to !OPT_IN
2021-09-10 16:29:16 +03:00
Sergej Jaskiewicz
681ff2dcec
[test] Add missing whitespaces
2021-09-10 15:48:40 +03:00
Roman Artemev
78cd45f937
[KLIB] Resolve deserialization on for each file separately
...
Needs for IC
2021-09-07 20:41:28 +03:00
Denis.Zharkov
302eacbf59
Support new form of definitely non-nullable types: T & Any
...
^KT-26245 In Progress
2021-08-31 15:41:11 +03:00
Alexander Udalov
4f29c113b7
Remove KotlinCompilerVersion.IS_PRE_RELEASE
...
Now, milestones of major Kotlin releases (e.g. 1.6.0-M1) will NOT
generate prerelease binaries anymore.
The reason for that is it's proven to be quite a complicated process to
turn on IR_PRE_RELEASE after the release is branched, perform double
bootstrap and fix tests, and then do it again in reverse just before
release. With the new release cadence, we don't have that much time to
do it and verify that everything works as intended.
Note that this only removes the "global" prerelease flag. Compiler will
still generate prerelease binaries if a non-stable language version is
used. For example, Kotlin 1.6.0-M1 with `-language-version 1.7` will
generate prerelease binaries.
2021-08-24 16:23:42 +02:00
Ilya Chernikov
caa44e413d
Abstract FIR cli pipeline from core environment and related entities
2021-08-23 16:50:40 +03:00
Ivan Kochurkin
8d764fa50e
[FIR] Add FirPropertyAccessExpression that inherits FirQualifiedAccessExpression
2021-08-13 20:05:43 +03:00
Simon Ogorodnik
97bfc49ed6
[FIR Test] Fix file counting for global passes
2021-08-03 19:52:21 +03:00
Dmitriy Novozhilov
c2e2068682
[Test] Add ability to mark group of tests with specific tags
...
Currently tags can be applied to all tests in specific testdata
directory by placing `_tags.txt` file in it, where all tags should
be listed on separate lines. Test generator adds those tags to
corresponding generated test classes with `@Tag` annotation
Please note that is applicable only to JUnit 5 tests
2021-08-01 22:23:41 +03:00
Dmitriy Novozhilov
c168a561df
[Test] Migrate tests for java 15 to regular test infrastructure
2021-08-01 22:23:39 +03:00