Commit Graph

313 Commits

Author SHA1 Message Date
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