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