Commit Graph

57173 Commits

Author SHA1 Message Date
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
Ilya Chernikov 08720a3dc6 Set thread context classloader in the kotlin runner
#KT-26624 fixed
2019-08-28 17:59:11 +02:00
Ilya Chernikov d3f32c0d8a Set thread context classloader in preloader
#KT-33529 fixed
2019-08-28 17:59:11 +02:00
Igor Yakovlev 7b2f39530a Fix invalid testdata for ConvertToScopeIntention applicability 2019-08-28 16:31:49 +03:00
Vyacheslav Gerasimov cf39803074 Pass cacheRedirectorEnabled flag to performance test gradle import
#KT-33582
2019-08-28 16:14:05 +03:00
Dmitry Gridin b04fbbd43b Fix testUnusedSymbol_class_inspectionData_Inspections_test test 2019-08-28 19:11:42 +07:00
Igor Yakovlev 1e72116a9c Fix test data for intention tests
The ExtractDeclarationFromCurrentFileIntention applicability range was changed by commit 3b35c2d24 so the test data of several test comes invalid
2019-08-28 13:07:33 +03:00