Alexander Udalov
260689eb8c
Invoke call checkers where symbol usage validators are called
...
The change in componentAccess.kt is a minor regression that should be addressed
later
2016-06-29 19:21:06 +03:00
Alexander Udalov
4a05c749b5
Support smart casts for functions of local variable delegates
2016-06-29 19:21:06 +03:00
Alexander Udalov
70a994b135
Drop resolution of deprecated plus/minus/get/set conventions
...
Also remove the corresponding quick fix
2016-06-29 19:21:05 +03:00
Alexander Udalov
291f1f6c3a
Remove obsolete errors related to 'invoke' called on extension
2016-06-29 19:21:04 +03:00
Alexander Udalov
6ba32ed624
Refactor CallChecker and subclasses
...
Encapsulate everything that is needed in checkers into CallCheckerContext. Pass
an instance of this context instead of BasicCallResolutionContext to checkers.
Also pass an instance of the element to report errors on: this is useful
because before this, every checker had its own way of determining where should
the error be reported on. Some of them, for example, were not doing anything if
Call#calleeExpression returned null, which is wrong, see operatorCall.kt
#KT-12875 Open
2016-06-29 19:20:00 +03:00
Alexander Udalov
f6f825e0dc
Minor, extract validatePropertyCall out of SymbolUsageValidator#validateCall
...
BasicExpressionTypingVisitor#checkLValue is the only place where it's used.
There's no ResolvedCall instance for the setter call (only for the property
itself), that's why this special method is needed
2016-06-29 19:19:59 +03:00
Alexander Udalov
d7d2780666
Drop SymbolUsageValidator.Composite, use validators similarly to call checkers
...
Also fix warnings in DeprecatedSymbolValidator, DelegatedPropertyResolver and
elsewhere
2016-06-29 19:19:58 +03:00
Alexander Udalov
e94fd8f777
Make infix & operator checkers implement CallChecker
...
Instead of SymbolUsageValidator
2016-06-29 19:19:57 +03:00
Michael Bogdanov
3b419e8ba3
Fix for KT-11964: No TABLESWITCH in when on enum bytecode if enum constant is imported
...
#KT-11964 Fixed
2016-06-29 09:32:45 +03:00
Alexey Sedunov
068a120600
Rename: Constraint search scope of parameter declared in a private member
...
#KT-9649 Fixed
(cherry picked from commit fa144b0)
2016-06-28 15:07:36 +03:00
Alexey Sedunov
248f4c1645
Light Classes: Implement light elements for 'extends'/'implements' reference lists. Support adding/removing of super type list entries via light elements.
...
Fix exception on applying "Convert to class" intention to Java interface with Kotlin inheritor(s)
#KT-11281 Fixed
(cherry picked from commit 4ec4914)
2016-06-28 15:07:24 +03:00
Alexey Sedunov
77b0bb9849
Rename: Implement Rename conflict analysis for properties. Qualify property references to resove rename conflicts when possible
...
#KT-8732 Fixed
#KT-12543 Fixed
(cherry picked from commit e23029d)
2016-06-28 15:06:49 +03:00
Denis Zharkov
daa356860c
Minor. Drop redundant parameter
2016-06-28 10:33:29 +03:00
Nikolay Krasko
67eca2cbb7
Minor: remove superfluous method that was necessary becuase of KT-5457
2016-06-27 15:02:42 +03:00
Michael Bogdanov
abc7d5101d
Fix for KT-12106: import static of reified companion object method throws IllegalAccessError
...
#KT-12106 Fixed
2016-06-27 12:31:31 +03:00
Pavel V. Talanov
c3df743a28
FileScopeFactory: extra imports computed via virtual file as opposed to KtFile
...
This fixes completion session acting as if there are no imports
2016-06-25 22:25:19 +03:00
Pavel V. Talanov
1da3efea81
Implement API to get source roots of script dependencies in KotlinScriptConfigurationManager and KotlinScriptConfigurationManager
2016-06-25 22:25:03 +03:00
Ilya Chernikov
b0bff64cff
fixes after review
2016-06-25 22:24:50 +03:00
Ilya Chernikov
5a77d2e92b
Change to single ScriptTemplateDefinition annotation and separate AcceptedAnnotations annotation on resolver
2016-06-25 22:24:48 +03:00
Ilya Chernikov
f24d954302
Remove unused support for script templates configs
2016-06-25 22:24:47 +03:00
Ilya Chernikov
4f05f839a3
Add previous imports to resolving interfaces to enable effective caching implementations
2016-06-25 22:24:45 +03:00
Ilya Chernikov
f30b402640
Change a parameter "context" in script templates to environment: Map<String, Any?>?
2016-06-25 22:24:43 +03:00
Ilya Chernikov
bf683a63fb
Implement annotation proxy generation for script dependencies resolvers
2016-06-25 22:24:41 +03:00
Ilya Chernikov
8a06eafaf1
Rename-refactor interfaces and methods of the script dependencies resolving
2016-06-25 22:24:39 +03:00
Ilya Chernikov
5fd013ef42
minor: rename a field in ScriptTemplateProvider interface
2016-06-25 22:24:37 +03:00
Ilya Chernikov
5bea5bcc37
Add script files changes monitoring, logic for initialization during index rebuilding
2016-06-25 22:24:36 +03:00
Ilya Chernikov
64bb47ed37
Switch to File instead of String for classpaths in script dependencies
2016-06-25 22:24:30 +03:00
Ilya Chernikov
5e3ba36cc1
Simplify GetScriptDependencies interface
2016-06-25 22:24:28 +03:00
Ilya Chernikov
a60e1ab807
Fix implementation of gradle ScriptTemplateProvider extension
...
WARNING: adds dependency to idea's gradle-and-groovy-plugin to idea-core
2016-06-25 22:24:27 +03:00
Ilya Chernikov
834372a3b3
Implement extension point for providing script templates
2016-06-25 22:24:25 +03:00
Ilya Chernikov
082290f8e3
Refactor script dependencies management
2016-06-25 22:24:23 +03:00
Ilya Chernikov
c244414f3c
Convert ScriptNameUtil to Kotlin: phase 3 - refactor
2016-06-25 22:24:21 +03:00
Ilya Chernikov
590f09ee58
Convert ScriptNameUtil to Kotlin: phase 2 - convert
2016-06-25 22:24:19 +03:00
Ilya Chernikov
f96517a54a
Convert ScriptNameUtil to Kotlin: phase 1 - rename file
2016-06-25 22:24:17 +03:00
Ilya Chernikov
d212d369b0
Implement support for extra imports
2016-06-25 22:24:16 +03:00
Ilya Chernikov
402e8c1e3e
Add dependency from annotation extraction mechanisms to the prototype, with tests
2016-06-25 22:24:14 +03:00
Ilya Chernikov
3f5a2c2781
Add initial prototype of script def based on annotated base class, with simple tests
2016-06-25 22:24:12 +03:00
Mikhael Bogdanov
93a770fcc8
Code clean
2016-06-24 17:05:53 +03:00
Mikhael Bogdanov
853c4d4453
Added language feature check for inline properties
2016-06-24 17:05:52 +03:00
Mikhael Bogdanov
321e97a329
AnalyzerExtension refactoring, added support for inline properties
2016-06-24 17:05:52 +03:00
Mikhael Bogdanov
7baf70e8fa
Support reified extension properties
2016-06-24 17:05:51 +03:00
Mikhael Bogdanov
d524a34fc7
Support property accessor in inline checks
2016-06-24 17:05:49 +03:00
Mikhael Bogdanov
2cc177255f
Don't report inapplicable target for 'inline' keyword on property and its accessors
2016-06-24 17:05:49 +03:00
Mikhael Bogdanov
db5d9940df
Added 'isInline' implementation to property accessor descriptors
2016-06-24 17:05:48 +03:00
Yan Zhulanow
6752df189d
Make infix modifier diagnostic message more informative (KT-12589)
...
(cherry picked from commit 2744309)
2016-06-24 15:10:19 +03:00
Stanislav Erokhin
7c2825b397
KT-12623 Fixed ISE: Type parameter ... not found for public fun ...
...
#KT-12623 Fixed
Also EA-72653 fixed.
2016-06-23 02:03:24 +03:00
Alexander Udalov
3eeccb407e
Simplify and fix createReflectionTypeForCallableDescriptor
...
Previously its call sites needed to determine if the receiver type should be
ignored (e.g. if the reference is to static member or nested class constructor,
or if it's a bound reference), and 3 of 4 callers did it incorrectly. Simplify
this by passing the DoubleColonLHS instance everywhere.
Also rename it to createKCallableTypeForReference
#KT-12738 Fixed
#KT-12751 Fixed
#KT-12799 Fixed
2016-06-22 21:35:57 +03:00
Alexander Udalov
6cc10aa226
Minor, move utilities form CallableReferencesResolutionUtils.kt closer to usages
2016-06-22 21:35:57 +03:00
Alexander Udalov
80bf6e1bee
Refactor CallableReferencesResolutionUtils.kt
...
Get rid of trace & reportOn parameters of
createReflectionTypeForCallableDescriptor: move the two checks that required
them to DoubleColonExpressionResolver and combine with other checks into a
single function that checks the validity of the referenced symbol. This also
makes these checks reported only once when invalid expressions are passed as
function arguments (previously they were also reported from
getResolvedCallableReferenceShapeType).
Also inline getReflectionTypeForCandidateDescriptor after this, and refactor
its usages
2016-06-22 21:35:57 +03:00
Alexander Udalov
e68de436bb
Allow data classes to inherit from other classes
...
#KT-10330 Fixed
2016-06-22 21:35:57 +03:00