Mikhail Glukhikh
a12877e51c
Add feature support for "smart casts on variables in closures"
...
So #KT-14486 Fixed
2017-08-16 12:34:04 +03:00
Mikhail Glukhikh
a086863561
Preliminary: support smart casts on variables in closures
...
No feature support yet
So #KT-14486 In Progress
2017-08-16 12:33:52 +03:00
Mikhail Glukhikh
b2d931fb1f
Support smart casts after if (nullable ?: boolean) #KT-8492 Fixed
2017-08-16 12:33:35 +03:00
Mikhail Glukhikh
80b6aaa802
Support smart casts to Type after x as? Type null check #KT-4565 Fixed
2017-08-16 12:33:12 +03:00
Alexey Sedunov
f5c7db8270
Change Signature: Support constructors of header/impl classes
2017-08-15 19:08:26 +03:00
Alexey Sedunov
0b44386800
Change Signature: Fix NPE on rendering empty parameter names
2017-08-15 19:08:26 +03:00
Alexey Sedunov
e4f70a3568
Rename: Support members of header/impl classes
...
#KT-18885 Fixed
#KT-18898 Fixed
#KT-18899 Fixed
2017-08-15 19:08:26 +03:00
Dmitry Jemerov
e3963fccf4
Move Gradle-related classes to idea-gradle module
2017-08-15 16:51:42 +02:00
e5l
5501cdf049
Add warnings for jsr305 nullable annotations
...
#KT-19115 Fixed
2017-08-15 11:01:08 +03:00
Mikhail Glukhikh
830b543879
Fix of EA-105681 in KotlinRunLineMarkerContributor
2017-08-14 17:37:05 +03:00
Dmitry Petrov
a8c82b64a1
Do not check bounds in type alias expansion if checkBounds is false
...
This happens when we resolve bounds for type parameters, causing wrong
UPPER_BOUND_VIOLATED to be reported on type parameter whose bounds were
not resolved yet.
#KT-19601 Fixed Target versions 1.1.5
2017-08-11 11:29:59 +03:00
Alexey Tsvetkov
bb2fab5b5d
Extract LookupTracker service from IncrementalCompilationComponents
...
We don't need a `TargetId` to `IncrementalCache` mapping in JS
2017-08-10 21:19:42 +03:00
Dmitry Petrov
674d30cd76
Report deprecation on typealias companion object for deprecated alias
2017-08-10 15:45:44 +03:00
Dmitry Petrov
c180de563f
Support DslMarker on type aliases
2017-08-10 15:45:44 +03:00
Mikhail Zarechenskiy
974dad571c
[NI] Report errors about inapplicable wrong receiver
...
Now it's possible because we don't commit trace with inapplicable `provideDelegate` operator (20e105c274 )
2017-08-09 17:37:44 +03:00
Dmitry Jemerov
a7bbf3d1f8
Don't increase OOCB count when a REPL line is modified
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
3415853cac
Add ModuleDescriptor.assertValid() for ensuring consistency
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
ac96c31a7d
Retrieve module descriptors for implementing modules on demand
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
0b45d25bb1
Fix compilation after rebase
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
bdbe134b60
Recreate module descriptors for affected modules only on a change
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
07794c8188
On-demand creation of ModuleDescriptors
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
36cabf1bfc
Move entire logic for ModuleDescriptor setup into ResolverForProjectImpl
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
d6a9a49968
Disable tracking of Kotlin files by Java OOCB listener
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
aafe7e6f1b
Refactoring: move createResolverForModule() into ResolverForProjectImpl
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
3debca09ea
Remove callback hell from LazyModuleDependencies
2017-08-09 13:26:09 +02:00
Mikhail Zarechenskiy
cfbc559a97
[NI] Propagate tracking binding trace into context
2017-08-09 14:01:04 +03:00
Mikhail Zarechenskiy
4a74ca568c
[NI] Don't forget to deparenthesize expression before type checking
2017-08-09 14:01:00 +03:00
Mikhail Zarechenskiy
20e105c274
Don't commit trace with inapplicable provideDelegate operator
...
This helps in NI as there we have different logic for delegates inference
2017-08-09 13:50:50 +03:00
Mikhail Zarechenskiy
46d0ea3eed
Use operation reference as lookup element to preserve old behaviour
...
See related changes in fb72726f08
2017-08-09 00:59:12 +03:00
Valentin Kipyatkov
9361cd895c
Support for import aliases in code completion
...
#KT-8848 Fixed
2017-08-08 22:06:04 +03:00
Mikhail Zarechenskiy
48246e5f34
[NI] Add resolution part to check for abstract super call
2017-08-08 15:44:31 +03:00
Mikhail Zarechenskiy
b6e195128c
[NI] Resolution diagnostics don't produce errors as is
2017-08-08 15:44:30 +03:00
Mikhail Zarechenskiy
5486f4e612
[NI] Don't report NI error for recorded info about smartcasts
2017-08-08 15:44:28 +03:00
Mikhail Zarechenskiy
64b722d4f6
Minor, reduce nesting
2017-08-08 15:44:20 +03:00
Mikhail Zarechenskiy
ae3497c6ce
Reduce highlighting range for UNCHECKED_CAST
...
#KT-18985 Fixed
2017-08-07 18:49:58 +03:00
Mikhail Zarechenskiy
8f8143d3ed
Fix IAE for wrong use-site @file annotation
...
#EA-100189 Fixed
2017-08-07 18:49:57 +03:00
Mikhail Zarechenskiy
4d4c39939f
Report full package FQ name in compilation errors related to visibility
...
#KT-18966 Fixed
2017-08-07 18:49:55 +03:00
Mikhail Zarechenskiy
7693f64dee
[NI] Take into account safe call when updating recorded type
2017-08-07 18:01:21 +03:00
Mikhail Zarechenskiy
a13442b12b
[NI] Fix data flow for arguments in special calls
2017-08-07 18:01:18 +03:00
Mikhail Zarechenskiy
fb72726f08
Resolve right part of equality with given descriptors
2017-08-07 18:01:15 +03:00
Stanislav Erokhin
ab2f99542a
[NI] Redo how we take care of postpone arguments
...
The main change here is the following: before callable reference
resolution starts directly after choosing candidate. Since now we
start resolution before call completion.
2017-08-07 18:01:02 +03:00
Stanislav Erokhin
93d80c252f
[NI] Refactoring. Move properties from KotlinCall to external component
2017-08-07 18:01:00 +03:00
Stanislav Erokhin
ef93088a42
[NI] Move most of KotlinCallDiagnostic to one file
...
Now there is 3 kind of KotlinCallDiagnostic:
- ResolutionDiagnostic
- ConstraintSystemCallDiagnostic
- other common diagnostic
Also SpecialResolutionParts were merged into other ResolutionParts
2017-08-07 18:00:59 +03:00
Stanislav Erokhin
1bc68e073d
[NI] Minor. Clarified type for arguments from lambda
2017-08-07 18:00:56 +03:00
Stanislav Erokhin
85e34163bb
[NI] Temporary fix for cases related callable reference and if
...
For cases like if (..) ::foo else ::bar we didn't write stub resolved
calls for ::foo before call completion. Because of this, and strange
code in if we get null inside type info.
2017-08-07 18:00:54 +03:00
Stanislav Erokhin
f1144c9f01
[NI] Use resolved lhsType as unbound receiver.
2017-08-07 18:00:53 +03:00
Stanislav Erokhin
c752e1580e
[NI] Check receivers for callable reference resolution.
2017-08-07 18:00:52 +03:00
Stanislav Erokhin
a5dffafacd
[NI] Fix provideDelegate resolution.
...
For provideDelegate there is no real psi for resolution,
so we write corresponding call via special trace key.
2017-08-07 18:00:51 +03:00
Mikhail Zarechenskiy
76d013a33f
[NI] Resolve % to mod if candidates have wrong receivers
2017-08-07 18:00:48 +03:00
Dmitry Petrov
4963580f90
[NI] Take into account return without expression in lambdas
2017-08-07 18:00:47 +03:00