Denis Zharkov
a02b64f0e3
Setup overridability rules for properties built on Java fields
...
- They overrides each other
- They do not overrides Kotlin propeties and vice versa
2015-10-06 23:56:17 +03:00
Dmitry Jemerov
7c20630272
diagnostics for deprecated syntax of function type parameter list
2015-10-06 16:20:47 +02:00
Pavel V. Talanov
37d5c4b223
Allow to import members from object by name
...
Wrap object members so they do not require dispatch receiver
Hack jvm backend to make it work
2015-10-06 16:31:21 +03:00
Stanislav Erokhin
b69197962d
KT-9461: Inference failed: type parameter fixed early
...
#KT-9461 Fixed
2015-10-05 20:32:44 +03:00
Michael Nedzelsky
483110332c
fix KT-431 Prohibit safe calls on namespaces, super etc
...
#KT-431 Fixed
2015-10-05 13:14:42 +03:00
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