Alexander Udalov
89dfd52363
Remove ConstraintSystem.partialSubstitutor, move logic to FuzzyType
2015-11-18 16:40:42 +03:00
Alexander Udalov
d72a4c8037
Cleanup constraint system, convert functions to properties, delete unused
2015-11-18 16:40:41 +03:00
Alexander Udalov
3484c049d1
Rename ConstraintSystemSnapshot -> ConstraintSystemImpl
2015-11-18 16:40:40 +03:00
Alexander Udalov
265c135e89
Rename ConstraintSystemImpl -> ConstraintSystemBuilderImpl
2015-11-18 16:40:40 +03:00
Alexander Udalov
bb918a2742
Move mutating methods of ConstraintSystem to Builder
...
Extract immutable ConstraintSystemSnapshot from ConstraintSystemImpl
2015-11-18 16:40:39 +03:00
Alexander Udalov
d320922e08
Add more methods to interface ConstraintSystem
...
To minimize usages of ConstraintSystemImpl
2015-11-18 16:40:38 +03:00
Alexander Udalov
9149668286
Add ConstraintSystem#copy to minimize usages of ConstraintSystemImpl
2015-11-18 16:40:38 +03:00
Alexander Udalov
393852bf70
Simplify signature of ConstraintSystem#registerTypeVariables
...
Drop unused variance from TypeBounds and ConstraintSystem, provide default
values, inline methods used only once
2015-11-18 16:40:37 +03:00
Alexander Udalov
8cc484bc25
Cleanup GenericCandidateResolver
2015-11-18 16:40:37 +03:00
Dmitry Petrov
99b411c8ca
companionObjectType --> classValueType
...
(NB: it IS NOT a companion object in case of OBJECT or ENUM_ENTRY)
Unify related names.
2015-11-18 16:27:26 +03:00
Dmitry Petrov
7b432c878a
Diagnostics improvements for corner cases
...
(class/package qualifier in non-qualifier position).
2015-11-18 16:27:21 +03:00
Dmitry Petrov
ba8372cc11
Fixes for IDE tests after qualifier modifications:
...
- CallType should look into QUALIFIER,
so that completion works for (companion) object qualifiers.
- Record type and reference target for object qualifiers (not only for companions).
- "Create (function/...)" should understand ClassQualifier as possible receiver.
- Cleanup after rebase on master.
2015-11-18 14:35:54 +03:00
Dmitry Petrov
9856af48ca
Drop createQualifier: testData update
2015-11-18 14:35:53 +03:00
Dmitry Petrov
28d15e776a
Drop createQualifier.
...
NB: some regression in diagnostics for special cases,
such as class or package used in expression position or in safe access;
see next commit.
2015-11-18 14:35:53 +03:00
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