Arsen Nagdalian
86e07cd626
Parser tests: move the contract description blocks tests to a separate folder and add a test for property accessors' contracts
2020-08-25 12:58:38 +03:00
Arsen Nagdalian
66f7250380
[FIR] Add contract description blocks support to "lightTree2FIR" conversion
2020-08-25 12:58:38 +03:00
Arsen Nagdalian
9fd104eec8
[FIR] Add contract description blocks support to RawFirBuilder
2020-08-25 12:58:38 +03:00
Arsen Nagdalian
d53f3b9ba8
[PSI] Add some useful getters to psi nodes
2020-08-25 12:58:37 +03:00
Arsen Nagdalian
a936c6331a
[Parser] Add getters' and setters' contracts parsing
2020-08-25 12:58:37 +03:00
Arsen Nagdalian
6c06008b4d
[FIR] Add a class representing the old syntax contract description in order to use the previous class for the new syntax
2020-08-25 12:58:37 +03:00
Arsen Nagdalian
b83aa88eff
[FIR] Add function for getting ConeEffectDeclaration from FirEffectDeclaration and use it where needed
2020-08-25 12:58:35 +03:00
Arsen Nagdalian
991b18fec4
[FIR] Add a Fir node that wraps a ConeEffectDeclaration
2020-08-25 12:58:35 +03:00
Arsen Nagdalian
32a64b888e
[Parser] Add parsing of function's contract either before or after type constraints
2020-08-25 12:58:34 +03:00
Arsen Nagdalian
1b57889773
Clean the code
2020-08-25 12:58:34 +03:00
Arsen Nagdalian
f781a9993b
Parser tests: add tests for contract description blocks
2020-08-25 12:58:34 +03:00
Arsen Nagdalian
2e9a898f45
[Parser] Move function's contracts parsing in before type constraints parsing
2020-08-25 12:58:34 +03:00
Arsen Nagdalian
0990434840
[Parser] Modify parser so that it could parse contract description blocks of functions
2020-08-25 12:58:34 +03:00
Arsen Nagdalian
e3fe9c3314
[PSI] Add new Psi nodes representing contract effects list and each individual contract effect in the list
2020-08-25 12:58:34 +03:00
Arsen Nagdalian
4b7d34b537
Add "contract" keyword
2020-08-25 12:58:34 +03:00
Dmitriy Novozhilov
316e0e6609
[FIR] Update testdata
2020-08-25 12:07:59 +03:00
Dmitriy Novozhilov
3ccb72bb1a
Shadow :core:compiler.common inside kotlinx.metadata
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
811a2206a5
Fix usages of KotlinBuiltIns after rebase
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
bc1b6d3588
Rename :core:descriptors.common to :core:compiler.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
864cf21f03
Merge :core:type-system into :core:descriptors.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
5fa80a2f8c
Merge :core:deserialization:deserialization.common into :core:descriptors.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
bbac270b33
Move OperatorNameConventions to :core.descriptors.common
2020-08-25 10:41:34 +03:00
Dmitriy Novozhilov
2760a187a9
Move FunctionClassKind utils to :core.descriptors.common
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
2285d3e3cf
Move Variance and AnnotationUseSiteTarget to :core.descriptors.common
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
167f18b738
Move SourceElement and SourceFile to :deserialization.common
...
Remove dependency on `:core:descriptors` from `:core:deserialization:deserialization.common`
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
a764732020
Rename KotlinBuiltInsNames to StandardNames
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
d032fdfc44
[FIR] Cleanup dependencies in :compiler:fir:raw-fir modules
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
b6fd6c3a84
[FIR] Remove dependency on descriptors from :compiler:fir:raw-fir.raw-fir.common module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
71a517c686
[FIR] Rename :compiler:fir:raw-fir:fir-common to :compiler:fir:raw-fir:raw-fir.common
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
7d4349edc2
[FIR] Remove dependency on descriptors from :compiler:fir:tree module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
95346f834b
[FIR] Fix forgotten dependency to contracts of FE 1.0
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
73ace6d161
Remove dependency to descriptors from :compiler:config module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
82a9b1492b
Move RenderingUtils to :core:descriptors.common module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
ba6b1c37d0
Move TargetPlatform to :core:descriptors.common module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
d6d2be8e58
Move incremental components to :core:descriptors.common module
2020-08-25 10:41:31 +03:00
Dmitriy Novozhilov
3a48265077
Move ModuleDescriptor.Capability to :core:descriptors.common module
2020-08-25 10:31:37 +03:00
Dmitriy Novozhilov
6f0cd14afa
Move common classes to new :core:deserialization:deserialization.common module
2020-08-25 10:31:37 +03:00
Dmitriy Novozhilov
079a2dfe1e
Move EventOccurrencesRange class to :core:descriptors.common module
2020-08-25 10:31:37 +03:00
Dmitriy Novozhilov
f7f489537b
[FIR] Remove dependency on :core:descriptors from :compiler:fir:tree
2020-08-25 10:31:37 +03:00
Dmitriy Novozhilov
e92caae609
[FIR] Remove dependency on :core:descriptors from :compiler:fir:cones
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
45cf221b97
Move util functions from KotlinBuiltIns to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
20a2ad8223
Move FunctionClassDescriptor.Kind to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
7a7fe77b8e
Move static constants with builtin names to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
2e92fe9be9
[FIR2IR] Add fir2ir component for converting fir visibility to FE 1.0
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
a02109d857
[FIR] Add FirVisibilityChecker session component
...
This is needed because we have different visibility rules for different
platform visibilities (e.g. protected and package private on JVM), so
we need ability to configure visibility checks for different platforms
2020-08-25 10:31:35 +03:00
Dmitriy Novozhilov
18ae593700
[FIR] Rename new visibilities to CamelCase
...
It's more convenient since they are objects now instead of
const fields in FE 1.0
2020-08-25 10:31:35 +03:00
Dmitriy Novozhilov
43821b681c
[FIR] Introduce new Visibility class which not depends on descriptors
2020-08-25 10:31:35 +03:00
Dmitriy Novozhilov
9d9f9c52c0
Extract some classes from descriptors module to :core:common
...
This is needed to remove dependencies from fir modules to
`:core:descriptors` module
What was extracted:
- Modality
- ClassKind
- org.jetbrains.kotlin.name package
2020-08-25 10:31:35 +03:00
Dmitriy Novozhilov
41ba9b0a2d
[FIR] Add flag to disable transformers required only for plugins
2020-08-25 10:31:34 +03:00
Mikhail Glukhikh
53ad502d2a
[FIR2IR] Generate fake overrides earlier and bind them later
...
Before this commit, we generated fake overrides at last FIR2IR stage,
after having all functions and classes built. This could lead to a
situation when fake override was called before it was generated.
This commit fixes this situation.
2020-08-25 10:00:26 +03:00