Commit Graph

53 Commits

Author SHA1 Message Date
Mikhail Glukhikh 2b05320ae9 [Raw FIR] Synchronize enum entry building in PSI / light AST modes 2020-01-10 10:23:51 +03:00
Alexander Udalov 8a4510c21b Regenerate tests 2020-01-02 10:31:00 +01:00
Simon Ogorodnik 1715f1a864 [FIR] Refactoring: create use-site scopes via scope provider 2019-12-30 12:52:58 +03:00
Mikhail Glukhikh a8a50fa657 Fix raw FIR building with parenthesized expression as selector 2019-12-27 09:57:34 +03:00
Dmitriy Novozhilov e7f8c8e155 [TEST] Regenerate tests after previous commit 2019-12-12 16:11:45 +03:00
Dmitriy Novozhilov b76c984b26 [FIR] Support IntegerLiteralTypes 2019-12-09 17:24:26 +03:00
Dmitriy Novozhilov 43e621530f [FIR] Add type parameters to FirQualifierExpression
It is needed for resolving qualifiers with type arguments
  like `Array<String>::class`
2019-11-25 14:44:44 +03:00
Denis Zharkov 159aefd26d FIR: Refactor Cone types
- Get rid of AbbreviatedType
2019-11-20 17:57:35 +03:00
Denis Zharkov f178cb6fb3 FIR: Replace trivial usages of ConeClassType with ConeClassLikeType 2019-11-20 17:55:23 +03:00
Dmitriy Novozhilov 35dd1cf75a [FIR] Fix binding return expression to function 2019-11-19 10:43:46 +03:00
Dmitriy Novozhilov 18dc652404 [FIR] Get rid of operation in FirVariableAssignment
`FirVariableAssignment` is creates only for expressions `x = y`
For other assign operators there is a `FirOperatorCall`
2019-11-08 12:12:39 +03:00
Dmitriy Novozhilov 4f8a8f84ba [FIR] Update some testdata in fir visualizer test 2019-11-07 10:39:22 +03:00
Dmitriy Novozhilov abf41f87a1 [FIR] Fix rendering of local variables in Visualizer 2019-11-07 10:39:21 +03:00
Dmitriy Novozhilov f0ba9c3c40 [FIR] Make file separator in AbstractVisualizer OS independent 2019-11-07 10:39:21 +03:00
Dmitriy Novozhilov 8b5f568a15 [FIR] Introduce FirDiagnostic in FIR instead of errorReason 2019-11-01 10:25:34 +03:00
Mikhail Glukhikh e1c889e871 Make FirClass a kind of FirClassLikeDeclaration, introduce FirRegularClass/AnonymousObject symbols 2019-10-29 16:27:41 +03:00
Dmitriy Novozhilov 0d15ff1ddd [FIR] Introduce FirSourceElement instead of FirElement as source in fir nodes 2019-10-29 13:03:13 +03:00
Denis Zharkov 1564e72b59 FIR: Rename FirResolvedCallableReference -> FirResolvedNamedReference
^KT-32725 In Progress
2019-10-28 17:07:18 +03:00
Dmitriy Novozhilov 45de26763a [FIR] Fix import broken in 93a3c232 2019-10-23 15:50:43 +03:00
Nikolay Krasko 4ed64b0283 Regenerate tests with TargetBackend.ANY remove and using runTest with this 2019-10-23 12:49:48 +03:00
Dmitriy Novozhilov cb981919f9 [FIR] Replace FIR tree with generated implementation 2019-10-10 17:53:30 +03:00
Mikhail Glukhikh 4cd8b78779 FIR: eliminate most usages of FirSession.service() and getService() 2019-10-08 16:19:54 +03:00
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