Alexander Udalov
c142db15fa
Rename CoreLocalPathVirtualFile -> CoreJrtVirtualFile
2017-08-23 18:08:29 +03:00
Toshiaki Kameyama
46a1c8ca12
Repeated annotation @Deprecated after J2K for method with annotation and javadoc #KT-19351 Fixed ( #1251 )
2017-08-23 18:05:04 +03:00
Simon Ogorodnik
91f50c99e7
Add benchmark action for highlighting
2017-08-23 17:19:36 +03:00
Pavel V. Talanov
7fecec1141
lightAnnotations: remove several brittle assertions
...
Add some test cases with "red" code
2017-08-23 17:12:56 +03:00
Nicolay Mitropolsky
a6b446cc4f
Correct 'asJava' view of annotations as annotation arguments
...
Fix light elements for nested arrays/annotations inside annotations
#KT-18378 Fixed
2017-08-23 17:12:55 +03:00
Stanislav Erokhin
6eb534fca8
[NI] Fix processParts in KotlinResolutionCandidate
2017-08-23 15:53:53 +03:00
Mikhail Zarechenskiy
c45f86a2fc
[NI] Resolve function literals in block as lambda expression
2017-08-23 15:53:52 +03:00
Mikhail Zarechenskiy
08964006de
[NI] Avoid type capturing for types that can contain type variables
2017-08-23 15:53:51 +03:00
Mikhail Zarechenskiy
e040a317cc
[NI] Store setValue with fresh type variables before substitution
2017-08-23 15:53:50 +03:00
Mikhail Zarechenskiy
55d1130dfc
[NI] Add getters to avoid inspections about useless boolean expressions
2017-08-23 15:53:49 +03:00
Mikhail Zarechenskiy
f075934697
[NI] Pass candidates with wrong visibility in debugger context
...
See test 'privateMembersPriority' (KT-10634)
2017-08-23 15:53:48 +03:00
Mikhail Zarechenskiy
963ab7f27f
[NI] Fix KNPE, exception occurred when element is synthetic
2017-08-23 15:53:47 +03:00
Mikhail Zarechenskiy
f42be4aea2
[NI] Fix exception explicit qualified receiver and dispatch receiver
2017-08-23 15:53:46 +03:00
Stanislav Erokhin
9f71de5f66
Add test for lambda as last expression in lambda
2017-08-23 15:53:45 +03:00
Stanislav Erokhin
74e07b6580
Add regression test for no resolution recursion
2017-08-23 15:53:44 +03:00
Stanislav Erokhin
d9eef94a8e
[NI] Support smartcast info in ResolvedCall on receivers
2017-08-23 15:53:43 +03:00
Stanislav Erokhin
cb1270836c
[NI] Introduced ResolutionAtom's
...
Introduced new model for resolution result: tree of ResolvedAtoms.
Moved all postprocessing for arguments to front-end module.
Do not create freshDescriptor -- use freshTypeSubstitutor directly.
Removed Candidates for variables+invoke.
Add lazy way for argument analysis -- do not analyze all arguments
if we have subtyping error in first argument, but if we want report
all errors, then all arguments checks will be performed.
Future improvements:
- optimize constraint system usage inside ResolutionCandidate
- improve constraint system API
- improve diagnostic handlers
2017-08-23 15:53:42 +03:00
Stanislav Erokhin
76012f6603
Minor. rename ConstraintSystemCompleter
...
In front-end we have other ConstraintSystemCompleter and because of this
in dist we have ambiguity(because there all src folders compiles inside
same module.
2017-08-23 15:53:41 +03:00
Stanislav Erokhin
e011e443cc
[NI] Implement next call completer.
...
Type inference completer features:
- type variables depended from result type will be fixed in the end
- type variables with proper constraints will be fixed first
- fixation via groups "accessible" via constraints is supported
TODO:
- stable order via PSI order
- argument constraint should rewrite position if constraint is the
same as upper bound for type parameter
2017-08-23 15:53:40 +03:00
Stanislav Erokhin
3cf240340c
[NI] Extract logic about fixation order to separated component
2017-08-23 15:53:39 +03:00
Stanislav Erokhin
ff1e230828
[NI] Use right scope for callable reference resolution
...
Previously was used scope for top-level call. It isn't correct because
if we have callable reference inside lambda -> scope is different.
2017-08-23 15:53:38 +03:00
Stanislav Erokhin
da003d48ff
Support isSuccessful in SuccessfulResultCollector
...
Since now SuccessfulResultCollector do not run computation of
resultingApplicability for error candidate before
getFinalCandidates(). It is very useful because we can do not run
all checks for error candidates if we have not-error candidate.
2017-08-23 15:53:37 +03:00
Stanislav Erokhin
6b8293ae5b
Refactoring. Remove ResolutionCandidateStatus.
...
Use diagnostics directly.
Also TowerCandidate since now know only about applicability
and not about diagnostics itself.
2017-08-23 15:53:36 +03:00
Stanislav Erokhin
aca21c847d
[NI] Fix resolution for callable references to nested class members
2017-08-23 15:53:35 +03:00
Stanislav Erokhin
1ae4ad1598
[NI] Do not take type advice for delegation if type is not fixed
2017-08-23 15:53:34 +03:00
Stanislav Erokhin
cdaa98fb63
[NI] Fixes after review
2017-08-23 15:53:33 +03:00
Stanislav Erokhin
2b01b91315
[NI] Refactoring: KotlinCallContext to stateless component (2)
2017-08-23 15:53:32 +03:00
Stanislav Erokhin
e88c1b4f0a
[NI] Refactoring: KotlinCallContext to stateless component (1)
2017-08-23 15:53:31 +03:00
Stanislav Erokhin
9bbfac11b4
[NI] Add common supertype for PSI lambda arguments
...
Also move initial dataFlowInfo to lambda arguments.
As result, we can not store outer call for postpone call arguments
2017-08-23 15:53:30 +03:00
Vyacheslav Gerasimov
aedb4c0ade
Android Lint: Fix constant evaluation in annotation parameter
...
#KT-17785 Fixed Target Versions 1.1.5
2017-08-23 13:18:56 +03:00
Vyacheslav Gerasimov
2e1edaf3d4
Uast: Fix getExpressionType for elvis expression
...
#KT-18997 Fixed Target Versions 1.1.5
2017-08-23 13:18:49 +03:00
Vyacheslav Gerasimov
e06cb1ec39
Android Lint: Use Uast to check for SuppressLint annotation
...
#KT-14800 Fixed Target versions 1.1.5
2017-08-23 13:18:42 +03:00
Vyacheslav Gerasimov
cb3a8d87d0
Android Extensions: Correctly handle namespaces in layout xml
...
#KT-19451 Fixed Target versions 1.1.5
2017-08-23 13:18:34 +03:00
Simon Ogorodnik
1dfa05fe49
KT-19769: Optimize PerModulePackageCacheService
...
#KT-19769 fixed
2017-08-22 19:37:22 +03:00
Denis Zharkov
ad9fe53ee2
Avoid local var entry for continuation parameter in suspend function
...
The primary reason is getting rid of redundant stack spilling, but also
it's not very sensible to have such entry since the parameter
is synthetic
2017-08-22 18:43:31 +03:00
Denis Zharkov
fcd7677a3f
Fix compatibility of suspend functions with strict bytecode analyzers
...
In short, some of the bytecode analyzers assume that there could be
no stores instructions into parameter vars with value of different
types (even when the value type is a subtype)
See the issue for details
#KT-19713 Fixed
2017-08-22 18:43:26 +03:00
Sergey Igushkin
d5f0607cef
Add tests for java-library support.
2017-08-21 17:21:12 +03:00
Sergey Igushkin
1848bc1840
Support java-library plugin: register Kotlin output for consumers
...
Issue #KT-18497 Fixed
2017-08-21 17:21:03 +03:00
Vyacheslav Gerasimov
f941186f75
UAST: Properly handle annotations on local variables
2017-08-21 15:02:01 +03:00
Vyacheslav Gerasimov
c549c63100
Light Classes: Correctly handle annotations for property parameters
...
When getting annotations for KtLightParameter which is property parameter we should return annotations for parameter instead of property
#KT-19671 Fixed
2017-08-21 15:01:51 +03:00
Mikhael Bogdanov
1e73921200
Update changelog for 1.1.4-2
2017-08-18 18:23:10 +02:00
Pavel V. Talanov
c132f3b0d1
KT-19276: Drop exception logging on loading script definitions failure
...
See YT discussion
Have to come up with more meaningful diagnostics on definition loading
#KT-19276 Fixed
2017-08-18 19:11:35 +03:00
Pavel V. Talanov
6424b6760f
Remove StorageComponentContainerContributor::onContainerComposed
...
Rename addDeclarations -> registerModuleComponents
Use it to provide SamWithReceiverResolver extensions instead
Post construction on container composition can be achieved
but manually inserting injections where it seems appropriate
is bug prone
This fixes a bug where SamWithReceiverPlugin extension was not registered
for some containers in IDE which led to incorrect highlighting in IDE
Add IDE test for applying SamWithReceiver plugin
#KT-18062 Fixed
2017-08-18 19:11:25 +03:00
Yan Zhulanow
6f180416b1
Pass SamConversionResolver explicitly cause it should be call site module-local
2017-08-18 19:11:21 +03:00
Toshiaki Kameyama
f0f6a252a5
Offer to make INVISIBLE_MEMBER protected if referenced from subclass
...
So #KT-19614 Fixed
2017-08-18 15:53:41 +03:00
Mikhail Glukhikh
0adf1d210f
Make KtPureElement.getParent() nullable #KT-19760 Fixed
...
The reason is KtFile.getParent() is a containing directory which is nullable
2017-08-18 15:36:41 +03:00
Amane Nikaido
0fd5c6f1ca
KT-19634: Fix <boxed_value> == <primitive_value> converted to reference equality
...
#KT-19634 fixed
2017-08-18 15:20:26 +03:00
Mikhail Glukhikh
9dc5354f24
Eliminate some warnings (mostly redundant is checks in whens)
2017-08-18 15:16:59 +03:00
Mikhail Glukhikh
3623f581b8
Eliminate a set of warnings, mostly nullability ones
2017-08-18 15:10:27 +03:00
Toshiaki Kameyama
82fc221470
Add "flip equals" intention for String.equals extension from stdlib
...
So #KT-19282 Fixed
2017-08-18 14:34:14 +03:00