Ilya Gorbunov
5867d27fb7
[Standard Library] Take the javaClass deprecation back as its replacement is often inconvenient.
2017-02-22 17:27:20 +03:00
Denis Zharkov
a3baca829f
Drop KotlinTarget.INNER_CLASS entry
...
In most of the cases it was used together with CLASS_ONLY and vice versa
They only case when CLASS_ONLY was used without INNER_CLASS
is possibleParentTargetMap.COMPANION_KEYWORD.
But after diagnostic NESTED_OBJECT_NOT_ALLOWED has been introduced,
there's no sense in the restriction of exactly the companion's parent
For clarification see test data changed
2017-02-20 13:24:42 +03:00
Denis Zharkov
d1b17f050b
Prohibit objects inside inner classes
...
#KT-16232 Fixed
2017-02-20 13:24:42 +03:00
Denis Zharkov
5b9b003e02
Prohibit inner sealed classes
...
#KT-16233 Fixed
2017-02-20 13:24:42 +03:00
Alexander Udalov
ba84338862
Support smart cast for nullability in LHS of class literal
...
#KT-16291 Fixed
2017-02-15 20:43:25 +03:00
Alexander Udalov
bae955aafd
Serialize metadata for Cloneable and discard it during deserialization
...
#KT-16358 Fixed
2017-02-15 20:43:25 +03:00
Stanislav Erokhin
b6fa10cf9e
Disable some features when LV=1.1 API=1.0.
...
Feature list:
- bound callable references
- local delegated properties
- coroutines.
#KT-16017 Fixed
2017-02-13 20:29:38 +03:00
Alexander Udalov
57f2feb6fb
Fix unreported deprecation on variables called as functions
...
#KT-16272 Fixed
2017-02-13 14:09:53 +03:00
Stanislav Erokhin
3efda0e45a
Reserve yield if it isn't function call.
2017-02-13 02:53:37 +03:00
Dmitry Petrov
20dc1a047d
KT-16250 Handle type alias as imported name qualifier
...
#KT-16250 Fixed
2017-02-10 16:32:07 +03:00
Stanislav Erokhin
b616ef0a40
Do not force resolve descriptors for explicit imports. Create lazy scope instead.
2017-02-09 15:42:30 +03:00
Stanislav Erokhin
cc429cd865
Fix NewKotlinTypeChecker for case SimpleType with CapturedTypeConstructor.
...
Usually, we have only CapturedType with such constructor.
We should prevent creation such types in the future (KT-16147).
Also added test for KT-14740 where this problem originally appears.
2017-02-09 15:32:18 +03:00
Dmitry Petrov
a4f9e46c08
Fix https://ea.jetbrains.com/browser/ea_reports/1337846 :
...
Properly handle AbbreviatedTypeBinding for error types.
Get rid of code duplication.
2017-02-09 12:36:52 +03:00
Denis Zharkov
1bb40afada
Simplify compatibility mode with ll=1.0 on JDK dependent built-ins
...
A lot of problem arise with current solution
(loading them with lowpriority annotation + additional call checkers):
- We errorneously treated ArrayList.stream as an existing method, while
it's just a fake override from List
- The same problem arises when creating a class delegating to List.
Also the latter case is failing with codegen internal error
(see issue KT-16171)
The negative side of this solution is that instead of reporting meaningful
diagnostic, there will be UNRESOLVED_REFERENCE.
But it seems to be better than having strange problems like ones described above.
#KT-16073 Fixed
#KT-16171 Fixed
2017-02-08 16:04:19 +03:00
Mikhail Zarechenskiy
d84c303029
Do not report 'const' inapplicability on property of error type
...
#KT-12477 Fixed
2017-02-08 15:42:48 +03:00
Mikhail Zarechenskiy
e7ea076093
Do not apply constant folding for non built-in functions
...
#KT-15872 Fixed
2017-02-08 15:42:39 +03:00
Mikhail Zarechenskiy
935f7b1cc1
Add warning if constant conforms to infinity or zero
...
#KT-3805 Fixed
2017-02-08 15:42:33 +03:00
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
9f0403f72c
Fix exception at accidentally wrong annotation argument type
...
#KT-13740 Fixed
2017-02-07 14:07:13 +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
Alexander Udalov
478352b7e7
Fix callable reference to constructor of nested class in object
...
#KT-15951 Fixed
2017-02-06 19:39:15 +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
Alexey Andreev
0f049a90aa
JS: prohibit nested classes, objects and enums in external interface. See KT-16012
2017-02-03 11:09:09 +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
Mikhail Zarechenskiy
f3385e093e
Introduce language feature for type inference on generics for callable references
...
#KT-16061 Fixed
2017-01-31 01:15:02 +03:00
Ilya Gorbunov
f4ef98c327
Remove test for named native
2017-01-30 19:21:41 +03:00
Alexey Andreev
06e8f7b328
JS: don't report error when FAKE function overrides external function with optional parameters. Report only when it overrides at least two such functions. See KT-15961
2017-01-30 17:26:07 +03:00
Stanislav Erokhin
6ef96017e8
Mute test and create issue KT-15972.
2017-01-28 03:25:47 +03:00
Stanislav Erokhin
b033ad1b2b
Add positioning strategy DECLARATION_NAME for DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE.
2017-01-28 03:25:44 +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
Mikhail Glukhikh
d8a4a32e9f
Do not report UNUSED_PARAMETER in function literal for 1.0 compatibility mode #KT-16010 Fixed
2017-01-27 23:39:08 +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
Denis Zharkov
8fa8ba7055
Move coroutine-related runtime parts to kotlin.coroutines.experimental package
...
#KT-15975 Fixed
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
Ilya Gorbunov
3be1174824
Replace @native with external in tests
2017-01-27 01:29:15 +03:00
Mikhael Bogdanov
0006a04b01
Report warning on hided override by delegation when compile to 1.0 version
2017-01-26 14:32:33 +01:00
Dmitry Petrov
1613ad0505
KT-15898 Cannot use type alias to qualify enum entry
...
Type alias static scope includes enum entries for underlying enum class.
2017-01-26 10:23:56 +03:00
Dmitry Petrov
a974ed1049
Support custom accessors for top-level properties in scripts.
2017-01-26 10:12:13 +03:00
Dmitry Petrov
9d4047f5e4
Calls for suspend functions imported from object should be checked in CoroutineSuspendCallChecker.
2017-01-26 09:39:53 +03:00
Mikhail Zarechenskiy
b0c3c7463b
Fix internal compiler error about arithmetic exception
...
#KT-8264 Fixed
2017-01-26 03:39:50 +03:00
Alexey Andreev
ad4fb44827
JS: report about using of external interfaces in class literals
2017-01-25 18:09:22 +03:00
Alexey Andreev
deaac83e70
JS: report about wrong module usage in class literals. See KT-15253
2017-01-25 18:09:21 +03:00
Alexey Andreev
9000d54d8a
JS: when checking calls to JsModule declarations, check arguments passed to reified type parameters. See KT-15253
2017-01-25 18:09:20 +03:00