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
Mikhail Glukhikh
e895a0b8a0
FIR resolve: integrate implicit receivers into ImplicitReceiverStack
...
It can work both by order & by name
2019-08-30 11:47:34 +03:00
Mikhail Glukhikh
f2c77c45e9
FIR: simplify rendering of dispatch & extension receivers
2019-08-30 11:47:33 +03:00
Mikhail Glukhikh
dfacc2d68f
FIR builder test: remove always-false check
2019-08-30 11:47:33 +03:00
Mikhail Glukhikh
e36a75250b
FIR: visit/transform dispatch & extension receivers only once
2019-08-30 11:47:33 +03:00
Mikhail Glukhikh
5defe22651
FIR [MapArguments]: transform only arguments but not all children
2019-08-30 11:47:33 +03:00
Mikhail Glukhikh
8bb539ce19
FIR resolve: integrate receiverExpression inside ReceiverValue
2019-08-30 11:47:33 +03:00
Mikhail Glukhikh
0962755fde
FIR2IR: drop field receiver consistency check (due to delegate field case)
2019-08-30 11:47:33 +03:00
Mikhail Glukhikh
75c4c88d0a
FIR: set receivers for invoke case more precisely
2019-08-30 11:47:32 +03:00
Mikhail Glukhikh
62bb127fc9
FIR: add K/J test with getValue() / value fake cycle
2019-08-30 11:47:32 +03:00
Mikhail Glukhikh
f0f4ddecc0
FIR: set dispatch receiver for field symbols
2019-08-30 11:47:32 +03:00
Mikhail Glukhikh
bd5e1aeef5
FIR2IR: change backing field visibility to private
2019-08-30 11:47:32 +03:00
Mikhail Glukhikh
271c15114c
FIR: add test with problematic cases
2019-08-30 11:47:32 +03:00
Mikhail Glukhikh
652fd7ee73
FIR: fix dispatch receivers for objects
2019-08-30 11:47:31 +03:00
Mikhail Glukhikh
29b406c731
FIR: set dispatch receiver for backing field access
2019-08-30 11:47:31 +03:00
Mikhail Glukhikh
13d14df8ae
FIR: set dispatch receiver for data class generated functions
2019-08-30 11:47:31 +03:00
Mikhail Glukhikh
0d5cfa97a5
FIR2IR: read & set dispatch & extension receivers
...
NB: this commit includes receiver-based assertions yet failing for some tests
2019-08-30 11:47:31 +03:00
Mikhail Glukhikh
b531e535b6
FIR call resolve: set values of dispatch & extension receivers
2019-08-30 11:47:31 +03:00
Mikhail Glukhikh
67a7243361
FIR (rename): candidateOwner -> boundSymbol
2019-08-30 11:47:31 +03:00
Mikhail Glukhikh
8633a33108
FIR: add new qualified access implementation (FirThisReceiverExpression)
2019-08-30 11:47:30 +03:00
Mikhail Glukhikh
c63919f224
FIR tree: add dispatch & extension receivers
2019-08-30 11:47:30 +03:00
Mikhail Glukhikh
da22898a19
FIR2IR: set 'SetField' type to Unit, convert explicit 'this' references
2019-08-30 11:47:30 +03:00
Mikhail Glukhikh
6604539154
FIR: set bound symbol for explicit this references
2019-08-30 11:47:30 +03:00
victor.petukhov
aa79064a96
Remove deprecated spec tests map generators
2019-08-30 11:39:09 +03:00
Dmitriy Novozhilov
e4938c6c36
[FIR] Remove status map from intersection type
2019-08-30 11:10:31 +03:00
Dmitriy Novozhilov
ef4ef08b1d
[FIR] Add default upper bound for java type parameters
2019-08-30 11:10:31 +03:00
Mads Ager
8ed1317839
[IR] For loop lowering for iteration over CharacterSequences.
...
Change-Id: I7aeadfffc80f791ec19a3607e219c1dc4de028db
2019-08-30 09:35:59 +02:00
Sergey Rostov
26fbe3f07b
JPS Build: remove outdated note about updating bootstrap
2019-08-30 09:05:58 +03:00
Igor Yakovlev
63892891db
Add internal move refactoring testing action
...
This action doing further steps in infinite loop (breaks after user request):
1) Generate random move refactoring model
2) Run this model (if it is correct)
3) Recompile the project
4) If compilation was not succeeded write model parameters into output file
5) Delete all new files and directories and make "git reset"
2019-08-29 18:23:21 +03:00
Igor Yakovlev
3951fde081
Save 'Search for references' checkbox state on move of kotlin file
...
Fixed #KT-24929
2019-08-29 18:16:21 +03:00
Igor Yakovlev
eca2707dbf
Refactor of Move Refactoring
...
The main purpose of this commit - to make this refactoring logic can be covered as much as possible.
To make this possible we should to extract all possible UI code from business logic (and vice versa).
Additional fixes was applied during refactoring process.
There is come major steps made in this commit:
1) Extract business logic to separate models
2) Fixes of business models logic
3) Add "Delete empty source file" checkbox instead of modal message box
4) Improve error messaging in move refactoring dialogs
5) Inject interface into move handler that makes UI dialogs could be overrided
6) Inject flag into move handler that makes UI conflicts dialog could be overrided
2019-08-29 18:16:20 +03:00
Vasily Levchenko
d6c5fbace0
[IR][inliner] prevent of parameters location information loss
2019-08-29 16:53:56 +03:00
Vladimir Dolzhenko
a2fcefd456
Added fallback for LightClasses getOwnFields, getOwnMethods if dummy resolve failed (KT-27243, KT-33561)
2019-08-29 15:46:57 +02:00
Ilya Kirillov
78b0d5750b
New J2K: consider literal expressions in data class conversion & fix names conflict
...
#KT-32253 fixed
2019-08-29 11:31:55 +03:00
Ilya Kirillov
405a3beeab
New J2K: move helper functions to corresponding files & use better names for tree nodes files
2019-08-29 11:31:54 +03:00
Ilya Kirillov
64ecbd1418
New J2K: use internal getStrictParentOfType instead of custom one
2019-08-29 11:31:54 +03:00
Ilya Kirillov
2f5fa49c52
New J2K: remove unused abstractions for conversions running
2019-08-29 11:31:54 +03:00
Ilya Kirillov
131df66087
New J2K: check if method reference has functional type on PsiType instead of JKType
...
As it may reference to uninitialized universe symbol
#KT-33434 fixed
2019-08-29 11:31:53 +03:00
Ilya Kirillov
ca0cc13097
New J2K: retrieve constructor call return type correctly
...
#KT-33431 fixed
2019-08-29 11:31:53 +03:00
Ilya Kirillov
982e7fdd86
New J2K: do not shorten class references for some Java primitive class wrappers classes
...
It may cause unresolved call errors
#KT-33500 fixed
2019-08-29 11:31:53 +03:00
Steven Schäfer
fd2ad89799
JVM IR: Write ACC_DEPRECATED flags
2019-08-28 19:41:12 +02:00
Steven Schäfer
a90ac2438d
Set correct field visibility in psi2ir
2019-08-28 19:41:11 +02:00
Mads Ager
6c7a904663
Psi2Ir: Mark accessors with no bodies as default accessors.
...
They are currently marked as defined even when they get a
default implementation. That makes it hard to figure out
if the accessor should be removed when introducing a backing
field in the JVM_IR backend.
2019-08-28 19:25:13 +02:00
Ilya Chernikov
fda37eaaae
[minor] Rearrange test utils for easier reuse
2019-08-28 17:59:12 +02:00
Ilya Chernikov
947867286c
[minor] Fix potential problems with sequence, add a todo
2019-08-28 17:59:12 +02:00
Ilya Chernikov
c9b25cad01
Fix classpath handling when evaluating legacy scripts from kotlinc
...
#KT-33554 fixed
2019-08-28 17:59:12 +02:00
Ilya Chernikov
31c56d7794
Set java.class.path property in runner and loader
...
#KT-24991 fixed
2019-08-28 17:59:12 +02:00