Yahor Berdnikau
5d07eb77f2
Allow declaring @GradleTestVersions for the whole test suite.
...
^KT-45745 In Progress
2021-10-12 19:22:09 +03:00
Mark Punzalan
4f0b52b653
FIR: Transform annotations on type arguments during body resolve.
2021-10-12 18:56:32 +03:00
Dmitriy Novozhilov
d6e428cd98
[Build] Add FIR plugin prototype tests to firCompilerTest task
2021-10-12 17:26:45 +03:00
Dmitriy Novozhilov
fce6efe412
[FIR] Validate generated member declarations
2021-10-12 17:26:44 +03:00
Dmitriy Novozhilov
7f836ee6c3
[FIR] Remove AllOpen prefixes from fir plugin prototype entities
2021-10-12 17:26:43 +03:00
Dmitriy Novozhilov
b4d955838e
[FIR] Properly use FirContainingNamesAwareScope in all places
...
Split some delegating scopes to basic and name aware implementations
Also get rid of getContainingCallableNamesIfPresent and
getContainingClassifierNamesIfPresent functions because they are not
needed anymore
2021-10-12 17:26:43 +03:00
Dmitriy Novozhilov
5f625f3c16
[FIR] Fail with error if multiple plugins generated classes with same classId
...
In future we can turn this failure to some proper diagnostic
2021-10-12 17:26:42 +03:00
Dmitriy Novozhilov
af6d6ec2b9
[FIR] Properly collect constructors from class in presence of plugins
2021-10-12 17:26:41 +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
1cfe4deda9
[FIR] Remove unused methods 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
fc1f2e9c72
[FIR2IR] Run IrGenerationExtensions after fir2ir stage
2021-10-12 17:26:38 +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
b454fcc1e0
[FIR] Save IR dumps to .ir.txt files instead of .txt in tests
...
This is needed to avoid clashes between different dumps from different
handlers
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
c60ba51f8f
[FIR] Include generated declarations into FIR dump in tests
...
Also include non root package directive of FirFile to dump
2021-10-12 17:26:34 +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
9baf10cfcc
[Build] Remove forgotten comment from build config
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
32709151c3
[FIR] Move base FirExtension infrastructure to :fir:tree module
...
This is needed for type attribute extension which is used not only
from :resolve module but also from :(de)serialization modules
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
9bfa6c54b8
[FIR] Inherit FirContainingNamesAwareScope from FirScope
...
This is needed to simplify FirScope hierarchy, because in
fact all inheritors of `FirContainingNamesAwareScope` were
inheritors of `FirScope` too
2021-10-12 17:26:29 +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
270962e176
[FIR] Make KotlinScopeProvider a session component
2021-10-12 17:26:27 +03:00
Dmitriy Novozhilov
4f764c28cb
[FIR] Use proper caches in FirDeclaredMemberScopeProvider
2021-10-12 17:26:27 +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
760943f0e1
[FE] Make setter of CallableId.classId private
...
Fact that `classId` is `var` is detail of implementation,
so there is no reason to expose its setter to public API
2021-10-12 17:26:24 +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
e011ca183d
[FIR] Fix FirPluginAnnotationsResolveTransformer after recent compiler changes
2021-10-12 17:26:22 +03:00
Dmitriy Novozhilov
3da2fbf02d
[FIR] Add FIR plugin tests to list of all testData directories
2021-10-12 17:26:22 +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
48aa063b21
[FIR] Cleanup utils for creating FirTotalResolveProcessor
2021-10-12 17:26:16 +03:00
Sergej Jaskiewicz
1f0b691ab6
[JS] Fix some JS prettyprinting
...
- Print a newline after `default` case in `switch`es
- Print a newline after `if` blocks without corresponding `else` blocks
2021-10-12 13:38:56 +00:00
Mikhail Glukhikh
7243d30869
Split property use-site targets during FIR building
2021-10-12 16:22:58 +03:00
Mikhail Glukhikh
2a9a1dbb86
FIR: allow diagnostic collection on default property accessors
2021-10-12 16:22:56 +03:00
Mikhail Glukhikh
39fe457f91
Add test reproducing KT-49087 and KT-49069
2021-10-12 16:22:54 +03:00
Ilmir Usmanov
d0a70e5cc0
Minor. Use safe cast in isStaticInlineClassReplacementDelegatingCall
2021-10-12 15:09:07 +02:00
pyos
226306ac83
IR: check whether local declarations need to throw after Nothing return
...
^KT-48982 Fixed
2021-10-12 15:09:05 +02:00
Dmitry Petrov
a213dad9ab
JVM_IR add more tests for specialized generics and reification
2021-10-12 15:56:38 +03:00
Dmitry Petrov
0098103376
JVM_IR minor: update test
2021-10-12 15:56:36 +03:00
Dmitry Petrov
b184c72e3d
JVM_IR make proxy funs synthetic, fix some typos
2021-10-12 15:56:35 +03:00