Mikhail Glukhikh
025d063b27
UNNECESSARY_LATEINIT: do not report if property is not initialized at use-site #KT-13806 Fixed
...
(cherry picked from commit 09c0865)
2016-09-27 18:49:02 +03:00
Mikhail Glukhikh
4da9a101cf
UNNECESSARY_LATEINIT warning introduced #KT-13295 Fixed
...
(cherry picked from commit 88f9938)
2016-09-27 18:48:50 +03:00
Pavel V. Talanov
32daf048c2
PlatformConfigurator: create container for each platform (it contains static services, mostly checkers) ahead of time
2016-09-26 14:42:57 +03:00
Alexander Udalov
9bc6d6ae92
Remove recursion workaround from DeprecatedClassifierUsageChecker
2016-09-24 11:26:57 +03:00
Alexander Udalov
dca99c3fd2
Move ClassifierUsageChecker invocation lower in LazyTopDownAnalyzer
...
Invoking checkers right after resolution of qualified expressions is too early:
DeprecatedClassifierUsageChecker tries to load the annotations of a referenced
classifier to report deprecation, and that may result in building light classes
for not yet analyzed declarations
#KT-13954 Fixed
2016-09-24 11:26:56 +03:00
Pavel V. Talanov
8f5725345f
ModuleDescriptor: invert "friends" relation
...
Fixes memory leak caused by modules storing their friends (which can be potentially recreated many times)
2016-09-22 18:20:43 +03:00
Mikhail Glukhikh
68f0953b02
Random-order variable sets are no more in use in CFG #KT-13990 Fixed
...
(cherry picked from commit fc89385)
2016-09-22 13:32:01 +03:00
Dmitry Petrov
07198cf86d
SAM constructors for type aliases.
2016-09-22 10:38:34 +03:00
Denis Zharkov
6663054f4d
Fix false positive "Cannot capture" error reporting
...
There is no need to report an error in case of non-top-level
capture conversion, just don't add relevant capture type in the system instead
If system can be solved successfully without captured type, then it's just fine
(see KT-13950)
In case of contradiction TYPE_INFERENCE_PARAMETER_CONSTRAINT_ERROR is reported
#KT-13950 Fixed
2016-09-21 18:05:26 +03:00
Denis Zharkov
4431c6ad02
Fix inference when captured type is used as a lambda parameter type
...
Use lower approximation bound to obtain acceptable types for lambda parameters
those types depend on captured type
#KT-12238 Fixed
#KT-10627 Fixed
2016-09-21 18:05:26 +03:00
Mikhail Zarechenskiy
8a0107ea5f
Move property with template to script definition interface
2016-09-20 16:23:42 +03:00
Mikhail Zarechenskiy
b18cbc37c6
Do not generate properties from script constructor
...
From now all script parameter properties are generated by template class
2016-09-20 16:22:42 +03:00
Mikhail Zarechenskiy
0ba2d374bc
Create standard script definition from standard template
...
Now each script without specified template has a StandardSriptTemplate
class as a base one. This allows to generalize script codegen and
resolve.
2016-09-20 15:44:44 +03:00
Nikolay Krasko
ff9f3694f1
Problem: remove static import (temp workaround)
...
See KT-13954 for details
2016-09-20 15:24:55 +03:00
Nikolay Krasko
d5ae37d33a
Problem: remove static import (temp workaround)
2016-09-20 15:10:57 +03:00
Dmitry Petrov
bfcf7d9890
DM 19.09.2016: typealiases private in file are resolved as classes.
...
Add test for typealias private in file.
2016-09-20 14:42:29 +03:00
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