Mikhail Glukhikh
fdc9e9d7f5
Delegated properties never require backing field #KT-10107 Fixed
2015-12-14 12:26:37 +03:00
Alexander Udalov
6f347f351a
Load annotations on compiled Kotlin enum entries
...
#KT-10339 Fixed
2015-12-13 03:52:42 +03:00
Alexander Udalov
3e2eb8c1a0
Serialize/deserialize annotations on enum entries
...
#KT-10338 Fixed
2015-12-13 03:52:41 +03:00
Michael Bogdanov
7c7786f7d0
Generate private methods in TraitImpl as private, don't generate delegation to private trait methods
2015-12-12 11:41:36 +03:00
Michael Bogdanov
a2d644f708
Fix for KT-9958: NoSuchMethodError when we call protected method from companion object
...
#KT-9958 Fixed
2015-12-12 11:41:35 +03:00
Denis Zharkov
b443f605ed
Minor. Add load-java test checking that SamAdapterOverridabilityCondition is on
2015-12-11 22:41:03 +03:00
Denis Zharkov
871fe7680b
Load special override as HIDDEN in case of signature clash
...
#KT-10151 Fixed
2015-12-11 22:41:03 +03:00
Denis Zharkov
45c0bc3610
Add 'subClassDescriptor' parameter to ExternalOverridabilityCondition
2015-12-11 22:41:03 +03:00
Mikhail Glukhikh
00504a3f6d
Private setter for open property: take containing class modality into account #KT-10325 Fixed
2015-12-11 18:54:28 +03:00
Stanislav Erokhin
39b6637c7c
Fix exception from InvokeProcessor when we get invoke from extension function type.
2015-12-11 17:01:04 +03:00
Stanislav Erokhin
66a031f7a0
Do not enter in recursion for implicit invoke on variable with un inferred type
2015-12-11 17:01:01 +03:00
Michael Bogdanov
b950bf0e6e
Fix for KT-10259: Proguard can't find generated lambda class of lambda nested inside object?.let lambda
...
#Fixed KT-10259
2015-12-11 16:14:59 +03:00
Mikhail Glukhikh
6fb871a088
A set of additional tests for complex expressions DFA
2015-12-11 15:17:37 +03:00
Mikhail Glukhikh
d024045638
Data flow values for Elvis / parenthesized expressions, smart casts on them
2015-12-11 15:17:29 +03:00
Mikhail Glukhikh
745a3aeeac
Accurate representation of smart casts on complex expressions
2015-12-11 15:17:25 +03:00
Mikhail Glukhikh
7cd867b936
DFA: take into account if / else and when expression assignments #KT-10002 Fixed
...
Also #KT-7479 Fixed
2015-12-11 15:17:22 +03:00
Mikhail Glukhikh
521b216602
Migration: Enum.values to Enum.values()
2015-12-11 11:11:38 +03:00
Dmitry Jemerov
009e3f9cd7
rename PSI classes according to current terminology:
...
KtMultiDeclaration(Entry) -> KtDestructuringDeclaration(Entry)
KtFunctionLiteralExpression -> KtLambdaExpression
KtFunctionLiteralArgument -> KtLambdaArgument
KtDelegationSpecifierList -> KtSuperTypeList
KtDelegationSpecifier -> KtSuperTypeListEntry
KtDelegatorToSuperClass -> KtSuperTypeEntry
KtDelegatorToSuperCall -> KtSuperTypeCallEntry
KtDelegationByExpressionSpecifier ->KtDelegatedSuperTypeEntry
2015-12-10 16:15:13 +01:00
Pavel V. Talanov
280e00981f
Load java: load annotations on enum entries
2015-12-10 11:12:23 +03:00
Pavel V. Talanov
fb19552920
Mark enum entries that are deprecated in Kotlin as deprecated in bytecode
2015-12-10 11:12:22 +03:00
Zalim Bashorov
5bf8b4d946
Allow to use "static" part of class in own constructors by short name, including in primary constructor
2015-12-09 21:42:32 +03:00
Mikhail Glukhikh
c73f01927a
'sealed' is now not 'final' by default + related code changes #KT-10266 Fixed
2015-12-09 19:19:04 +03:00
Pavel V. Talanov
f05de6d6eb
Add package_fq_name field extension to builtins.proto
2015-12-09 18:51:24 +03:00
Dmitry Petrov
94bea54db3
Change "most specific return type" definition for fake overrides.
...
Given overridden descriptors D = d[i].
1. Find D*, subset of D:
returnType(d* from D*) <: returnType(d) for each d from D.
Always prefer var to val.
2. Prefer non-flexible return type to flexible.
Check for var/val overrides properly
(NB: this will report PROPERTY_TYPE_MISMATCH_ON_OVERRIDE
for all properties, not just overrides involving vars as it was before).
2015-12-09 17:43:48 +03:00
Dmitry Petrov
594039ac42
Delegation and overrides:
...
- Tests.
- No need for a separate diagnostic message regarding
return/property type conflict on override by delegation:
it is always a conflict of inherited signatures.
2015-12-09 17:43:48 +03:00
Dmitry Petrov
ef72c594c4
KT-1934 & KT-10197:
...
Naive approximation for fake overriding signature:
use upper bound for flexible types.
Check delegation errors.
2015-12-09 17:43:47 +03:00
Dmitry Petrov
135c30323b
KT-1934 Check inherited signatures for compatibility
...
Overridden signatures should have compatible return types
(equal types for 'var').
Only relevant overrides should be taken into account.
Refactor inherited signatures check,
introduce a strategy interface for problem reporting.
2015-12-09 17:43:47 +03:00
Dmitry Jemerov
18e343d405
Merge pull request #795 from mcgee/KT-10124
...
#KT-10124 Fixed
2015-12-09 15:28:31 +01:00
Andrey Breslav
434082cadb
'yield' reserved as a keyword
2015-12-09 17:10:30 +03:00
Nikolay Krasko
3374ac7606
Minor: More tests for warnings suppression
2015-12-09 16:01:52 +03:00
Alexander Udalov
9a01c0d9cb
Test that no delegated properties are used in critical classes in reflection
2015-12-08 22:59:00 +03:00
Denis Zharkov
ecac0f177b
Fix order of type parameters loaded from PSI
...
#KT-10285 Fixed
2015-12-08 15:46:34 +03:00
Mikhail Glukhikh
57b3bc0496
Regression: getPredictableNullability for unnecessary safe call check #KT-10276 Fixed
2015-12-08 11:23:35 +03:00
Mikhail Glukhikh
5c9e55f3fb
DFA bug fix: assignment of unstable to stable uses predictable type set (see test)
2015-12-08 10:13:38 +03:00
Mikhail Glukhikh
2e73bcb3a6
DFA bug fix: assignment of unstable to stable uses predictable nullability (see test)
2015-12-08 10:13:34 +03:00
Alexander Udalov
2dce7ad1e2
Add test on "inconsistent type parameter bounds"
...
It seems that all tests on that diagnostic were replaced in previous commits by
"repeated bound" and "no other bounds except a type parameter bound"
diagnostics
2015-12-07 15:47:47 +03:00
Alexander Udalov
d3c17ec337
Report error when type parameter has a type parameter bound and any other bound
...
To prevent issues with erasure on JVM: it's unclear what such type parameter
should be erased to
2015-12-07 15:47:47 +03:00
Alexander Udalov
5fbb9bfe3b
Report error on repeated upper bounds for type parameters
2015-12-07 15:47:47 +03:00
Alexander Udalov
21e64e02bd
Report error on more than one class bound for type parameters
...
Such code may behave unexpectedly when compiled to JVM
2015-12-07 15:47:47 +03:00
Alexander Udalov
5541224288
Minor, add test on annotation on type argument
2015-12-07 15:47:47 +03:00
Mikhail Glukhikh
5729855e4f
Type parameter as result type: more precise expected type definition #KT-5385 Fixed
...
Tests for KT-5385 KT-10223 KT-7800 KT-7817 + something related
2015-12-04 19:00:24 +03:00
Denis Zharkov
95cecdbc42
Support overrides of generic methods with erased version in Java
2015-12-03 18:19:36 +03:00
Denis Zharkov
4f06cece37
Refactor external overidability conditions
...
Before this change they could only negatively affect on result
Now they may force success result
Also refine overridavility condition for java fields:
two java fields having the same name are seen as overrides even
if they have different type
2015-12-03 18:19:36 +03:00
Denis Zharkov
8838e46578
Do not create KotlinTypeImpl with error scope while erasing
...
See assertion in KotlinTypeImpl init block
2015-12-03 18:19:36 +03:00
Denis Zharkov
e2b51f30ed
Extract 'doSubstitute' parameters into SubstitutionConfiguration
2015-12-03 18:19:36 +03:00
Michael Bogdanov
4b8017e34b
Fix for KT-7999: Wrong result when use nullable types as reified parameter, KT-8043: Unsafe cast to reified parameter throws NPE instead of TypeCastException
...
#KT-7999 Fixed
#KT-8043 Fixed
~
2015-12-03 15:09:54 +03:00
Anton Sukhonosenko
5bc70b3150
#KT-10124 Fixed
2015-12-02 20:03:13 +03:00
Mikhail Glukhikh
ea3a65d0b8
Additional tests for KT-10243
2015-12-02 18:14:59 +03:00
Mikhail Glukhikh
60e457167d
Creating deep copy of local function declaration instructions in CFA, regression test #KT-10243 Fixed
2015-12-01 23:40:50 +03:00
Stanislav Erokhin
8807cd828f
Removed MemberScope.getPackage
2015-12-01 15:38:04 +03:00