Andrey Breslav
6155d836a5
'async' reserved in front of function literals
2015-12-18 21:20:54 +03:00
Andrey Breslav
75ab0dd509
'sealed' reserved in front of when
2015-12-18 21:20:54 +03:00
Andrey Breslav
c36eeadab1
Minor. Constant used instead of constructor
2015-12-18 21:20:54 +03:00
Dmitry Petrov
09f53ea0bb
Select most specific overloaded function/property by explicitly used arguments only.
...
Major rewrite of OverloadingConflictResolver.
2015-12-18 18:30:16 +03:00
Dmitry Petrov
52f0e0bc93
J2K: OverloadingConflictResolver.kt - convert to Kotlin
2015-12-18 18:30:16 +03:00
Dmitry Petrov
ca6153e8f1
J2K: OverloadingConflictResolver.kt
2015-12-18 18:30:16 +03:00
Stanislav Erokhin
8b5a194dd6
Do not discriminate synthesized candidates.
...
#KT-9965 Fixed
2015-12-18 15:08:19 +03:00
Alexey Sedunov
f745f27694
Change Signature: Check syntactic validity of types. Warn about unresolved types
2015-12-18 15:05:40 +03:00
Alexey Sedunov
24951e8a38
J2K: KtTypeCodeFragment.java
2015-12-18 15:05:33 +03:00
Alexey Sedunov
6fe48243c7
J2K: KtTypeCodeFragment.java (rename to .kt)
2015-12-18 15:05:31 +03:00
Alexey Sedunov
594ad27952
Change Signature: Implement proper resolution of type code fragments
...
#KT-9210 Fixed
2015-12-18 15:05:29 +03:00
Stanislav Erokhin
7521b89b3e
Resolve unaryPlus as plus with error.
2015-12-17 20:21:01 +03:00
Denis Zharkov
0d7c8635b3
Refine INSTANCE_ACCESS_BEFORE_SUPER_CALL check
...
- Detect usages of unitialized `this` as extension receiver argument
- Make it work within object literal created before super call
#KT-9120 Fixed
#KT-8289 Fixed
2015-12-17 19:56:38 +03:00
Mikhail Glukhikh
fe57a9e48f
Setter visibility must be worse or the same as property visibility
2015-12-17 19:03:06 +03:00
Mikhail Glukhikh
f5989aa4f2
CallableMemberDescriptor.isOverridable / ClassDescriptor.isFinal refactoring
...
Extra JvmField and integer constants tests
2015-12-17 18:11:41 +03:00
Mikhail Glukhikh
91621704a2
Additional information to catch EA-75872
2015-12-17 17:30:30 +03:00
Alexey Tsvetkov
7384d25cb3
Prohibit Array<Nothing>
2015-12-17 16:26:26 +03:00
Mikhail Glukhikh
35f788a89c
INAPPLICABLE_FIELD_TARGET_NO_BACKING_FIELD deleted (not necessary already)
2015-12-17 15:07:07 +03:00
Mikhail Glukhikh
3fb04aceb9
Check backing field availability for AnnotationTarget.FIELD #KT-10387 Fixed
...
Some duplicated checks deleted (UseSiteTargetChecker / JvmFieldApplicabilityChecker)
2015-12-17 15:06:58 +03:00
Stanislav Erokhin
c725ed47f5
Replaced ReceiverValue.NO_RECEIVER to null.
2015-12-15 23:09:20 +03:00
Stanislav Erokhin
3692318c38
Minor. Removed ReceiverValue.IRRELEVANT_RECEIVER.
2015-12-15 23:08:41 +03:00
Zalim Bashorov
976fbf32ba
Minor: use List instead of Array as container in chained scopes
2015-12-15 20:07:37 +03:00
Zalim Bashorov
5008a66a5b
ChainedScope -> ChainedMemberScope
2015-12-15 20:07:36 +03:00
Zalim Bashorov
e201268f46
Remove unnecessary scopes
2015-12-15 19:41:18 +03:00
Zalim Bashorov
51a8d5b9f0
Allow to use static members from companion object's parents
2015-12-15 19:41:15 +03:00
Zalim Bashorov
69c2668530
Don't allow to use own members when resolve super constructor call in (companion) object
2015-12-15 19:41:14 +03:00
Zalim Bashorov
e9ea4cc953
Don't allow to use own nested classes when resolve header of (companion) object
2015-12-15 19:41:13 +03:00
Zalim Bashorov
38522f60ea
Minor: add helper function createLazyValue with onRecursion
2015-12-15 19:41:12 +03:00
Denis Zharkov
b4bb92d136
Fix overload resolution ambiguity for types intersection
...
There are two different forms of types intestion:
1. Type parameters with multiple bounds
2. Smart casts
The problem was that when member scope of type intersection contained
effective duplicates and that lead to overload resolution ambiguity in
strange cases like `x.hashCode()`
For first type we do effectively the same thing as when building member
scope for class extending several interfaces: group all descriptors by
both-way-overridability relation and then choose most-specific in each
group.
For smart casts we do basically the same thing but with special
treatments:
1. From all descriptors that _equal_ to most specific we choose
the one that works without smartcast if possible (i.e. we choose first from candidates list)
2. If smart-cast value seems to be unstable we use only member scope
of receiver type + all descriptors from smart cast possible types
that has incompatible signature. If we'd include all of them and
choose one as more specific, and it would lead to false
SMART_CAST_IMPOSIBLE (see test unstableSmartCast.kt)
#KT-3996 Fixed
#KT-10315 Fixed
2015-12-15 16:18:31 +03:00
Alexey Sedunov
3dfb9d2e5e
Inline Variable: Move string template processing to InlineValHandler as it violates contract of the PsiElement.replace()
2015-12-15 13:31:35 +03:00
Alexey Sedunov
ffb382e3bc
PSI: Delete succeeding semicolon along with KtElement
...
#KT-5487 Fixed
2015-12-15 13:31:33 +03:00
Mikhail Glukhikh
49e7417741
"as" in binary / unary expressions now checked only for original type conversion #KT-10384 Fixed
...
Also #KT-10386 Fixed
2015-12-15 12:02:33 +03:00
Mikhail Glukhikh
233e8e58e8
Code cleanup: get rid of unnecessary !! / as, fake warning comments and issues
2015-12-15 12:00:58 +03:00
Stanislav Erokhin
cd80d9408d
Extension function wins against function with no receiver
2015-12-14 16:49:29 +03:00
Dmitry Jemerov
a7503303d5
diagnostics for EA-73611
2015-12-14 13:28:45 +01:00
Mikhail Glukhikh
d2fce9b16d
CFA classes rename: remove 'Kotlin' prefix
2015-12-14 15:25:43 +03:00
Dmitry Jemerov
8db3fb03f9
remove support for "package.foo.bar" syntax inside files
2015-12-14 13:22:54 +01:00
Mikhail Glukhikh
fdc9e9d7f5
Delegated properties never require backing field #KT-10107 Fixed
2015-12-14 12:26:37 +03:00
Alexander Udalov
477e25ae2f
Remove Intrinsic annotation from *arrayOf functions
2015-12-14 03:49:41 +03:00
Alexander Udalov
65c5c99c68
Render decompiled annotations on enum entries
2015-12-13 17:49:44 +03:00
Alexander Udalov
5e421b4024
Improve type parameter bound diagnostic location
...
If there's only one erroneous bound (vast majority of cases), report it on the
bound; otherwise (to avoid reporting it several times) report on the type
parameter declaration
2015-12-13 02:06:07 +03:00
Michael Bogdanov
a7eea6e4dd
Get rid of NeedSyntheticChecker
2015-12-12 11:41:35 +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
fe78f944a6
Private setter for open property: is now an error, not a warning
2015-12-11 18:54:40 +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
Dmitry Jemerov
470dfc9bec
remove "Jet" from names of classes related to resolve/scopes
2015-12-11 16:07:13 +01: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
616bb444ec
Minor. strip explicit receiver for variable call if needed.
2015-12-11 17:01:03 +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