Commit Graph

15088 Commits

Author SHA1 Message Date
Valentin Kipyatkov 0e28cf1561 Minor code corrections after review 2014-04-21 22:06:15 +04:00
Valentin Kipyatkov e3682befe0 Fixed some tests 2014-04-21 22:06:15 +04:00
Valentin Kipyatkov 28e0f3013b Smart completion: no fq-names in types 2014-04-21 22:06:15 +04:00
Valentin Kipyatkov 4968377969 Smart completion: lambda item uses template to allow change parameter names 2014-04-21 22:06:15 +04:00
Andrey Breslav 767eb04930 JetElement.getContainingJetFile() introduced 2014-04-21 21:55:00 +04:00
Nikolay Krasko da0efe2a9e Refactoring: rename method and optimize cycles in methods 2014-04-21 18:47:05 +04:00
Nikolay Krasko 3a5592ee34 Performance hit in getModulesWithKotlinFiles(Project) after git update (KT-4809)
- Wait for indices are ready
- Try to do only one final check
- Better method to check Kotlin files are present in modules

 #KT-4809 Fixed
 #KT-4875 Fixed
2014-04-21 18:47:05 +04:00
Pavel Talanov 9127902a28 Merge pull request #433 from kuity/ReplaceInfixCallFix
Bug Fix for KT-4652 Replace with Infix Call
2014-04-21 04:44:44 -07:00
Andrey Breslav feece3c326 Temporarily disabling a blinking test 2014-04-18 21:28:24 +04:00
Andrey Breslav 1d3cc306c4 Allow to only resolve declaration headers in classes, without forcing everything to be resolved 2014-04-18 21:28:24 +04:00
Andrey Breslav b2ea2e1a15 Prohibit inheritance loops through containing classes
Example

class A : B {
  trait C
}

class B : A.C

Here we have a loop in the hierarchy: A -> B -> A.C => A

"=>" represents class nesting
2014-04-18 21:28:24 +04:00
Andrey Breslav fef2968e1d Order the computations in LazyTopDownAnalyzer
- First, all class descriptors are created
- Then, all functions and properties
- Then the rest
2014-04-18 21:28:24 +04:00
Andrey Breslav b017b87093 Minor. Unused methods removed 2014-04-18 21:28:24 +04:00
Andrey Breslav f58aca5ddf Excluding top-level members of library source files when analyzing them lazily 2014-04-18 21:28:24 +04:00
Andrey Breslav d4eb5e58c5 Minor. Methods made static 2014-04-18 21:28:23 +04:00
Andrey Breslav 5e2630bc12 Unused parameter removed 2014-04-18 21:28:23 +04:00
Andrey Breslav fdc42c6c1d Debugger behavior fixed: backend relies on all relevant files being analyzed, not only one 2014-04-18 21:28:23 +04:00
Andrey Breslav 9da2cbd5e8 Duplicating diagnostics removed from test data 2014-04-18 21:28:23 +04:00
Andrey Breslav f0a29f190b USELESS_HIDDEN_IMPORT diagnostic fixed for LAZY mode 2014-04-18 21:28:23 +04:00
Andrey Breslav a3638eacef Blinking class object tests fixed
Now lazy descriptors for all class objects are retained by the owning class
2014-04-18 21:28:22 +04:00
Andrey Breslav e4e60bc377 Function object replaced by a normal function
+ unneededly public member made protected
2014-04-18 21:28:22 +04:00
Andrey Breslav ebd44816d0 Function object replaced by a normal function 2014-04-18 21:28:22 +04:00
Andrey Breslav 54d3f6df19 Minor. Unused constant removed 2014-04-18 21:28:22 +04:00
Andrey Breslav 1d7bd354d5 Use lazy analysis for highlighting and other purposes 2014-04-18 21:28:22 +04:00
Andrey Breslav 4839f7a230 Make lazy analysis accessible to clients 2014-04-18 21:28:22 +04:00
Andrey Breslav 7d688e5bec LazyTopDownAnalyzer extracted as a separate component 2014-04-18 21:28:21 +04:00
Andrey Breslav 3184b9ddba Special factory method for local analysis
- No need to pass the same flags all the time
- No need to check for local mode when in LAZY mode
2014-04-18 21:28:21 +04:00
Andrey Breslav b02195e9ae LAZY flag is moved to TopDownAnalysisParameters 2014-04-18 21:28:21 +04:00
Andrey Breslav bb87a6bb59 Only create lazy annotations for descriptors from code 2014-04-18 21:28:21 +04:00
Andrey Breslav c57243035e Factory method introduced for TopDownAnalysisParameters 2014-04-18 21:28:21 +04:00
Alexander Udalov cdceaec79f Fix unjustified descriptorToDeclaration in bridge codegen
Delegated and synthesized members don't usually have a declaration as well as
fake overrides
2014-04-18 17:18:51 +04:00
Alexey Sedunov 45073c5a1c Do not show description hint for declaration with diagnostic message
#KT-4815 Fixed
2014-04-18 14:38:20 +04:00
Alexey Sedunov e5777129e2 Introduce utility functions for operations on search scopes 2014-04-18 14:38:19 +04:00
Alexey Sedunov 191ea2533e Dot not lengthen references to declarations contained in the moving element 2014-04-18 14:38:17 +04:00
Alexey Sedunov 5f92c22df3 Smart Selector: Do not suggest expressions contained in the super-expression
#KT-4824 Fixed
2014-04-18 14:38:17 +04:00
Nikolay Krasko 068c9636fc Refactoring: rename TEXT to FQNAMES_IN_TYPES 2014-04-18 13:25:58 +04:00
Nikolay Krasko 962044f887 Use render with short types names in completion lookup elements 2014-04-18 13:18:18 +04:00
Nikolay Krasko f6276cc10b Fix ClassCastExceptions from LocalVariableDescriptor to PropertyDescriptor (EA-55534). 2014-04-18 13:18:18 +04:00
Nikolay Krasko 37c6727413 Report message with context for KT-4464 2014-04-18 13:18:17 +04:00
Lingzhang 6feee57d5e Bug Fix for KT-4652 Replace with Infix Call 2014-04-18 02:15:02 -04:00
Alexander Udalov 5e138a606b Report "cannot infer visibility" for delegated members 2014-04-17 19:51:32 +04:00
Alexander Udalov 369472a6e2 Log.warn when descriptors reach TO_STRING diagnostic renderer 2014-04-17 19:51:32 +04:00
Alexander Udalov a5cc894ecd Fix "name in constraint is not a type parameter" diagnostic message
TO_STRING renderer was used for PSI elements, so things like "CLASS", "FUN"
were displayed in the message
2014-04-17 19:51:32 +04:00
Alexander Udalov 72dfca1698 Fix "cannot override invisible member" diagnostic message
Fix "cannot has", delete "in class ..." as it's already present in the message
(function ... defined in class ...)
2014-04-17 19:51:32 +04:00
Alexander Udalov 1deb55bfde Add positioning strategy for diagnostics on illegal fake overrides
"funcitonTypes.kt" test data file was changed because now that there is a
positioning strategy, it takes the liberty of filtering out those diagnostics
that were reported on syntactically invalid elements
2014-04-17 19:51:31 +04:00
Alexander Udalov 146498ec32 Sort out renderers for diagnostics
- change NAMED to be Renderer<Named> and render Named's name. It was used in
  multiple places with arbitrary arguments, not only Named: change renderers in
  those places to TO_STRING
- add STRING, which is Renderer<String> and renders string itself. Change all
  places where strings were used with either TO_STRING or NAMED to STRING
- change NOT_AN_ANNOTATION_CLASS diagnostic to be reported on descriptor, not
  any string
- change "unused variable/parameter" diagnostics to be reported on
  VariableDescriptor, not Object
2014-04-17 19:51:31 +04:00
Alexander Udalov 4c973b79ee Get rid of poorly named NotInferredVisibilitySink
Also make TraceBasedErrorReporter invoke OverrideResolver to report "cannot
infer visibility", because there's some additional logic there
2014-04-17 19:51:31 +04:00
Alexander Udalov 5ae339d940 Fix "Cannot infer visibility" for fake overrides
#KT-4785 Fixed
2014-04-17 19:51:31 +04:00
Alexander Udalov 55b28fcd0e Minor, provide a nicer API in OverrideResolver for plugin 2014-04-17 19:51:30 +04:00
Alexander Udalov 34e7584aec Move some utilities from OverridingUtil to OverrideResolver
OverridingUtil will be present at runtime and we should strive to minimize the
size of our runtime classes

Also add a comment to getOverriddenDescriptors()
2014-04-17 19:51:30 +04:00