Alexander Udalov
661f4efc68
Forbid callable references to members and extensions with empty LHS
...
This syntax is reserved to be likely used in the future as a shorthand for
"this::foo" where the resulting expression doesn't take the receiver as a
parameter but has "this" already bound to it
2015-10-03 04:37:04 +03:00
Pavel V. Talanov
a3fbf2fabc
Test that primitives, arrays, enums are implicitly serializable on jvm and not js
...
Specifically test calling java function that accepts java.io.Serializable
2015-10-01 17:53:19 +03:00
Mikhail Glukhikh
7256a546df
Visibility modifiers are no longer allowed on local classes
2015-09-30 19:38:16 +03:00
Mikhail Glukhikh
7a99b3872b
Forbid private functions with no body and private properties in traits which are abstract by default
2015-09-30 19:38:02 +03:00
Valentin Kipyatkov
8f1a3043de
Synthetic properties made locale-independant too
2015-09-29 18:32:25 +03:00
Mikhail Glukhikh
3d6d527d93
Synthetic 'field' variable is no more created in extension property accessors #KT-9303 Fixed
2015-09-29 13:05:19 +03:00
Mikhail Glukhikh
7b4f18035f
L-value of assignment expression can now be annotated with expression-targeted annotation #KT-9154 Fixed
2015-09-29 13:05:16 +03:00
Mikhail Glukhikh
f4ccb16c2e
Function expressions can be now annotated with expression-targeted annotation #KT-9323 Fixed
2015-09-29 13:05:13 +03:00
Michael Nedzelsky
1986d8d7f8
add test for private in file
2015-09-25 21:16:04 +03:00
Yan Zhulanow
2c7f68ff71
Member and extension functions with 'operator' have now higher priority
2015-09-25 19:20:18 +03:00
Yan Zhulanow
ce4bcbba6d
Simple diagnostic on 'operator' keyword
2015-09-25 19:20:17 +03:00
Yan Zhulanow
43bf87e82d
Add diagnostics on convention operator calls without an "operator" modifier on declaration site
2015-09-25 19:19:02 +03:00
Mikhail Glukhikh
0a0bfdacb1
Names containing only '_' are deprecated (declarations, parameters, import aliases, labels, but not backquoted names)
2015-09-25 18:57:58 +03:00
Mikhail Glukhikh
74ba21b40c
Extra annotation target test for prefix expression
2015-09-25 17:46:36 +03:00
Mikhail Glukhikh
f06a79d534
KNPE fixed in data class checker together with some ID warnings #KT-9296 Fixed #EA-73584 Fixed
2015-09-25 17:46:33 +03:00
Stanislav Erokhin
fc9aa87a05
Report diagnostic on import with explicit import class if class was imported earlier.
2015-09-24 14:07:43 +03:00
Stanislav Erokhin
85895bec62
Improved error reporting, when we trying import invisible descriptor.
2015-09-24 13:53:56 +03:00
Stanislav Erokhin
1360f3cd43
Fix visibility checker for import.
2015-09-24 13:53:55 +03:00
Mikhail Glukhikh
c4fb6d48c5
Object literals are now classes and expressions simultaneously for the purposes of annotation target checking
2015-09-23 16:47:07 +03:00
Mikhail Glukhikh
dd4601fd08
Function literal is now expression and function simultaneously for purposes of annotation target checking
2015-09-23 16:47:04 +03:00
Mikhail Glukhikh
997e9a7dd7
Multi declaration is now a separate target in KotlinTarget
2015-09-23 16:46:44 +03:00
Mikhail Glukhikh
789f351f6f
data modifier is now inapplicable to enum classes, annotations, objects and interfaces #KT-8302 Fixed
2015-09-23 16:33:11 +03:00
Mikhail Glukhikh
315a304c8e
New modifier checking strategy: only one error but any number of warnings, a warning can never shadow an error
2015-09-23 16:33:08 +03:00
Mikhail Glukhikh
55c7df8b8d
Deprecations: data class should now have at least one primary constructor parameter, parameters should be val / var and not vararg.
2015-09-23 16:33:05 +03:00
Mikhail Glukhikh
3d6253c27f
abstract + data and sealed + data are also deprecated
2015-09-23 16:33:02 +03:00
Mikhail Glukhikh
038d955c23
Data classes cannot have class supertypes, a new test, relevant test fixes
2015-09-23 16:33:00 +03:00
Mikhail Glukhikh
58110cd0d1
open + data and inner + data are deprecated, a new test, relevant test fixes
2015-09-23 16:32:57 +03:00
Mikhail Glukhikh
731fdecf06
private / protected / internal modifiers are deprecated in interfaces, relevant tests changed
2015-09-23 16:32:54 +03:00
Denis Zharkov
8d13f08271
Load static final fields of appropriate types from Java as const
2015-09-23 08:20:57 +03:00
Denis Zharkov
b2b76d16d0
Add checks for const modifier applicability
...
1. Must be initialized in-place
2. Can not be open/abstract
3. Can not be an override
4. Can not be delegated
5. Initializer must be a compile-time constant
6. No getters
7. `const` is not applicable to vars or locals
8. `const val` should be whether top-level property or object member
2015-09-23 08:20:56 +03:00
Dmitry Jemerov
4ca434da54
remove support for 'trait' keyword
2015-09-22 15:00:24 +02:00
Mikhail Glukhikh
ad302fcfba
"field": control of accessor parameter name shadowing, test
2015-09-21 15:48:08 +03:00
Mikhail Glukhikh
9939f96c09
"field" reassignment: fix and test
2015-09-21 15:47:52 +03:00
Mikhail Glukhikh
9f640b00d9
"field": synthetic variable creation in accessors, codegen changed accordingly, a set of tests, relevant code fix (j2k)
2015-09-21 15:47:49 +03:00
Dmitry Petrov
da026f1480
Report errors for annotations with BINARY or RUNTIME retention on file classes.
2015-09-21 12:11:53 +03:00
Stanislav Erokhin
1614de86d2
Support package directive for types
2015-09-18 21:00:21 +03:00
Stanislav Erokhin
69cb3f818d
Use NewQualifiedExpressionResolver for resolve types
2015-09-18 21:00:20 +03:00
Stanislav Erokhin
3f2e2deea1
Minor. Improver import resolve, when some error happened
2015-09-18 21:00:19 +03:00
Stanislav Erokhin
f8a018ae27
Introduced NewQualifiedExpressionResolver
2015-09-18 21:00:18 +03:00
Stanislav Erokhin
286d39b866
Import names from singleton but show CANNOT_IMPORT_ON_DEMAND_FROM_SINGLETON error
2015-09-18 21:00:17 +03:00
Denis Zharkov
38bafaa35c
Drop annotations deprecation related things: diagnostics, quickfixes
2015-09-18 09:34:25 +03:00
Alexander Udalov
57c81e9cbe
Disallow arrays as upper bounds of type parameters
...
#KT-9189 Fixed
2015-09-17 21:15:20 +03:00
Mikhail Glukhikh
7dbd5b75cc
Expected return type is in use now during function literal analysis #KT-9134 Fixed
2015-09-16 17:12:41 +03:00
Mikhail Glukhikh
1667f18d7c
Receiver of a safe call is not null inside the call also for extension functions + a pair of tests #KT-9033 Fixed
2015-09-16 15:04:41 +03:00
Mikhail Glukhikh
22229af930
Annotation / modifier checking for setter parameters / for variables / multi declarations, tests, relevant test changes #KT-9145 Fixed
2015-09-16 09:51:37 +03:00
Mikhail Glukhikh
d4d633ea26
Combined identifier info for things like '(x + y).z' is no longer treated as 'z' identifier info + a pair of tests + code fix #KT-9126 Fixed
2015-09-11 21:06:09 +03:00
Mikhail Glukhikh
9b11b5300c
Elvis DFA: now only left part is taken into account #KT-9100 Fixed
...
I had to fix a few incorrect tests using something like x!! in Elvis right part, and also one bug in our code
2015-09-10 17:50:57 +03:00
Denis Zharkov
7c16fb8a89
Fix StringIndexOutOfBoundsException
...
#EA-72837 Fixed
2015-09-09 12:51:19 +03:00
Mikhail Glukhikh
1dee922861
kotlin.annotation.Target / Retention have now more priority than same java classes if import java.lang.annotation.* is available
2015-09-08 17:18:31 +03:00
Mikhail Glukhikh
0257f46ebb
Special modifier parsing for enum entries: last of them is considered as an enum entry name #KT-9088 Fixed
2015-09-08 17:18:28 +03:00