Denis Zharkov
80638ebc99
Prohibit unsupported suspend operators
...
contains/get/set operators don't work properly on both backends
Also add box test checking that 'compareTo' operator works just fine
#KT-16219 Fixed
2017-02-08 11:07:27 +03:00
Denis Zharkov
4921bd822d
Mark as UNSUPPORTED suspension points in default parameters
...
#KT-16124 Fixed
#KT-16218 Open
2017-02-08 11:07:26 +03:00
Ilya Gorbunov
b8de78dd43
Deprecate javaClass with replacement this::class.java.
...
Suppress deprecation in diagnostics tests.
2017-02-07 16:30:22 +03:00
Mikhail Zarechenskiy
d7093db5c5
Allow to use emptyArray in annotation as argument
...
#KT-14236 Fixed
2017-02-07 14:07:20 +03:00
Mikhail Zarechenskiy
655cf82534
Copy compileTimeInitializer for const property descriptor
...
#KT-15802 Fixed
2017-02-07 14:07:06 +03:00
Alexander Udalov
b780e6d374
Do not import "kotlin.comparisons" by default for language version 1.0
...
#KT-16199 Fixed
2017-02-07 10:15:57 +03:00
Denis Zharkov
2d88419c38
Fix annotation deserialization on suspend functions
...
Use proper initial/frontend version of suspend descriptor
when writing METHOD_FOR_FUNCTION, because serializer uses this version
Also this commit contains adjustments of neighboring code to the describe
change
#KT-16093 Fixed
2017-02-03 16:44:22 +03:00
Denis Zharkov
60c2579436
Allow destructuring in suspend lambda with suspend componentX
...
#KT-16113 Fixed
2017-02-03 10:32:28 +03:00
Denis Zharkov
e9262b875b
Implement makeNullableAsSpecified for TypeTemplate properly
...
This change fixes an SOE in isCastErased:
@JvmStatic
fun isCastErased(supertype: KotlinType, subtype: KotlinType, typeChecker: KotlinTypeChecker): Boolean {
if (supertype.isMarkedNullable || subtype.isMarkedNullable) {
return isCastErased(TypeUtils.makeNotNullable(supertype), TypeUtils.makeNotNullable(subtype), typeChecker)
}
TypeUtils.makeNotNullable(TypeTemplate) should not return the same object
if isMarkedNullable returned true on the instance
#KT-15516 Fixed
2017-02-01 11:51:15 +03:00
Denis Zharkov
39fc1789e0
Prohibit inline lambda parameters of suspend function type
...
#KT-16068 Fixed
2017-01-31 14:55:48 +03:00
Stanislav Erokhin
2aa2df75ae
Make property java available on KClass<T> where T is type parameter without upper bounds.
2017-01-28 03:25:43 +03:00
Denis Zharkov
c362a9154b
Rename SUSPENDED_MARKER to COROUTINE_SUSPENDED
2017-01-27 23:24:13 +03:00
Denis Zharkov
1d5144b168
Move coroutine-related diagnostic tests to run them with stdlib
...
It's necessary because all coroutine related declarations (Continuation, etc)
are now in the stdlib
2017-01-27 23:24:13 +03:00
Dmitry Petrov
de14d4abc8
KT-15748 Type alias constructor return type should have a corresponding abbreviation
2017-01-27 15:16:04 +03:00
Dmitry Petrov
5ef27f7ad3
KT-15010 Missing error on an usage non-constant property in annotation default argument
2017-01-24 17:52:52 +03:00
Mikhail Glukhikh
60fcdeb5ee
Test added: suppress on function reference #KT-15839 Obsolete
2017-01-24 14:59:53 +03:00
Mikhail Zarechenskiy
e448695578
Introduce language feature for refined sam adapters priority
2016-12-27 16:44:23 +03:00
Mikhail Zarechenskiy
24d5bdd62c
Fix test data after migration to 'rem'
2016-12-20 15:20:47 +03:00
Ilya Gorbunov
9acfde7c5a
Revert changes from daac46b since kotlin.Comparator now has lower priority than explicit star-import of java.util.*
2016-12-15 13:39:10 +03:00
Alexey Andreev
dadffebe97
Support external modifier in descriptor renderer. Update test data.
2016-12-08 15:41:43 +03:00
Alexey Andreev
7e37d5d6fa
Prohibit external modifiers on classes and properties in JVM target
2016-12-08 15:41:42 +03:00
Mikhail Zarechenskiy
240d82d167
Move reified type parameter checker to additional checkers to able turn it off by demand
2016-12-01 10:06:38 +03:00
Dmitry Jemerov
b8525de726
Disallow @JvmOverloads on any interface methods
...
#KT-12224 Fixed
2016-11-18 11:05:02 +01:00
Dmitry Jemerov
79e90b32e8
@JvmOverloads on local declarations is now an error
2016-11-18 11:05:01 +01:00
Dmitry Jemerov
12e4cf9a4f
Report @JvmOverloads errors on annotation, not on entire declaration (KT-12701)
2016-11-18 11:05:00 +01:00
Ilya Gorbunov
daac46bce5
Fix rendering in test output after introducing type aliases for the types used in those tests.
2016-11-16 18:47:42 +03:00
Dmitry Petrov
37eedc3703
Hack: do not add trivial constraints (t <: Any?) for constituent types,
...
otherwise nested calls handling logic in old inference wouldn't work for type alias constructors.
2016-11-10 14:54:11 +03:00
Alexander Udalov
035d6156a7
Drop Cloneable in JS, synthesize it at compile-time on JVM
...
Use the same approach that is used for creating function type classes
(Function{0,1,...}) + add Cloneable to supertypes of Array and primitive arrays
#KT-5537 Fixed
2016-10-25 15:42:33 +03:00
Denis Zharkov
4c69416f2b
Report warning on unused entities that can be renamed to _
...
Currently it's all about lambda parameters/destructuring entries
#KT-14347 In Progress
2016-10-24 10:19:25 +03:00
Ilya Gorbunov
82364ad3e5
Filter out typealiases invisible due to API_VERSION < their SinceKotlin version, when determining excluded imports.
2016-10-21 18:19:03 +03:00
Dmitry Petrov
c6350e1afb
Concatenate annotations in type alias expansion.
2016-10-13 17:44:14 +03:00
Mikhail Glukhikh
7a41d13b41
Do not add special names to scopes #KT-14319 Fixed
2016-10-13 17:17:05 +03:00
Valentin Kipyatkov
ec51076355
DescriptorRenderer to render annotations for all types + separate option to render annotation arguments + use it in IdeDescriptorRenderers
2016-10-11 23:38:54 +03:00
Valentin Kipyatkov
4513f679de
Fixed test data
2016-10-11 23:38:53 +03:00
Alexander Udalov
45190d9453
Support separate modules in compiler
...
Unless the compatibility option "-Xsingle-module" is passed, the compiler will
create two modules instead of one now (see TopDownAnalyzerFacadeForJVM): the
main module contains Kotlin and Java sources and binaries from the previous
compilation of the given module chunk, the dependency module contains all other
Kotlin and Java binaries. This fixes some issues where the compiler couldn't
detect that the used symbol was from another module, and did not forbid some
usages which are only possible inside the module (see KT-10001).
The ideal way to deal with modules here would be to exactly recreate the
project structure, for example as it's done in JvmAnalyzerFacade and usages.
This is postponed until later
#KT-10001 Fixed
#KT-11840 In Progress
2016-10-02 21:15:47 +03:00
Dmitry Petrov
07198cf86d
SAM constructors for type aliases.
2016-09-22 10:38:34 +03:00
Alexander Udalov
090d157f86
Update test data for data classes
2016-09-15 16:45:48 +03:00
Alexander Udalov
127e7ab5b7
Reflection: add KClass.typeParameters, KCallable.typeParameters
...
Inheritance from KCallable is removed in kt9078.kt because it was irrelevant to
the test and because it gets in the way of modification of KCallable
2016-08-08 17:54:11 +03:00
Mikhail Glukhikh
b56e84d47f
Cast never succeeds: special 'Nothing' / 'Nothing?' case
...
(cherry picked from commit 63435b4)
2016-07-27 10:52:13 +03:00
Alexander Udalov
9be219b69c
Check presence of dispatch receiver parameter in modifier checks
...
Also fix typo in "inapplicable infix" diagnostic message
2016-07-22 18:13:39 +03:00
Alexander Udalov
ff72348105
Report error on protected setter call from super's companion
...
#KT-12847 Fixed
2016-06-29 22:03:35 +03:00
Alexander Udalov
6ba32ed624
Refactor CallChecker and subclasses
...
Encapsulate everything that is needed in checkers into CallCheckerContext. Pass
an instance of this context instead of BasicCallResolutionContext to checkers.
Also pass an instance of the element to report errors on: this is useful
because before this, every checker had its own way of determining where should
the error be reported on. Some of them, for example, were not doing anything if
Call#calleeExpression returned null, which is wrong, see operatorCall.kt
#KT-12875 Open
2016-06-29 19:20:00 +03:00
Nikolay Krasko
eee45e91ce
Add more tests for PropertyAccessorDescriptor.isDeafult() usages
2016-06-29 16:16:31 +03:00
Stanislav Erokhin
01430b4b99
Create hack for exception about "Empty intersection for types".
...
Hackaround for KT-11266, EA-79963, EA-72093, EA-79976.
2016-06-17 01:39:44 +03:00
Mikhail Glukhikh
be40cf8138
KT-12152 : constructor consistency: distinguish properties with and w/o backing fields, with default / custom accessors
2016-06-03 09:45:49 +03:00
Denis Zharkov
d0acb3674a
Fix rendered testData
...
New members in enum member scope
2016-05-16 15:38:13 +03:00
Alexander Udalov
117d0bcf03
Fix multiple exceptions related to subtypes of function types
...
The main change is in FunctionsTypingVisitor#visitLambdaExpression, where we
incorrectly allowed subtypes of function types to be expected type during
resolution of lambdas
Also see EA-70485
#KT-9820 Fixed
2016-03-14 19:24:17 +03:00
Mikhail Glukhikh
f76efb68f2
Strictfp on a class is now a warning #KT-11109 Fixed
2016-03-12 13:17:11 +03:00
Dmitry Petrov
8660800af7
Constraint system builder shouldn't drop nullability when comparing signatures for specificity.
2016-03-03 19:23:43 +03:00
Alexander Udalov
8e77e16bbd
Remove leftovers of platformName and platformStatic in test data
...
Drop unnecessary imports, rename some tests
2016-03-02 16:47:04 +03:00