Commit Graph

24193 Commits

Author SHA1 Message Date
Dmitry Petrov 6437a4bdc6 Support overload ambiguity resolution for callable references by expected type.
Resolve callable references taking into account expected callable types.

This affects call resolution procedure (resolve 'foo' in for 'foo(::bar)') similar to the approach used for function literals:

* During "shape arguments" phase of call resolution, callable references are resolved in independent context without expected type. If the callable reference is ambiguous, its shape type is a function placeholder type without parameter types and return type information. Otherwise, it is a reflection type for the resolved function or property. Upper-level call is resolved without taking into account ambiguous callable references.

* During "complete call" phase of call resolution, resolve callable reference arguments to actual descriptors (if possible), and update constraint system for the given call accordingly.

 #KT-6982 Fixed
 #KT-5780 Fixed
2015-07-21 18:33:15 +03:00
Dmitry Jemerov b3a2ee2148 delete KDoc Maven plugin 2015-07-21 16:48:38 +02:00
Dmitry Jemerov b791ea03a9 code cleanup: cli-common module 2015-07-21 16:21:48 +02:00
Dmitry Jemerov aa1f6f2252 code cleanup: core modules 2015-07-21 16:21:45 +02:00
Dmitry Jemerov 6a6f369e5d code cleanup: plugin-api module 2015-07-21 16:20:56 +02:00
Dmitry Jemerov 43d2af166e code cleanup: light-classes module 2015-07-21 16:20:56 +02:00
Dmitry Jemerov a73df901ae code cleanup: frontend.java module 2015-07-21 16:20:55 +02:00
Dmitry Jemerov 6bf934b472 code cleanup: frontend module 2015-07-21 16:20:51 +02:00
Dmitry Jemerov e6776ebd8e code cleanup: container module 2015-07-21 16:20:12 +02:00
Dmitry Jemerov 7c2b2dcc6a code cleanup: backend-common, cli modules 2015-07-21 16:20:11 +02:00
Dmitry Jemerov 7db1650149 code cleanup: ant, backend modules 2015-07-21 16:20:10 +02:00
Dmitry Jemerov af722c8acd code cleanup: j2k module 2015-07-21 16:20:09 +02:00
Valentin Kipyatkov e05c20b5c0 Completion: fixed ordering for packages + exclude for package items supported too 2015-07-21 16:00:10 +03:00
Valentin Kipyatkov ace38ac57f Fixed completion of explicitly imported non-top level packages broken by optimization before 2015-07-21 16:00:10 +03:00
Valentin Kipyatkov 4cfe92f1e5 Renamed method 2015-07-21 16:00:10 +03:00
Valentin Kipyatkov 14b63759a9 Added comment 2015-07-21 16:00:10 +03:00
Valentin Kipyatkov 3c289ade82 Removed unused method 2015-07-21 16:00:10 +03:00
Valentin Kipyatkov e934d7166b DescriptorKindFilter: more correct filtering of kind mask from excludes 2015-07-21 16:00:09 +03:00
Mikhail Glukhikh 94a00540be Targeting / retention for a set of standard annotations, some inapplicable annotation checks replaced with target check, some fixed tests 2015-07-21 15:36:53 +03:00
Dmitry Jemerov a75daf85e2 code cleanup: 'idea' module 2015-07-21 14:26:20 +02:00
Dmitry Jemerov c718b6f9a3 code cleanup: rest of small modules under 'idea' 2015-07-21 14:26:19 +02:00
Dmitry Jemerov 9142d48e81 code cleanup: eval4j, ide-common, idea-analysis 2015-07-21 14:26:18 +02:00
Mikhail Glukhikh 9e7a67fabf Warning about java.lang.annotation.Target annotation usage 2015-07-21 15:20:37 +03:00
Mikhail Glukhikh cf26310042 Java to Kotlin annotation target mapping: relevant fix for J2K 2015-07-21 15:20:34 +03:00
Mikhail Glukhikh 1309c1f95f Annotation mapper is introduced to map java annotation targets to kotlin targets + a set of new / fixed tests 2015-07-21 15:20:31 +03:00
Denis Zharkov 3ec00114c0 Check type of elvis with expected type info
#KT-6713
2015-07-21 15:16:06 +03:00
Denis Zharkov 53edb83a56 Minor. More strict precondition for SAM adapter creation
Descriptor should be initialized before creating SAM adapter
2015-07-21 15:16:06 +03:00
Denis Zharkov 58e7923218 Use substituted return type for SAM adapeter of constructor
#KT-7282 Fixed
2015-07-21 15:16:06 +03:00
Denis Zharkov 97af85da9c Change default upper bound of Java type parameters to Any!
#KT-7672 Fixed
2015-07-21 15:16:05 +03:00
Alexander Udalov 0e69ebb288 Improve stack traces of exceptions thrown by LockBasedStorageManager
Drop leading frames which only contain memoized functions' and lazy values'
invokes, so that the first frame corresponds to the meaningful place in the
code
2015-07-21 13:32:26 +03:00
Alexander Udalov b5763e311f Minor, unworkaround the fixed issue 2015-07-21 13:32:26 +03:00
Alexander Udalov c116b6c868 Don't highlight injection points as unused in project 2015-07-21 13:31:44 +03:00
Natalia Ukhorskaya ce46982991 Debugger: do not try to computeSourcePosition for not kotlin variables 2015-07-21 13:04:38 +03:00
Natalia Ukhorskaya fbe2d77df5 Temporary switch off KotlinAndroidExtensions plugin during IDEA debug configuration start 2015-07-21 13:04:37 +03:00
Natalia Ukhorskaya b1762ac10a Remove unused contentEntry parameter from JetLightProjectDescriptor 2015-07-21 13:04:36 +03:00
Valentin Kipyatkov 0d09c55bac JetPackageDirective made not JetExpression 2015-07-21 08:36:36 +03:00
Valentin Kipyatkov fac55b60fa Lazy computation of smart cast types for receivers in call resolve 2015-07-21 08:32:52 +03:00
Valentin Kipyatkov 4ec26de2a8 Changes on code review 2015-07-21 08:32:51 +03:00
Valentin Kipyatkov 2ab8f9de8b Fixed compilation 2015-07-21 08:32:51 +03:00
Valentin Kipyatkov 31b7c33fa8 No need to scan base classes 2015-07-21 08:32:51 +03:00
Valentin Kipyatkov 1c52f8a524 Fixed synthetic properties for method inherited from two bases 2015-07-21 08:32:51 +03:00
Valentin Kipyatkov 612c009f6b Synthetic properties: correct behaviour for method hierarchies 2015-07-21 08:32:51 +03:00
Valentin Kipyatkov 367e294452 No synthetic properties in java class for methods inherited from Kotlin 2015-07-21 08:32:50 +03:00
Valentin Kipyatkov e0e7044032 Synthetic properties: fixed completion and inspection for generic class
+ fixed KT-8539 No completion of generic extension function for <*> type arguments

 #KT-8539 Fixed
2015-07-21 08:32:50 +03:00
Valentin Kipyatkov d2fb7381ce Tested one more case 2015-07-21 08:32:50 +03:00
Valentin Kipyatkov 4a8adacedd Changed policy for properties from methods like "getURL()"" 2015-07-21 08:32:50 +03:00
Valentin Kipyatkov 0ac990e1a0 More tests for smart casts 2015-07-21 08:32:50 +03:00
Valentin Kipyatkov 23cfe88b71 KT-8530 Synthetic properties doesn't work with smart casts
#KT-8530 Fixed
2015-07-21 08:32:50 +03:00
Valentin Kipyatkov b6027a0efe Changed synthetic properties naming for getters starting with "is" 2015-07-21 08:32:49 +03:00
Valentin Kipyatkov cf2aa73ee6 Fixed wrong test data 2015-07-21 08:32:49 +03:00