Ivan Cilcic
24cce75899
Add FIR_IGNORE directive to test files that must be skipped
2019-08-30 11:54:21 +03:00
Ivan Cilcic
350bd33769
Move FirRenderer class inside FirVisualizer to avoid ambiguity with existed FirRenderer
2019-08-30 11:50:35 +03:00
Ivan Cilcic
262f57d938
Add more tests in uncommonCases folder
...
1) dataClass.kt - test with data class
2) receiver.kt - test with Int extension receiver
3) delegation.kt - test with implementation by delegation
2019-08-30 11:50:35 +03:00
Ivan Cilcic
b8ef09a157
Repalce work with stack variable to work with extension functions
2019-08-30 11:50:34 +03:00
Ivan Cilcic
fd461a5147
Fix current package removing from properties
2019-08-30 11:50:34 +03:00
Ivan Cilcic
f0e7dcc4f6
Fix superTypes test by adding parameter to primary constructor
2019-08-30 11:50:34 +03:00
Ivan Cilcic
f0c7aadb20
Exctract common code from psi and fir visualizer classes
2019-08-30 11:50:33 +03:00
Ivan Cilcic
d504774527
Create fir renderer class
2019-08-30 11:50:33 +03:00
Ivan Cilcic
7a45155eb3
Create tests for fir visualizer
2019-08-30 11:50:33 +03:00
Ivan Cilcic
2179f97006
Create fir visualizer abstract test class and extract common code with psi tests
2019-08-30 11:50:32 +03:00
Ivan Cilcic
fe328f8c7a
Add some additional information to psi renderer
...
1) Trim unused spaces in annotations
2) Rewrote fq name rendering
3) Added annotations to for loop variable
4) Added type arguments render along to type parameters in functions
2019-08-30 11:50:32 +03:00
Ivan Cilcic
8fb2383845
Move psi visualizer test to separate "psi" package
2019-08-30 11:50:32 +03:00
Ivan Cilcic
aebe8c36f5
Add test methods and data for uncommon cases
...
Uncommon means mostly that aren't present in raw fir builder data
2019-08-30 11:50:31 +03:00
Ivan Cilcic
8047aa22a4
Add test methods and data base on raw fir builder test data
2019-08-30 11:50:31 +03:00
Ivan Cilcic
fd8205e317
Add removing current file package name from fq name
2019-08-30 11:50:31 +03:00
Ivan Cilcic
d2e47aea01
Change render to separate package names with slash symbol
2019-08-30 11:50:30 +03:00
Ivan Cilcic
08c9fa5259
Rewrite Annotator to be able to put several annotations in one position
2019-08-30 11:50:30 +03:00
Ivan Cilcic
3a12bac910
Wrote separate descriptor renderer
...
It was easier to write my own renderer than change current one
2019-08-30 11:50:29 +03:00
Ivan Cilcic
b57c34fd4d
Remove rendering from super and this expressions and from package directive
2019-08-30 11:50:29 +03:00
Ivan Cilcic
d0e1234434
Add separate method to render special functions
...
Specials functions are elvis (?:) and exclexcl (!!)
2019-08-30 11:50:29 +03:00
Ivan Cilcic
e94417e27b
Remove unnecessary data from render result
2019-08-30 11:50:28 +03:00
Ivan Cilcic
feec5b1a7c
Make annotation process a little clearer
2019-08-30 11:50:28 +03:00
Ivan Cilcic
e23e662ba7
Remove names from value parameters list
2019-08-30 11:50:28 +03:00
Ivan Cilcic
6fa7435cd4
Add additional options to DescriptorRender
...
1) renderContextNearLocalVariable - if true renderer add fq name for local variables after "@" symbol
2) fullContextForLocalVariable - if true then renderer add all fq names for local variables, else only last one
3) useBaseClassAsReceiver - if true then renderer uses dispatch receiver as extension receiver if the last is null
2019-08-30 11:50:27 +03:00
Ivan Cilcic
1879fd19eb
Create simple renderer for old frontend
...
It uses DescriptorRendererImpl that isn't quite good.
2019-08-30 11:50:27 +03:00
Ivan Cilcic
e69e6a1eeb
Create simple text annotator based on binary search
...
Co-authored-by: Simon Ogorodnik <simon.ogorodnik@jetbrains.com >
2019-08-30 11:50:27 +03:00
Ivan Cilcic
77c330d94e
Make a structure for frontend visualizer
...
Created visualizer module in compiler. It will contain basic tests for renderer. Additionally added three different modules in visualizer:
1) psi - will contain renderer for old frontend
2) fir - renderer for new frontend
3) common - will contain common code for both renderers
2019-08-30 11:50:26 +03:00