Commit Graph

1948 Commits

Author SHA1 Message Date
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