Denis Zharkov
f1955c84aa
FIR: Remove ignoreFrontendIR from GenerateInRangeExpressionTestData
...
It's unnecessary anymore since all tests are fixed
2020-06-19 17:15:56 +03:00
Dmitriy Novozhilov
a7675c16d5
[FIR] Fix problems with renaming invocationKind and field in FirAnonymousFunction
2020-06-19 16:28:07 +03:00
Mikhail Zarechenskiy
9c8e979308
Fix compatibility resolve for references with multiple outer candidates
...
#KT-39533 Fixed
2020-06-19 16:21:24 +03:00
Dmitriy Novozhilov
bd8eaad885
[FIR-TEST] Update cfg dumps in some tests
...
One of previous commit changed order for those graphs, but i didn't
find which one
2020-06-19 15:53:11 +03:00
Dmitriy Novozhilov
d01817ce14
Rename InvocationKind to EventOccurrencesRange
2020-06-19 15:53:11 +03:00
Dmitriy Novozhilov
1dfccf1416
[FIR] Rename edge kinds of control flow graph
2020-06-19 15:53:10 +03:00
Dmitriy Novozhilov
f0cc3a32d9
[FIR-TEST] Update testdata due to KT-39711
2020-06-19 15:53:10 +03:00
Dmitriy Novozhilov
64c9a83862
[FIR-TEST] Update testdata due to KT-39709
2020-06-19 15:53:10 +03:00
Dmitriy Novozhilov
a317c8a803
[FIR-TEST] Update testdata due to unresolved KT-36056
2020-06-19 15:53:09 +03:00
Dmitriy Novozhilov
26458875d5
[FIR] Add checker for uninitialized properties
2020-06-19 15:53:09 +03:00
Dmitriy Novozhilov
25621d699b
Add methods for combine InvocationKind's
...
There is two methods added -- `or` and `and`
`or` is used by CFA for combining two kinds that came from different
edges of control flow graph
`and` is analog of `+` operator for invocation kinds
2020-06-19 15:53:08 +03:00
Dmitriy Novozhilov
4078b4b6f9
[FIR] Prepare ControlFlowAnalysisDiagnosticComponent
2020-06-19 15:53:07 +03:00
Dmitriy Novozhilov
c9bc5884dd
[FIR] Add more utils for traversing control flow graph
2020-06-19 15:53:07 +03:00
Dmitriy Novozhilov
faa0f07d09
[FIR] Add utility flags to EdgeKind
2020-06-19 15:53:07 +03:00
Dmitriy Novozhilov
5ecbf8b7cd
[FIR] Add CFGNodeWithCfgOwner to detect subgraphs in CFA
2020-06-19 15:53:06 +03:00
Dmitriy Novozhilov
05ee436db0
[FIR] Introduce FirControlFlowGraphOwner node
2020-06-19 15:53:06 +03:00
Dmitriy Novozhilov
8a81a09fd0
[FIR] Assume that when without branches is not exhaustive. KT-39621
2020-06-19 15:53:05 +03:00
Dmitriy Novozhilov
4e2e05e689
[FIR-TEST] Check control flow graph in old frontend diagnostic tests
2020-06-19 15:53:05 +03:00
Dmitriy Novozhilov
12ed8c3bb4
[FIR-TEST] Update CFG dumps according to new nodes order
2020-06-19 15:53:04 +03:00
Dmitriy Novozhilov
4e6542a646
[FIR] Add Stub kind for CFG
...
Edges of stub graphs shouldn't be completed
2020-06-19 15:53:04 +03:00
Dmitriy Novozhilov
1a0df97961
[FIR] Pop and complete graph only after adding last edge to it
2020-06-19 15:53:03 +03:00
Dmitriy Novozhilov
3765c5119f
[FIR] Cache nodes in sorted order in CFG
2020-06-19 15:53:02 +03:00
Dmitriy Novozhilov
b5cceb8995
[FIR-TEST] Add validation of control flow graph nodes order
2020-06-19 15:53:02 +03:00
Dmitriy Novozhilov
2f8e95dace
[FIR-TEST] Add validation for completed graph in diagnostic tests
2020-06-19 15:53:01 +03:00
Dmitriy Novozhilov
9f55d4f3cd
[FIR-TEST] Mute test failing due to KT-39614
2020-06-19 15:53:01 +03:00
Dmitriy Novozhilov
87859b0faa
[FIR] Introduce new algorithm for building CFG for declarations
2020-06-19 15:53:00 +03:00
Dmitriy Novozhilov
950bbfe3a5
[FIR] Add kind for back edges in CFG
2020-06-19 15:53:00 +03:00
Dmitriy Novozhilov
34be9e3569
[FIR] Add controlFlowGraph references to value parameters
2020-06-19 15:52:59 +03:00
Dmitriy Novozhilov
65fae3bb0c
[FIR] Fix problem with local classes in anonymous objects
2020-06-19 15:52:58 +03:00
Dmitriy Novozhilov
5b64c0cfe2
[FIR] Add different states for CFG and some assertions for graph modification
2020-06-19 15:52:57 +03:00
Dmitriy Novozhilov
1261f62afb
[FIR] Extract CFGNode and it's inheritors to separate file
2020-06-19 15:52:56 +03:00
Dmitriy Novozhilov
3a4f53682f
[FIR] Don't convert non-local functions without name as FirAnonymousFunction
2020-06-19 15:52:56 +03:00
Mathias Quintero
f0bc52222d
Fix annotation construction with array literals
...
Turns out the issue happens to be that ArrayValue uses a list of values which needs to be translated to an array of the percise type before it is used by callBy
This also addresses handling of arguments after a vararg in an annotation
2020-06-19 13:20:57 +02:00
Ilya Muradyan
c3cbfe34c4
Allow not to create default importing scopes
2020-06-19 13:03:24 +02:00
Ilya Muradyan
017f640f26
Allow skipping extensions resolution for implicit receivers
2020-06-19 13:03:23 +02:00
Mikhail Bogdanov
e93bcc55ae
Revert "Deprecate DefaultImpl methods in compatibility mode"
...
This reverts commit 6c9c2a28
2020-06-19 12:58:46 +02:00
Mikhail Bogdanov
8bc4407be0
Fix compilation
2020-06-19 12:54:19 +02:00
Mikhail Bogdanov
6c9c2a287d
Deprecate DefaultImpl methods in compatibility mode
2020-06-19 12:23:05 +02:00
Mikhail Bogdanov
9c0b96af71
Report error on missed specialization in compatibility mode
...
#KT-39603 Fixed
2020-06-19 11:57:36 +02:00
Mikhail Bogdanov
929bb0e8d1
Move common logic from CodegenTestCase to KotlinBaseTest
2020-06-19 11:57:36 +02:00
Mikhail Bogdanov
9d48ecfac3
Make proper check for defaults on delegation to DefaultImpls
2020-06-19 11:57:36 +02:00
Mikhail Bogdanov
b8f0ad2111
Generate nullability annotations on this receiver in DefaultImpls. Don't generate nullability annotations in private methods
...
#KT-36969 Fixed
2020-06-19 11:57:35 +02:00
Mikhail Bogdanov
5bdf3d5757
Don't generate compatibility stubs for @JvmDefaultWithoutCompatibility
2020-06-19 11:57:35 +02:00
Mikhail Bogdanov
477cca3c99
Add JvmDefaultWithoutCompatibility annotation
2020-06-19 11:57:35 +02:00
Dmitriy Novozhilov
a98ad79d86
[FIR-TEST] Add option to run modularized tests with checkers
2020-06-19 12:40:02 +03:00
Roman Artemev
a0cccdf75c
[JS IR] Make backend work with new shared boxes
2020-06-19 12:23:15 +03:00
Roman Artemev
596c3d1af8
[JS IR] Implement shared box intrinsics translator
2020-06-19 12:23:15 +03:00
Roman Artemev
4c878c27a9
[JS IR] Introduce intrinsics to create shared boxes
2020-06-19 12:23:15 +03:00
Denis Zharkov
efee0dae94
FIR: Simplify JvmBinaryAnnotationDeserializer
...
Currently, it's anyway created one per class
2020-06-19 10:21:09 +03:00
Denis Zharkov
0bc2642634
FIR: Add clarification to the workaround for KT-39659
2020-06-19 10:21:09 +03:00