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
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
558e8aaebb
DelegatedPropertyResolver: convert to Kotlin & cleanup.
2016-12-12 23:13:52 +03:00
Dmitry Petrov
85276c27f0
DelegatedPropertyResolver: .java --> .kt
2016-12-12 23:13:51 +03:00
Dmitry Jemerov
48513c7b1d
Better diagnostics for "no resolver for module descriptor" situation (EA-72838 - ISE: EmptyResolverForProject.resolverForModuleDescriptor)
2016-12-12 17:50:26 +01:00
Dmitry Jemerov
7f02c67fbf
Avoid NPE while calculating assertion message (EA-92384 - NPE: KtElementImpl.getContainingKtFile)
2016-12-12 17:50:19 +01:00
Roman Elizarov
8affb2726f
Pluggable Synthetic Objects
2016-12-12 18:43:26 +03:00
Dmitry Jemerov
13b8494373
Remove unnecessary cyclic dependency between KtStubElementTypes and KtNodeTypes
...
#KT-15074 Fixed
2016-12-12 16:26:58 +01:00
Yan Zhulanow
cbef0250aa
Allow to turn the first parameter of a SAM-converted lambda into the receiver (KT-12848)
2016-12-09 20:01:21 +03:00
Yan Zhulanow
e626b121ad
NoArg: Add compiler plugin
2016-12-09 20:01:10 +03:00
Yan Zhulanow
f57df272ac
Allopen: Handle allopen annotations on classes (KT-12149)
2016-12-09 20:00:56 +03:00
Mikhail Zarechenskiy
7a0e44b8f9
Resolve '%' as 'mod' when LV=1.0
2016-12-09 17:01:41 +03:00
Mikhail Zarechenskiy
bc4a492f4d
Resolve for rem/modAssign and mod/remAssign
...
rem/remAssign always wins if it is possible
2016-12-09 17:00:27 +03:00
Mikhail Zarechenskiy
5f71f1bcad
Add warnings at declaration and call sites of operator 'mod'
2016-12-09 16:59:24 +03:00
Mikhail Zarechenskiy
97ca51381a
Gradual migration of operator 'mod' to 'rem'
...
- Introduce new 'rem' operator convention
- Prefer 'rem()' to 'mod()' when both are available, even if mod() is a
member, and rem() -- an extension
- Place operator 'rem' under the language feature
2016-12-09 16:43:35 +03:00
Mikhael Bogdanov
f4259c5f82
Added deprecation for protected call within inline functions
2016-12-09 11:55:16 +01:00
Mikhael Bogdanov
7af327c567
Added 'checkPublishedApi' to effective visibility checker
2016-12-09 11:55:15 +01:00
Mikhael Bogdanov
038065e827
Updated NON_PUBLIC_CALL_FROM_PUBLIC_INLINE diagnostic to support @PublishedApi
2016-12-09 11:55:15 +01:00
Mikhael Bogdanov
7ea29d3397
Wrong @PublishedApi usage diagnostic
2016-12-09 11:55:15 +01:00
Alexander Udalov
513ebb9729
Suggest to use "-Xskip-metadata-version-check" on incompatible classes in classpath
2016-12-09 01:59:36 +03:00
Alexander Udalov
b943ed26f3
Report incompatible metadata version error correctly
...
Similarly to pre-release classes, load metadata for the class anyway and allow
the resolution to select it as the result and prohibit its usage in the end
with the special diagnostic reported in MissingDependencyClassChecker
2016-12-09 01:59:36 +03:00
Alexander Udalov
7de0cfde16
Report error on pre-release top level members
2016-12-09 01:59:34 +03:00
Alexander Udalov
11f975fe89
Add classifier usage checker for missing dependency classes
...
This has no effect for the original use case of mock class descriptors
(unresolved classes used in libraries), but is necessary for pre-release
classes in case the compiler is a release, because such classes end up in scope
and can be the result of the resolution
2016-12-09 01:59:33 +03:00
Alexander Udalov
4e99349f1f
Write "pre-release" flag to class files, do not allow usages in release
2016-12-09 01:59:33 +03:00
Alexey Sedunov
215d8b1e1a
Intentions: Convert function type receiver to parameter
...
#KT-14246 Fixed
2016-12-08 17:56:57 +03:00
Alexey Sedunov
d4ed2d2022
Intentions: Convert function type parameter to receiver
...
#KT-14246 In Progress
2016-12-08 17:56:55 +03:00
Alexey Andreev
1ebf81c3ff
Don't report about unused parameters on external functions and constructors
2016-12-08 15:41:41 +03:00
Alexey Andreev
a7ce770cb4
Don't report error for properties and functions without body that either external by themselves or are members of external classes
2016-12-08 15:41:40 +03:00
Alexey Andreev
0c2da93e5f
Allow external modifier on classes and properties
2016-12-08 15:41:38 +03:00
Alexey Andreev
ba2443bcb3
Add external property to class and property descriptors
2016-12-08 15:41:38 +03:00
Alexander Udalov
d5c75ae764
Minor refactoring in frontend/resolution
...
Fix typos, formatting, diagnostic message
2016-12-08 12:20:37 +03:00
Alexander Udalov
228d0a1c43
Move "missing dependency class" diagnostic from JVM to common front-end
2016-12-07 21:46:37 +03:00
Denis Zharkov
891a036b59
Change resolution priority level for SAM adapters
...
After this change SAM adapters are being resolved in the same group
as members, thus their overload resolution happens simultaneously.
But in the case of overload resolution ambiguity try to filter out all
synthetic members and run the process again.
See the issue and new test for clarification
#KT-11128 In Progress
2016-12-07 21:04:44 +03:00
Denis Zharkov
83056c71c9
Minor. Extract FlatSignature factory
2016-12-07 21:04:08 +03:00
Nikolay Krasko
45532e480f
Remove repeating contexts in CompositeBindingContext creation
2016-12-07 17:32:38 +03:00
Mikhail Zarechenskiy
160d43fe2e
Introduce new feature: division by zero in constant expressions
2016-12-02 17:42:56 +03:00
Mikhail Glukhikh
729a3a34b8
Cleanup: remove empty primary constructor applied
2016-12-02 13:38:47 +03:00
Mikhail Glukhikh
f71ea8858b
Cleanup: remove empty constructor body applied
2016-12-02 13:38:42 +03:00
Mikhail Glukhikh
96ae881c16
Cleanup: join declaration & assignment applied
2016-12-02 13:38:32 +03:00
Dmitry Petrov
e63abff7e8
Recognize possible generic property call chain ('a.b<T>.c') on '::' LHS.
2016-12-02 10:20:05 +03:00
Mikhail Glukhikh
468e975580
KT-12100 related: convert try / finally to use() call inspection introduced
2016-12-01 20:38:52 +03:00
Mikhail Zarechenskiy
25c3b43858
Support Infinity and NaN in constant evaluator
...
This allows to store infinities and NaNs inside const vals
2016-12-01 16:08:53 +03:00
Denis Zharkov
b8e1ce7a05
Report error on non-tail suspend-calls
...
It only concerns calls inside another suspend function
#KT-14924 In Progress
2016-12-01 10:11:37 +03:00
Denis Zharkov
aa50f1d824
Report error when suspend call is illegal in the scope
...
Namely when it's not contained inside coroutine or another suspend function
#KT-14924 In Progress
2016-12-01 10:11:37 +03:00
Mikhail Zarechenskiy
240d82d167
Move reified type parameter checker to additional checkers to able turn it off by demand
2016-12-01 10:06:38 +03:00
Ilya Chernikov
4e6e3a3403
Check for script file validity on cache changes, fixes #EA-90318, #EA-87672
2016-11-30 13:09:21 +01:00
Ilya Chernikov
0e7413b5b1
Generalizing error handling when working with (potentially 3rd-party) script templates, fixing #EA-91412 and alike
2016-11-30 13:09:20 +01:00
Alexey Sedunov
740f769487
Rename: Fix renaming of .kts file to .kt and vice versa
...
#KT-14814 Fixed
2016-11-30 14:35:34 +03:00