Dmitry Petrov
dac9d8b845
Additional checks for type alias constructors.
2016-09-20 10:55:36 +03:00
Dmitry Petrov
796d11c860
ClassDescriptor is now a super-interface for ClassConstructorDescriptor and TypeAliasConstructorDescriptor.
2016-09-20 10:55:36 +03:00
Dmitry Petrov
b31ab729de
Containing declaration for TypeAliasConstructorDescriptor
...
is a corresponding TypeAliasDescriptor.
2016-09-20 10:55:36 +03:00
Denis Zharkov
72d027d968
Introduce language feature DestructuringLambdaParameters
...
#KT-5828 Fixed
2016-09-19 20:22:57 +03:00
Denis Zharkov
e975d32196
Implement resolution of desctructuring declarations in lambdas
...
#KT-5828 In Progress
2016-09-19 20:22:57 +03:00
Denis Zharkov
3df3187e25
Minor. Refine variable name: innerScope -> headerScope
2016-09-19 20:22:57 +03:00
Denis Zharkov
75a51d915f
Implement parsing of desctructuring declarations in lambdas
...
#KT-5828 In Progress
2016-09-19 20:22:57 +03:00
Denis Zharkov
000ba33f59
Minor. Prettify value parameters' resolution parts
2016-09-19 20:22:57 +03:00
Denis Zharkov
435cafed99
Minor. Cleanup KotlinParsing code
2016-09-19 20:22:57 +03:00
Nikolay Krasko
131e77927a
Skip lazy parsable lambdas without actually parsing them
2016-09-19 18:53:51 +03:00
Alexander Udalov
c91f77f2a4
Rename LanguageFeatureSettings -> LanguageVersionSettings
2016-09-19 15:21:24 +03:00
Alexander Udalov
aec31bd88f
Uninherit LanguageVersion from LanguageFeatureSettings
...
Introduce LanguageVersionSettingsImpl to store everything related to the
selected language version
2016-09-19 15:20:47 +03:00
Dmitry Petrov
34240e2ff9
Create special descriptor for an object corresponding to type alias.
2016-09-16 15:44:44 +03:00
Mikhail Glukhikh
c1296e2134
Retain nullability information for type alias arguments which are in turn type aliases #KT-13835 Fixed
2016-09-16 10:30:43 +03:00
Alexander Udalov
fea116f14e
Allow data classes to implement equals/hashCode/toString from base classes
...
#KT-11306 Fixed
2016-09-15 16:45:48 +03:00
Alexander Udalov
98f6ea577a
Move data class-related functions to DataClassDescriptorResolver
2016-09-15 16:45:48 +03:00
Alexander Udalov
22f8e7db3b
Use independent context to type-check LHS of '::'
...
#KT-13110 Fixed
2016-09-15 16:45:48 +03:00
Denis Zharkov
556df93ca7
Refine diagnostic about type arguments for an outer class
...
#KT-11263 Fixed
2016-09-15 10:33:19 +03:00
Denis Zharkov
7ca84649d7
Fix implicit type arguments resolution for inner classes
...
When resolving arguments on inner classifier, one can omit the arguments
for outer class 'Outer' if they are present implicitly in the scope:
- One of the supertypes of current class is Outer
- One of the outer classes or one of their supertypes is Outer
Relevant arguments are obtained from the first type found by
the algorithm above
Note that before this commit implicit arguments were only been searched
in containing classes
#KT-11123 Fixed
2016-09-15 10:33:19 +03:00
Denis Zharkov
15c0901a72
Minor. Add covariant override for TypeParameterDescriptor.original
2016-09-15 10:33:19 +03:00
Valentin Kipyatkov
50a0f9a4a7
KT-13266 Non-imported type aliases do not appear in completion
...
#KT-13266 Fixed
2016-09-13 17:47:38 +03:00
Valentin Kipyatkov
fcce1e3838
KT-12852 Support breadcrumbs for Kotlin
...
#KT-12852 Fixed
2016-09-13 17:46:16 +03:00
Alexey Sedunov
bb859ea0f6
Misc: Do not use empty scope for KtParameter/KtTypeParameter (possible fix for EA-1185336)
2016-09-12 21:03:19 +03:00
Dmitry Jemerov
cc29e28b2d
Merge pull request #949 from calexHG/patch-1
...
Fix KtTypeReference.hasParentheses() to check for both LPAR and RPAR
2016-09-12 11:44:29 +03:00
Yan Zhulanow
824b778a7b
Kapt: support multiple annotation processing steps (KT-13651)
...
(cherry picked from commit 880e183)
2016-09-10 17:36:15 +03:00
Corey Hates Git
1d139d6b53
Fix KtTypeReference.hasParentheses() to check for both LPAR *and* RPAR, as was originally intended
...
Minor typo fix. A year old typo had this redundantly checking for LPAR twice, rather than checking once for LPAR and once for RPAR.
2016-09-10 02:39:44 -04:00
Simon Ogorodnik
2b63bcaa19
Correct diagnostics and quick-fix for T::class with non-reified type parameter #KT-9590 fixed
2016-09-09 16:14:11 +03:00
Denis Zharkov
2fb5b0e248
Simplify allDesciptors computation
...
Do not split descriptors into declared/non-declared groups
It should not be important as order of non-declared members' appearance
does not affect stub building, deserialization and other order-sensitive
stuff
2016-09-09 10:27:35 +03:00
Nikolay Krasko
37492fcc78
Make KtLambdaExpression lazy parsable element
...
(cherry picked from commit 533fca1)
2016-09-08 17:32:37 +03:00
Valentin Kipyatkov
bcfa31de2b
Implemented ability to analyze to multiple elements at once
2016-09-08 16:11:09 +03:00
Valentin Kipyatkov
b1a6255ac2
Renamed class
2016-09-07 19:04:47 +03:00
Valentin Kipyatkov
f6fbd0b623
Fast search of contains operator
2016-09-07 19:04:43 +03:00
Valentin Kipyatkov
322df5b348
More correct operator treatment
2016-09-07 19:04:42 +03:00
Michael Bogdanov
8d2ffb2dab
Fix wrong "InlineProperties are unsupported at this language level" error on inline functions when inline properties are disabled
2016-09-07 17:39:09 +03:00
Mikhail Zarechenskiy
3ad451e33e
Partly support generics and nullable types as parameters for script templates
2016-09-07 17:24:19 +03:00
Nikolay Krasko
4a0f14b64b
Minor: toString() for NONE filter
2016-09-02 13:41:24 +03:00
Nikolay Krasko
52dd02fe08
Make changes in super call lambda not cause out-of-block modification (KT-13474)
...
#KT-13474 Fixed
2016-09-02 13:41:24 +03:00
Nikolay Krasko
ec6780b49c
Use AtomicLong for modification stamp
2016-09-02 13:41:24 +03:00
Nikolay Krasko
043502f836
Minor: remove warnings and refactoring
2016-09-02 13:41:24 +03:00
Dmitry Petrov
6428a7655d
KT-13422 Type alias for Java exception class can be used as an object in 'throw' expression
...
Report NO_COMPANION_OBJECT for type aliases.
2016-09-02 10:18:22 +03:00
Stanislav Erokhin
bebc75c8ef
Set reference target and report custom error instead unresolved reference for cases: interface, generic parameter, object + invoke, class without companion.
...
#KT-2787 Fixed.
2016-09-01 18:01:55 +03:00
Stanislav Erokhin
0072d6004a
Refactoring: rename TowerContext to CandidatesFactory, InvokeTowerContext to CandidateFactoryProviderForInvoke.
2016-09-01 18:00:22 +03:00
Stanislav Erokhin
c910646eda
Refactoring: remove name from ScopeTower.
2016-09-01 18:00:21 +03:00
Stanislav Erokhin
aa5be2ec7b
Refactoring remove scopeTower from TowerContext.
2016-09-01 18:00:21 +03:00
Stanislav Erokhin
ddb75abe30
Rename ScopeTower to ImplicitScopeTower.
2016-09-01 18:00:20 +03:00
Stanislav Erokhin
0c60cda22a
Refactoring: replace ReceiverValue to ReceiverValueWithSmartCastInfo, Receiver to DetailedReceiver
2016-09-01 18:00:20 +03:00
Stanislav Erokhin
d4a2cad35c
Refactoring move DataFlowValue back to frontend module.
2016-09-01 18:00:19 +03:00
Stanislav Erokhin
58fd24943d
Refactor DataFlowDecorator.
2016-09-01 18:00:18 +03:00
Stanislav Erokhin
ca6c6ae0f3
Refactoring. Move creation of functionProcessor into resolution module.
2016-09-01 18:00:17 +03:00
Alexey Sedunov
2f9a911624
Introduce Type Parameter
...
#KT-13155 Fixed
2016-09-01 13:43:44 +03:00