Mikhail Zarechenskiy
4067d6b196
[NI] Fix overload resolution ambiguity for incorrect provideDelegate
...
#KT-25810
2018-08-27 13:49:19 +03:00
Dmitry Petrov
df6d4f358a
KT-22274 report warning on labels that can't be referenced
...
Labels are meaningful only if they can be referenced by 'break',
'continue', or 'return' expressions.
2018-07-25 12:08:20 +03:00
Mikhail Zarechenskiy
9891f562cc
[NI] Make subtyping algorithm more robust to error types
...
During subtyping/incorporation we transform types (e.g. changing nullability,
form of the type) and, basically, we're doing this to some FIXPOINT.
It's important that we use `KotlinType.hashCode()` to compare types, but
for error types hashCode is a hashCode of its supertype and, for example,
`makeNullableAsSpecified` method recreate type every time. So, we continue
to generate new constraints and we'll never stop incorporation algorithm
2018-06-07 15:45:53 +03:00
Mikhail Zarechenskiy
c216749eb6
[NI] Fix substitutor for anonymous types with captured type parameters
2018-04-17 16:06:55 +03:00
Mikhail Zarechenskiy
b8c0910724
Add one more test on delegated properties to check NI
2018-03-26 14:37:32 +03:00
Mikhail Zarechenskiy
3dde31729e
[NI] Record information about delegated property as in old inference
2018-03-25 20:22:37 +03:00
Mikhail Zarechenskiy
7e982fed4f
Add complex test on delegated properties
2018-03-25 20:22:37 +03:00
Mikhail Zarechenskiy
bf92280f52
[NI] Update testdata about inference for delegated properties
2018-03-25 20:22:36 +03:00
Mikhail Zarechenskiy
6baf937a52
Update test files with dumped declarations for NI
2018-02-13 19:50:25 +03:00
Kirill Rakhman
8bc020f31b
Fix modifier order in generated overriden functions
...
Fixes #KT-21600
2018-01-16 15:42:02 +01:00
Dmitry Savvinov
ea72c76a37
[NI] Testdata changes after fixes in error types
2017-12-07 12:49:56 +03:00
Mikhail Zarechenskiy
328c67b9e8
Add separate diagnostic renderer results for tests with NI
2017-11-29 02:54:30 +03:00
Mikhail Zarechenskiy
8757298994
Add diagnostics to test data from NI
2017-11-29 02:54:26 +03:00
Mikhail Zarechenskiy
a71238bf94
Place !WITH_NEW_INFERENCE directive to diagnostics test data
2017-11-29 02:53:49 +03:00
Mikhail Zarechenskiy
9f2bf066b9
[NI] Transform anonymous types of expected type for delegation
2017-08-24 13:50:09 +03:00
Mikhail Zarechenskiy
ae3497c6ce
Reduce highlighting range for UNCHECKED_CAST
...
#KT-18985 Fixed
2017-08-07 18:49:58 +03:00
Mikhail Zarechenskiy
0d6b7bb6a1
Prohibit check for instance of a non-reified, non-subtype type parameter
...
#KT-12683 Fixed
#KT-9986 Fixed
2017-04-05 21:35:07 +03:00
Stanislav Erokhin
9dc9fb578f
Rename toDelegateFor to provideDelegate.
2016-12-12 23:14:07 +03:00
Dmitry Petrov
e2b6d2d849
Drop 'propertyDelegated' convention (without additional deprecation ceremony).
2016-12-12 23:13:58 +03:00
Dmitry Petrov
5ddf8e60e6
Use delegate initializer expression resolution scope for 'toDelegateFor' resolution.
2016-12-12 23:13:57 +03:00
Dmitry Petrov
a6bc7271ae
operator toDelegateFor: add front-end test for local delegate property
2016-12-12 23:13:56 +03:00
Dmitry Petrov
2ee31916c7
'createDelegate' operator renamed to 'toDelegateFor'
2016-12-12 23:13:55 +03:00
Dmitry Petrov
e2ba288323
'createDelegate' operator convention:
...
- resolution & inference
- additional diagnostic for language feature support
2016-12-12 23:13:54 +03:00
Dmitry Petrov
d3ab0f066e
'createDelegate' operator declaration
2016-12-12 23:13:53 +03:00
Alexander Udalov
4a05c749b5
Support smart casts for functions of local variable delegates
2016-06-29 19:21:06 +03:00
Dotlin
fa523b9af4
Delegated Properties: Analysis adjustments for local delegated properties support
2016-05-13 19:11:18 +03:00
Alexander Udalov
7c90fbe4de
Compute return type for property getters more safely
...
Do not call `isError()` on property's type right after creation of
PropertyGetterDescriptor because the property has no getter yet (it's created
but not yet stored to the property, that happens a bit later), and `isError()`
leads to computation of the delegate type, which for delegated properties
performs some complex resolution (see `VariableTypeResolver#process`) which
relies on the fact that the property already has a getter.
Since the purpose of the original change (883e2e4d ) was to support a quick fix
which would add the type to a property in an expression like "val x get() =
...", check the type (or initializer) presence in the PSI instead, this is
safer and is still suitable for the quick fix.
Also fix arguments to "wrong getter type" diagnostic: previously something
useless like "expected Int, actual Int" was reported
#KT-11809 Fixed
2016-04-07 15:35:58 +03:00
Pavel V. Talanov
a4c005fefd
Update existing test data depending on diagnostic parameter rendering
2016-02-26 14:45:11 +03:00
Mikhail Glukhikh
45298e0bad
Delegated properties now cannot be used before initialization #KT-10869 Fixed
2016-02-02 16:27:20 +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
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
Mikhail Glukhikh
d6988ad69e
Get rid of FIELD_IDENTIFIER at syntax level, two errors dropped, a set of tests fixed / deleted #KT-9539 Fixed
2015-10-21 16:36:55 +03:00
Alexey Tsvetkov
1e2256207c
Update test data
2015-10-19 20:45:02 +03:00
Yan Zhulanow
b2470a6aad
Report warning on unary plus()/minus()
2015-10-19 11:51:54 +03:00
Alexander Udalov
ec1b4776fe
Deprecate PropertyMetadata, use KProperty<*> for delegated properties instead
2015-10-14 20:45:25 +03:00
Yan Zhulanow
dc8e796e49
getValue()/setValue() should be marked with 'operator'
2015-10-14 01:29:09 +03:00
Andrey Breslav
a2e5e60c68
TRAIT -> INTERFACE in diagnostics
2015-10-12 14:36:38 +03:00
Yan Zhulanow
1f2b4e20fe
Replace get() and set() to getValue() and setValue() (property delegates)
2015-10-09 22:49:16 +03:00
Dmitry Jemerov
7c20630272
diagnostics for deprecated syntax of function type parameter list
2015-10-06 16:20:47 +02:00
Yan Zhulanow
6db9344659
Fix compiler tests
2015-09-25 19:20:20 +03:00
Zalim Bashorov
f7e2c127b7
Switch to use FakeCallResolver in DelegatedPropertyResolver
2015-09-18 18:31:18 +03:00
Denis Zharkov
4850fd10f0
Regenerate test data containing rendered descriptors
...
Introduced '@' after each annotation
2015-09-18 10:14:39 +03:00
Michael Nedzelsky
bc5c9065d2
fix tests in org.jetbrains.kotlin.checkers
2015-09-08 02:04:32 +03:00
Michael Nedzelsky
3a4dfc5241
remove requirements for explicit return type for public members
2015-09-03 18:23:04 +03:00
Stanislav Erokhin
d015f713cb
KT-6244 Overloads with no default parameters should take over ones with defaults
...
#KT-6244 Fixed
2015-09-01 23:37:43 +03:00
Denis Zharkov
e8f91e596c
Adjust test data after fixes about generic nullability
2015-08-28 18:50:26 +03:00
Svetlana Isakova
cf64687b02
More accurate error reporting
...
with type inference error for delegated properties
Add the constraints from completer if they don't lead to errors
except errors from upper bounds to improve diagnostics
2015-07-10 15:05:04 +03:00
Svetlana Isakova
9a5abf368f
Constraint incorporation
...
In a constraint system a new bound is incorporated:
all new constrains that can be derived from it
(and from existing ones) are added
2015-07-10 15:05:04 +03:00
Dmitry Jemerov
4bdf598bfe
compiler testdata: s/trait/interface
2015-05-12 19:43:17 +02:00
Dmitry Jemerov
9975bb8935
replace 'trait' keyword with 'interface' in user-visible messages and code generation tools
2015-05-12 11:49:37 +02:00