Commit Graph
100 Commits
Author SHA1 Message Date
Valentin Kipyatkov 5d60572cfd Temporarily disabled optimization because of failing tests 2020-04-30 15:45:24 +03:00
Valentin Kipyatkov 0c3c8b64ce Optimization for faster search of references to top-level members 2020-04-23 22:12:26 +03:00
Valentin Kipyatkov ec057a6c00 Minor change after review 2020-04-23 22:12:26 +03:00
Valentin Kipyatkov 56b20b0f31 Data Flow from Here: do not include named argument references 2020-04-23 22:12:25 +03:00
Valentin Kipyatkov 7c81d93db0 Data Flow to Here: process data-class copy-method calls 2020-04-23 22:12:25 +03:00
Valentin Kipyatkov 0b66330d9f Fixed compilation 2020-04-20 01:05:53 +03:00
Valentin Kipyatkov e1ee75c864 Fix to avoid test flickering (SlicerNullnessGroupingTestGenerated.testInlineFunctionManyCalls()) 2020-04-18 01:25:05 +03:00
Valentin Kipyatkov e6cfced54a Don't collect all usages at once 2020-04-18 01:25:05 +03:00
Valentin Kipyatkov 31a1b2ddd3 No BodyResolveMode.FULL in slicer 2020-04-18 01:25:05 +03:00
Valentin Kipyatkov 91a793d575 Slicer tree view: better highlighting range inside nodes and in the editor 2020-04-18 01:25:04 +03:00
Valentin Kipyatkov 64fec54c48 Slicer: underline element range in addition to bold font (better do it in IDEA code) 2020-04-18 01:25:04 +03:00
Valentin Kipyatkov 03126ba469 Container presentation in slicer tree: no type for properties and show accessor 2020-04-18 01:25:04 +03:00
Valentin Kipyatkov 2ee776a0d8 Container presentation in slicer tree: limit number of parameters shown by 2 2020-04-18 01:25:03 +03:00
Valentin Kipyatkov 3e5820e4c1 Slice tree: shorter container rendering for properties in primary constructor 2020-04-18 01:25:03 +03:00
Valentin Kipyatkov 23ead3c805 Added container text into slicer tests output 2020-04-18 01:25:03 +03:00
Valentin Kipyatkov 2d2d9337ca Do not include line numbers from librarys source into test output otherwise it will change to often when upgrading libs 2020-04-18 01:25:02 +03:00
Valentin Kipyatkov d6e8cdebfb Fixing compilation in bunch 201 2020-04-18 01:25:02 +03:00
Valentin Kipyatkov 411f2c833c Process inline functions from libraries (if sources available) + process source libraries if analysis scope includes them 2020-04-18 01:25:02 +03:00
Valentin Kipyatkov 06de3de1a6 Do not show doc-comment references in data flow 2020-04-18 01:25:01 +03:00
Valentin Kipyatkov 84a786dde3 Renames and test output format improvement 2020-04-18 01:25:01 +03:00
Valentin Kipyatkov 33082d8661 Added missing text in the tree rendering 2020-04-18 01:25:01 +03:00
Valentin Kipyatkov 63095f9ec9 Handling of method references 2020-04-18 01:25:00 +03:00
Valentin Kipyatkov 7dd30eb943 Support other kinds of variables for invoke receiver 2020-04-18 01:25:00 +03:00
Valentin Kipyatkov 5a7f74c250 Extracted method 2020-04-18 01:25:00 +03:00
Valentin Kipyatkov 8a1ea7b45e One more test 2020-04-18 01:24:59 +03:00
Valentin Kipyatkov cc6090347a Handling other types of expressions as invoke receiver 2020-04-18 01:24:59 +03:00
Valentin Kipyatkov bf79c3f279 Minor 2020-04-18 01:24:59 +03:00
Valentin Kipyatkov 9624f8afa3 Flaky test? 2020-04-18 01:24:59 +03:00
Valentin Kipyatkov 67021d23e2 Minor 2020-04-18 01:24:58 +03:00
Valentin Kipyatkov f3b26e1c9a Correct detection of parameter index or receiver from invoke call 2020-04-18 01:24:58 +03:00
Valentin Kipyatkov 83ef8def4d Hacked SliceNullnessAnalyzerBase from IDEA to take into account SliceUsage.isLeaf() and give reasonable and stable results for Kotlin 2020-04-18 01:24:58 +03:00
Valentin Kipyatkov e4d9801388 Process only correct implicit receivers 2020-04-18 01:24:58 +03:00
Valentin Kipyatkov fdfae5260f Parameter to receiver 2020-04-18 01:24:57 +03:00
Valentin Kipyatkov 04d4f7444e Tracking of receiver for incoming lambda's for outflow analysis + better handling of invoke and operator calls 2020-04-18 01:24:57 +03:00
Valentin Kipyatkov 8f01427534 Tracking of incoming lambda's for outflow analysis 2020-04-18 01:24:57 +03:00
Valentin Kipyatkov a09a9a65ff Special handling of inline function to track values from individual calls 2020-04-18 01:24:57 +03:00
Valentin Kipyatkov 269420a0e0 Processing implicit extension receiver usages in outflow processing 2020-04-18 01:24:56 +03:00
Valentin Kipyatkov 5040d37e2f Code refactoring 2020-04-18 01:24:56 +03:00
Valentin Kipyatkov 6928700320 Moving declarations 2020-04-18 01:24:56 +03:00
Valentin Kipyatkov 52ff1c62dd Tracking of implicit receiver from enclosing lambda 2020-04-18 01:24:56 +03:00
Valentin Kipyatkov 4e88e2697c Replaced [LAMBDA OUT] in test data to [LAMBDA CALLS] which is less confusing 2020-04-18 01:24:55 +03:00
Valentin Kipyatkov 7bcd6619cf Tracking inflow of lambda receiver 2020-04-18 01:24:55 +03:00
Valentin Kipyatkov 61d4383cb9 Merged LambdaResultOutflowBehaviour and LambdaCallsBehaviour into one 2020-04-18 01:24:55 +03:00
Valentin Kipyatkov 1e39d4a63c Code refactoring + better handling of incoming data flow to java super methods 2020-04-18 01:24:55 +03:00
Valentin Kipyatkov b5b0fd62a9 Track anonymous function parameters in inbound data flow analysis as well 2020-04-18 01:24:54 +03:00
Valentin Kipyatkov f0d4d7bb86 Added correctness check of test data + fixed huge amount of incorrect code in test data 2020-04-18 01:24:54 +03:00
Valentin Kipyatkov c19a16f1e0 Track lambda parameters in inbound data flow analysis 2020-04-18 01:24:54 +03:00
Valentin Kipyatkov 799b2d7291 Refactoring: abstraction of idea with "lambdaLevel" in slices 2020-04-18 01:24:54 +03:00
Valentin Kipyatkov 03e894f75d Use partial body resolve 2020-04-18 01:24:53 +03:00
Valentin Kipyatkov 86c98b0d62 Refactoring 2020-04-18 01:24:53 +03:00
Valentin Kipyatkov b4b58d1d99 Handling implicit receivers in InflowSlicer 2020-04-18 01:24:53 +03:00
Valentin Kipyatkov 90188ef44f Data flow to/from here: supported expected/actual declarations and extension receivers 2020-04-18 01:24:52 +03:00
Valentin Kipyatkov bfa3fb0589 Do not check scope for super declaration 2020-04-18 01:24:52 +03:00
Valentin Kipyatkov 179b59032a Do not create JavaSliceUsage directly 2020-04-18 01:24:52 +03:00
Valentin Kipyatkov 0b2aff4e70 KT-38003 works for Java implementations of extension method 2020-04-18 01:24:52 +03:00
Valentin Kipyatkov 84c9692332 KT-38003 works for Java implementations too 2020-04-18 01:24:51 +03:00
Valentin Kipyatkov 2b83e3721a KT-38003 "Analyze Data Flow from Here" should work on parameter of abstract method
#KT-38003 Fixed
2020-04-18 01:24:51 +03:00
Valentin Kipyatkov 76a573921e Fixed Introduce Parameter broken by earlier changes in KotlinParameterInfo 2020-04-09 12:22:22 +03:00
Valentin Kipyatkov 1ffdc11d31 Suggest signature refactoring also for members of expect class 2020-04-07 22:17:05 +03:00
Valentin Kipyatkov a5dc2b5b2a Suggested change signature: do not ask to enter values for optional parameters
#KT-37797 Fixed
2020-04-07 22:17:05 +03:00
Valentin Kipyatkov f4a245e12a Dropped hack in initialization of KotlinParameterInfo which is not needed anymore 2020-04-07 22:17:05 +03:00
Valentin Kipyatkov 4f19dd5fe1 Code refactoring 2020-04-07 22:17:05 +03:00
Valentin Kipyatkov e49ca20d17 Code improvements 2020-04-07 22:17:05 +03:00
Valentin Kipyatkov 88cd129549 Fixed other parameter references broken in new parameter values in conventional Change Signature 2020-04-07 22:17:04 +03:00
Valentin Kipyatkov 0adfa0357a Converted all test method bodies into blocks - otherwise IDE is too slow 2020-04-07 22:17:04 +03:00
Valentin Kipyatkov c76571413b Added test for new parameter value referencing another parameter 2020-04-07 22:17:04 +03:00
Valentin Kipyatkov 084276ef1f Suppress suggested refactoring for unused private and local declarations 2020-03-18 15:16:04 +02:00
Valentin Kipyatkov e95d1c1224 Do not suggest to update usages on renaming duplicated method or property 2020-03-18 15:16:04 +02:00
Valentin Kipyatkov 395ba7d008 Using new API 2020-03-18 15:16:04 +02:00
Valentin Kipyatkov 12bf8a44e7 Minor changes after code review 2020-02-26 22:57:35 +01:00
Valentin Kipyatkov b9a9000569 Suggested Rename and Change Signature implementation for Kotlin 2020-02-26 22:57:34 +01:00
Valentin Kipyatkov cfc2c0fb20 Changes after rebasing on master 2020-02-13 07:40:37 +02:00
Valentin Kipyatkov 4f5d121478 Minor code improvements 2020-02-13 07:40:37 +02:00
Valentin Kipyatkov e7c72637a1 Removed misleading comments from test data 2020-02-13 07:40:37 +02:00
Valentin Kipyatkov ae578e0a5d Copyright comments 2020-02-13 07:40:37 +02:00
Valentin Kipyatkov ee6d6adf70 processAllExactUsages() only for KtDeclaration 2020-02-13 07:40:36 +02:00
Valentin Kipyatkov c33a4c5c5b Code formatting 2020-02-13 07:40:36 +02:00
Valentin Kipyatkov 3ccb8fa3a8 Workaround for compiler crash 2020-02-13 07:40:36 +02:00
Valentin Kipyatkov e71bd4e4a4 No need to intersect with element's useScope - it's performed by reference search by default 2020-02-13 07:40:36 +02:00
Valentin Kipyatkov f43626f57f Refactoring 2020-02-13 07:40:36 +02:00
Valentin Kipyatkov 826c5dd92e Minor 2020-02-13 07:40:35 +02:00
Valentin Kipyatkov 3897f51f8e Refactoring code 2020-02-13 07:40:35 +02:00
Valentin Kipyatkov f60d24c621 Refactoring 2020-02-13 07:40:35 +02:00
Valentin Kipyatkov 1b5b0d2839 Minor refactoring 2020-02-13 07:40:35 +02:00
Valentin Kipyatkov af32cad1ae Minor 2020-02-13 07:40:35 +02:00
Valentin Kipyatkov fd7331bbc0 Refactoring 2020-02-13 07:40:35 +02:00
Valentin Kipyatkov 8008185b77 Renamed mistyping in function name 2020-02-13 07:40:34 +02:00
Valentin Kipyatkov 8f7648c60a Reordered methods 2020-02-13 07:40:34 +02:00
Valentin Kipyatkov ff39880677 Refactoring - converting extensions to normal functions 2020-02-13 07:40:34 +02:00
Valentin Kipyatkov b1cd56ba91 We must check super property usages also when analyzing inflow 2020-02-13 07:40:34 +02:00
Valentin Kipyatkov 612fd6d1bf Refactoring to split big file 2020-02-13 07:40:34 +02:00
Valentin Kipyatkov ff516cac73 Do not include overriders when analyzing parameter usages unless invoked on parameter 2020-02-13 07:40:33 +02:00
Valentin Kipyatkov e76eaa4b5b Refactored code to avoid duplication 2020-02-13 07:40:33 +02:00
Valentin Kipyatkov b406d85ca3 Analyze Data Flow to Here: Java super-methods supported 2020-02-13 07:40:33 +02:00
Valentin Kipyatkov cfa1d91aa4 Analyze Data Flow to Here to work with virtual methods 2020-02-13 07:40:33 +02:00
Valentin Kipyatkov c34286a327 More usable rendering of usage context in Analyze Data Flow to/from Here 2020-02-13 07:40:32 +02:00
Valentin Kipyatkov c63eb18b3c Fixed nested class in companion object case 2018-10-16 08:41:43 +03:00
Valentin Kipyatkov 28e2683146 One more test 2018-10-16 08:41:42 +03:00
Valentin Kipyatkov 69f74b2a51 Fixed ShortenReferences for extension on companion object 2018-10-16 08:41:42 +03:00
Valentin Kipyatkov d4e0f53583 Fixed ShortenReferences for the case of extension for object 2018-10-16 08:41:42 +03:00