Pavel V. Talanov
2b955bc6ec
Script refactoring, frontend tests: changes according to semantic changes in scripts
...
Add checker tests for scripts
2015-11-19 22:56:57 +03:00
Dmitry Petrov
42b587b0d5
Prohibit callable references to annotation class constructors.
...
See KT-4391.
2015-11-19 18:31:20 +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
e50eb50299
Make getNestedTypeVariables() an utility
2015-11-18 16:40:44 +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
9856af48ca
Drop createQualifier: testData update
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
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
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
Mikhail Glukhikh
811ba8110f
Implicit receiver smart casts implementation and highlighting
2015-11-17 10:26:42 +03:00
Valentin Kipyatkov
2e2dfcb4a0
"invoke" from function types do not have any meaningful parameter names
2015-11-16 18:24:37 +03:00
Mikhail Glukhikh
dd43674426
Data class must have at least one argument is reported on constructor parameter list now, if any #KT-9999 Fixed
2015-11-16 10:45:54 +03:00
Mikhail Glukhikh
86c37deaee
Overriden setter now cannot weaken visibility #KT-3369 Fixed
2015-11-16 10:45:21 +03:00
Mikhail Glukhikh
02fb19c3ea
Inner classes are no more allowed inside enum entries #KT-9750 Fixed
...
Forbidden use-case deleted from codegen tests
2015-11-16 10:44:20 +03:00
Denis Zharkov
e920ce709b
Render captured type parameters in verbose mode
2015-11-13 14:59:04 +03:00
Denis Zharkov
deea0643ad
Refine type arguments resolution and rendering
...
In case of type constructors captured parameters from outer classes
#KT-5510 Fixed
#KT-3112 Fixed
#KT-6325 Fixed
#KT-408 Fixed
#KT-6337 Fixed
2015-11-13 14:47:28 +03:00
Ilya Gorbunov
5f675c55ed
Fix deprecated ranges and range member usages in tests.
2015-11-11 03:53:42 +03:00
Stanislav Erokhin
a3b11f4214
Created warning for KT-9805
...
#KT-9805 In Progress
2015-11-11 01:26:20 +03:00
Mikhail Glukhikh
b468d5b0c6
No smart casts to Nothing?
2015-11-09 16:36:37 +03:00
Mikhail Glukhikh
2d9fbf5696
Always null detection
2015-11-09 16:36:34 +03:00
Mikhail Glukhikh
873550b0bb
lateinit setter now must have the same visibility as its property visibility
2015-11-06 13:34:00 +03:00
Michael Bogdanov
9d3fa7da80
Test for obsolete KT-8189: java.lang.UnsupportedOperationException: Don't know how to generate
...
#KT-8189 Obsolete
2015-11-06 12:17:07 +03:00
Mikhail Glukhikh
b556037915
Smart casts to nothing after comparison with null
2015-11-06 10:57:06 +03:00
Michael Nedzelsky
3dbb117598
fix KT-7042 Providing return type for property setter is not reported as error
...
#KT-7042 Fixed
2015-11-06 06:32:20 +03:00
Michael Nedzelsky
e6a2bd05d4
fix KT-9652 Warning to specify expected type as Any? when it is already Any?
...
#KT-9652 Fixed
2015-11-06 06:32:07 +03:00
Michael Nedzelsky
c318a13e6c
Error on using extension function type as an upper bound
2015-11-06 06:31:52 +03:00
Valentin Kipyatkov
52dc23012f
Changed parsing of object and enum entries to drop "KtObjectDeclarationName"
2015-11-05 23:21:22 +03:00
Mikhail Glukhikh
5e9aa38950
More precise type handling for equality #KT-2311 Fixed
2015-11-05 17:29:34 +03:00
Nikolay Krasko
e10f7fb464
Don't report missing getValue/setValue method error when it's was impossible to finish resolve
...
#KT-9803 Fixed
2015-11-04 02:31:15 +03:00
Anton Sukhonosenko
141ffa27dc
val / var are now forbidden on a loop multi declaration parameter #KT-6274 Fixed
...
VAL_OR_VAR_ON_LOOP_MULTI_PARAMETER error added
KtValVarKeywordOwner interface added for PSIs that have getValOrVarKeyword method
2015-11-03 15:30:50 +03:00
Mikhail Glukhikh
41ebfd025e
More precise diagnostics of smart cast impossible #KT-7240 Fixed
2015-11-03 13:38:51 +03:00
Mikhail Glukhikh
03aaddd379
More correct handling of possible type set during assignment #KT-8229 Fixed
2015-11-03 12:49:21 +03:00
Mikhail Glukhikh
0a5a5a2e36
More precise diagnostics is added for smart cast impossible #KT-8810 Fixed
2015-11-03 11:15:58 +03:00
Dmitry Petrov
d060687775
Package vs class conflict in qualifier resolution:
...
- add test for unresolved 'a.a' after 'import a.a';
- added TODO in copy-paste test for 'a.a'
2015-11-02 10:22:50 +03:00
Dmitry Petrov
e1cb13bd90
Qualifier no longer defers "(nested) class vs package" resolution.
...
Consider FQN 'a.b.c'.
If 'a' is a classifier in the current scope,
resolve rest in the corresponding class scope.
Otherwise (if 'a' is a package),
find the maximum possible prefix 'a.b' resolving to a package,
resolve rest in the corresponding package scope.
2015-11-02 10:22:50 +03:00
Stanislav Erokhin
77411b2181
Allowed call value with extension function type as simple function type.
2015-10-31 10:01:07 +03:00
Denis Zharkov
b6f724cf58
Disconnect loops between upper bounds of type parameters
...
#KT-9759 Fixed
2015-10-31 09:33:46 +03:00
Yan Zhulanow
33d67a3bf4
Fix JvmField applicability test data
...
(Annotation is not applied both to field & getter now)
2015-10-31 04:30:24 +03:00
Alexander Udalov
c75d96b82c
Add testcase for fixed issue
...
#KT-9850 Fixed
2015-10-30 23:41:10 +03:00
Michael Nedzelsky
dbc00baa48
Test for obsolete KT-5508
...
#KT-5508 Obsolete
2015-10-30 18:57:45 +03:00
Michael Nedzelsky
947b4d4ce8
Test for obsolete KT-3343
...
#KT-3343 Obsolete
2015-10-30 18:57:42 +03:00
Mikhail Glukhikh
182cde1e02
Standard data flow analysis results are taken into account during condition analysis #KT-7933 Fixed
2015-10-30 16:14:34 +03:00
Mikhail Glukhikh
dd1196ae6b
Condition analysis: left part of and (true condition) / or (false condition) is used for right part analysis #KT-8780 Fixed
2015-10-30 16:14:33 +03:00
Mikhail Glukhikh
12103d19d2
Smart casts inside property chains like a?.b?.c.foo(a, b) are now handled correctly #KT-7290 Fixed
2015-10-30 16:14:32 +03:00
Denis Zharkov
94803ce1c4
Collect overrides of special builtin members in super types
...
#KT-9695 Fixed
2015-10-29 21:05:26 +03:00
Alexander Udalov
d6e87c50ab
Don't use TypeIntersector when loading generic Java constructors
...
This is not entirely type-safe but this case is so rare that hardly anyone will
be able to spot the change
2015-10-28 19:17:56 +03:00
Alexander Udalov
12d6b6e7e4
Use "Any?" as out-type for type parameters instead of intersection of bounds
...
Also refactor checkSubtypeForTheSameConstructor to compute everything in the
best order
2015-10-28 19:12:26 +03:00
Alexander Udalov
bed75e8af2
Remove some unjustified usages of TypeParameterDescriptor#getUpperBoundsAsType
2015-10-28 19:12:24 +03:00
Alexander Udalov
426bddb54e
Move OverridingUtil#getUpperBound to OverloadUtil, add tests on overloads
2015-10-28 19:12:05 +03:00