Commit Graph

28052 Commits

Author SHA1 Message Date
Dmitry Petrov b532fa2bbf Properly resolve values in 1st qualifier part (see implicitReceiverProperty test).
Look into QUALIFIER for left-most "unrolled" qualified expression
    in CallExpressionResolver#getQualifiedExpressionTypeInfo.
Drop some unused functions.
2015-11-18 14:35:53 +03:00
Dmitry Petrov 49570ba1ea Drop QualifierReceiver::resultingDescriptor. Use REFERENCE_TARGET. 2015-11-18 14:35:53 +03:00
Dmitry Petrov eef8c7ae09 Move auxiliary methods for QualifierReceiver resolution to a separate file
(to be refactored later).
Get rid of duplicate type usage validation.
2015-11-18 14:35:53 +03:00
Dmitry Petrov 3556f9751e Reuse package/class qualifier prefix resolution for qualified expression resolution. 2015-11-18 14:35:52 +03:00
Dmitry Petrov 5ff2ffbccc Move resolve* methods from Qualifier.kt to QualifiedExpressionResolver.
Further differentiate various qualifiers.
2015-11-18 14:35:52 +03:00
Dmitry Petrov 16dcc0b288 Introduce Receiver as a common superclass of QualifierReceiver and ReceiverValue.
QualifierRecevier is no longer a subclass of ReceiverValue.
2015-11-18 14:35:52 +03:00
Nikolay Krasko 2ff0b13808 Run psi check on light classes from compiled Kotlin 2015-11-18 13:34:25 +03:00
Dmitry Jemerov 9e0ec80c6a Merge branch 'KT-1396' of https://github.com/mcgee/kotlin into mcgee-KT-1396 2015-11-17 18:49:44 +01:00
Dmitry Jemerov 0e1dff1c29 optimize PackageIndexUtil.packageExists() by using in-memory hash table instead of stub index lookup 2015-11-17 18:47:01 +01:00
Dmitry Jemerov bf35099e0c use "destructuring declarations" term instead of "multi-declarations" 2015-11-17 18:43:26 +01:00
Anton Sukhonosenko bec6621654 #KT-1396 Fixed 2015-11-17 19:33:18 +03:00
Michael Nedzelsky ba47bfa752 Fix some weird cases when 'from' descriptor sourceElement is not a KotlinSourceElement 2015-11-17 18:23:12 +03:00
Mikhail Glukhikh fe13f39de9 Use of uninitialized variables in lambdas / object literals / local functions is forbidden now #KT-4475 Fixed
Local declarations CFA: variable initialization information before them is now taken into account
2015-11-17 18:21:09 +03:00
Zalim Bashorov 89791dc85c Batch recording lookups in daemon 2015-11-17 17:25:38 +03:00
Zalim Bashorov 6305bbda5d Fix tracking lookups when compile using daemon 2015-11-17 17:25:37 +03:00
Dmitry Jemerov 49db4e93c0 Merge branch 'KT-5115' of https://github.com/mcgee/kotlin into mcgee-KT-5115 2015-11-17 15:14:00 +01:00
Denis Zharkov a2627431f8 Minor. Cleanup and refine naming 2015-11-17 16:27:02 +03:00
Denis Zharkov fa99ea1e98 Generate type-safe barrier in method body
In cases when signature of special bridge is the same as current method,
but type is not 'Any?'.

Also there is tiny optimization:
only null check needed if value parameter type is mapped to Object,
but it's not nullable.

 #KT-9973 Fixed
2015-11-17 16:27:02 +03:00
Denis Zharkov 1f704e0c4d Minor. Split BytecodeText tests about special builtin bridges 2015-11-17 16:27:02 +03:00
Denis Zharkov 3b2719735e Setup default values for type-safe bridges
#KT-9973 In Progress
2015-11-17 16:27:01 +03:00
Denis Zharkov 34518c0ecc Extract common logic into generateIsCheck 2015-11-17 16:26:29 +03:00
Denis Zharkov f5a086140e Refine special bridge generating rule
Generate special bridge even in case current class has Kotlin superclass implementing
this builtin method, but that super class was generated without special bridge
(e.g. because it would have the same signature)

 #KT-9901 Fixed
2015-11-17 15:41:49 +03:00
Denis Zharkov abf7ae547e Minor. Move tests 2015-11-17 15:41:48 +03:00
Dmitry Jemerov 83bf5daf7f do not package kotlin-runtime and kotlin-reflect into Kotlin Android extensions zip 2015-11-17 12:24:15 +01:00
Mikhail Glukhikh 7e5558c8a2 More receiver refactoring 2015-11-17 13:02:25 +03:00
Mikhail Glukhikh 657052e1d2 Rename: ClassReceiver ---> ImplicitClassReceiver, CastClassReceiver ---> CastImplicitClassReceiver 2015-11-17 13:02:22 +03:00
Mikhail Glukhikh 04569dd4af Rename: ExpressionOrImplicitClassReceiver ---> ThisClassReceiver 2015-11-17 13:02:19 +03:00
Mikhail Glukhikh 59e54d1db1 Rename: ThisReceiver ---> ImplicitReceiver 2015-11-17 13:02:16 +03:00
Mikhail Glukhikh 7ba297db81 ThisReceiver converted to Kotlin 2015-11-17 13:02:12 +03:00
Mikhail Glukhikh ffb67eb79e Code cleanup 2015-11-17 13:02:09 +03:00
Mikhail Glukhikh f1034dbf19 Receiver refactoring in DataFlowValueFactory 2015-11-17 13:02:06 +03:00
Dmitry Jemerov e56b898a53 Merge pull request #785 from belovrv/patch-1
Add Slack badge
2015-11-17 10:50:54 +01:00
belovrv 3c138aa01c Add Slack badge 2015-11-17 12:49:22 +03:00
Mikhail Glukhikh 96c303be60 Smart cast of value / implicit receiver: two different colors 2015-11-17 10:26:46 +03:00
Mikhail Glukhikh 811ba8110f Implicit receiver smart casts implementation and highlighting 2015-11-17 10:26:42 +03:00
Mikhail Glukhikh 03287d5d66 Diagnostics corrected for smart cast impossible 2015-11-17 10:26:26 +03:00
Stanislav Erokhin b4fe62e53e Minor. rename getObjectType to getCompanionObjectType 2015-11-17 01:25:18 +03:00
Stanislav Erokhin c7f7ba72b8 Moved logic for PRIVATE_TO_THIS visibility from ExpressionTypingUtils.normalizeReceiverValueForVisibility to ExpressionReceiver.create 2015-11-17 01:25:18 +03:00
Stanislav Erokhin 6b7bf63814 Minor. Split ExpressionReceiver to interface & implementation 2015-11-17 01:25:17 +03:00
Stanislav Erokhin 5a7e879c0c Convert ExpressionReceiver to kotlin. 2015-11-17 01:25:17 +03:00
Stanislav Erokhin 512bcbe7b9 Minor. Removed usage of ExpressionReceiver constructor from Qualifier.kt 2015-11-17 01:25:16 +03:00
Stanislav Erokhin 1c9136a8cd Minor. introduce method ExpressionReceiver.create and replace almost all usages of constructor ExpressionReceiver. 2015-11-17 01:25:15 +03:00
Stanislav Erokhin e606c0cdf5 Minor. Introduce ExpressionOrImplicitThisClassReceiver. 2015-11-17 01:25:14 +03:00
Michael Nedzelsky e5e4f9e775 Hack for checking access to internal declarations during incremental compilation 2015-11-17 00:26:43 +03:00
Valentin Kipyatkov 40bc30aee2 Fixed compilation after rebase 2015-11-16 18:29:55 +03:00
Valentin Kipyatkov 927df1c4cd KT-5072 Values of extension function type are not seen in completion
#KT-5072 Fixed
2015-11-16 18:24:37 +03:00
Valentin Kipyatkov 2e2dfcb4a0 "invoke" from function types do not have any meaningful parameter names 2015-11-16 18:24:37 +03:00
Valentin Kipyatkov 5b668cb6a6 KT-9970 Regression: completion doesn't see private extension functions with parametrized receiver
#KT-9970 Fixed
2015-11-16 18:24:37 +03:00
Valentin Kipyatkov 6a26e2fd82 Sorting overloads in completion 2015-11-16 18:24:37 +03:00
Alexey Sedunov ac8532ffce Quick Fixes: Implement 'Initialize with constructor parameter' quick-fix
#KT-6604 Fixed
2015-11-16 11:30:03 +03:00