Yan Zhulanow
6caaa305bc
Android extensions: Do not cache ViewStub widgets, do not cast it automatically
2015-11-19 01:35:58 +03:00
Yan Zhulanow
3f97b384ef
Autoimport items from kotlinx.android.synthetic on completion
2015-11-19 01:35:58 +03:00
Yan Zhulanow
0dada9d13a
Android extensions: Fix onDestroy in Fragments
2015-11-19 01:35:58 +03:00
Yan Zhulanow
10b7b069b4
Pack Android extensions inside the Kotlin IDEA plugin
2015-11-19 01:35:58 +03:00
Yan Zhulanow
422e11ea9a
Fix Android Extensions tests (descriptors)
2015-11-19 01:35:58 +03:00
Yan Zhulanow
c7f1fd74a1
Create descriptors directly in Android Extensions (IDEA plugin)
2015-11-19 01:35:58 +03:00
Yan Zhulanow
d88c2249b8
Create descriptors directly in Android Extensions (compiler plugin)
2015-11-19 01:35:58 +03:00
Yan Zhulanow
3d8df88ab2
Fix some misc tests (Android variants)
2015-11-19 01:35:58 +03:00
Yan Zhulanow
9112dd632a
Support Android variants in IDE
2015-11-19 01:35:58 +03:00
Yan Zhulanow
161d8b105f
Support variants in Android Extensions (compiler plugin)
2015-11-19 01:35:58 +03:00
Yan Zhulanow
a6e9ee9323
Cleanup Android Extensions code
2015-11-19 01:35:58 +03:00
Michael Nedzelsky
dc7171e953
improve check for access to internal from tests for projects compiled via gradle
2015-11-18 22:57:59 +03:00
Dmitry Jemerov
5d92d3128d
support for configuring Kotlin when creating new Gradle project
...
#KT-7978 Fixed
2015-11-18 20:19:43 +01:00
Michael Nedzelsky
e92ac6cba3
fix access to internal from tests for android projects which compiled via gradle
2015-11-18 20:19:31 +03:00
Dmitry Jemerov
084727c991
action to invoke a manual update check for the Kotlin plugin
2015-11-18 16:44:14 +01:00
Mikhail Glukhikh
7decca9df4
Get rid of unnecessary insideSafeCallChain in various contexts
2015-11-18 18:04:30 +03:00
Mikhail Glukhikh
3a4f6d8226
Smart cast impossible on when subject is no more recorded #KT-10061 Fixed
2015-11-18 18:02:59 +03:00
Alexander Udalov
58dc88dd2c
Remove ConstraintSystem.Builder.addSupertypeConstraint
...
Use addSubtypeConstraint everywhere to reduce confusion
2015-11-18 16:40:51 +03:00
Alexander Udalov
3337b5298b
Minor refactoring in ConstraintSystemImpl
...
Inline getUsedInBounds, get rid of another usage of freshTypeParameter
2015-11-18 16:40:49 +03:00
Alexander Udalov
3e27fdb964
Inline and move out utilities from ConstraintSystem
2015-11-18 16:40:49 +03:00
Alexander Udalov
d4664af4e5
Get rid of originalToVariableSubstitutor and descriptorToVariable
...
Move the composite substitutor to GenericCandidateResolver where it was used,
other places don't need it since they know the exact call (or NO_CALL), the
substitutor for which should be used
2015-11-18 16:40:48 +03:00
Alexander Udalov
cb05a8d58d
Don't use originalToVariableSubstitutor in supertype constraints
2015-11-18 16:40:48 +03:00
Alexander Udalov
178ca3daae
Add call to type variable and mapping descriptor -> variable
...
Since type parameter descriptor represents a single declaration of a type
parameter, multiple variables in one system may correspond to one type
parameter (e.g. in case of nested calls). Hence it's not possible to map type
parameters uniquely onto type variables and additional information is required
2015-11-18 16:40:47 +03:00
Alexander Udalov
fc73e8c620
Move original descriptor to TypeVariable, minimize usages of freshTypeParameter
2015-11-18 16:40:46 +03:00
Alexander Udalov
c1bd430b27
Introduce TypeVariable to abstract the system from descriptors
...
Store cached type and isExternal in type variable instead of sets in the
constraint system
2015-11-18 16:40:46 +03:00
Alexander Udalov
27ce61a3be
Always alpha-convert non-external type parameters before registering in system
2015-11-18 16:40:45 +03:00
Alexander Udalov
4d5d24a503
Minor, move out check against no expected type
2015-11-18 16:40:45 +03:00
Alexander Udalov
e50eb50299
Make getNestedTypeVariables() an utility
2015-11-18 16:40:44 +03:00
Alexander Udalov
dd4a7ac6a9
Make ConstraintSystem work with variables, provide API to map to descriptors
2015-11-18 16:40:43 +03:00
Alexander Udalov
13abc265ad
First steps to make distinction between variables and descriptors in ConstraintSystem
...
A type variable is an entity, the value of which should be solved by the
system; a descriptor is an actual TypeParameterDescriptor declaration
2015-11-18 16:40:43 +03:00
Alexander Udalov
eeb925f127
Minor, sort out visibilities & move utilities in constraint system
2015-11-18 16:40:42 +03:00
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