Commit Graph

31 Commits

Author SHA1 Message Date
Dmitriy Novozhilov e70c1d6959 [FIR] Remove default visited hierarchy 2019-09-17 18:09:18 +03:00
Mikhail Glukhikh 13b16cfe75 Refactoring: get rid of firSafeNullable, enhance getSymbolByLookupTag 2019-09-17 10:10:07 +03:00
Mikhail Glukhikh 20c45a8382 FIR general refactoring: get rid of ConeSymbols 2019-09-16 16:55:42 +03:00
Yan Zhulanow 996d9a5d90 Pill: Enable Pill for FIR visualizer modules 2019-09-10 21:38:38 +09:00
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