Commit Graph

4271 Commits

Author SHA1 Message Date
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 ebfb6c8468 private and override are no more compatible 2015-09-25 18:57:55 +03:00
Mikhail Glukhikh 9ccf1a1729 Partial rollback: 'private' is no more deprecated in interfaces, some tests rolled back accordingly 2015-09-25 18:57:52 +03:00
Denis Zharkov 505cb37052 Generate deprecated flag on getter of const val's 2015-09-25 18:12:45 +03:00
Mikhail Glukhikh 103bb320c8 Do not generate non-function/getter/setter (expression) annotations on anonymous functions 2015-09-25 17:46:38 +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
Mikhail Glukhikh bd7ccc0138 Annotation on a function literal cannot be written to binary if it has FUNCTION target and the literal is inlined 2015-09-25 17:46:30 +03:00
Denis Zharkov 3f6cadf9b7 Change FUNCTION_EXPRESSION_WITH_NAME severity to ERROR
Also drop deprecation related parts and get rid of usages of this `feature` within testData
2015-09-25 08:29:26 +03:00
Denis Zharkov 73799e2c3c Replace deprecated lambda syntax in testData
It's done with similar constructions where possible trying to preserve
intended behavior.
Some usages are removed because they test exactly the feature that
we are going to drop soon.
2015-09-25 08:29:25 +03:00
Denis Zharkov 5f69789636 Stop parsing lambdas with deprecated syntax 2015-09-25 08:29:25 +03:00
Stanislav Erokhin 88815c40cc Minor. Fix testdata. 2015-09-24 14:07:51 +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
Michael Bogdanov e5334ed9b8 Compare arrays via equals (not Arrays.equals) in data classes 2015-09-24 12:00:19 +03:00
Michael Bogdanov cf57d56ab3 Don't generate private members in interface 2015-09-24 12:00:18 +03:00
Michael Bogdanov 2e6b56691c Fix for: KT-8089 NoSuchFieldError
#KT-8089 Fixed
2015-09-24 09:36:46 +03:00
Yan Zhulanow bc727a170b Add 'operator' keyword 2015-09-23 21:25:51 +03:00
Michael Nedzelsky 01ece0faa4 Revert "fix tests (internal -> public)"
This reverts commit e86bf03e76.
2015-09-23 17:45:40 +03:00
Dmitry Petrov 8595315ba5 - Package facade classes should have ACC_DEPRECATED
- Light classes for package facades should be deprecated
2015-09-23 17:41:13 +03:00
Dmitry Petrov 3cd1c222f0 Generate delegates to multifile class members in package facade classes
(unless using -Xmultifile-package-facades option)
2015-09-23 17:41:13 +03:00
Dmitry Petrov 5cdbdfc2cc - Annotate package facades with java.lang.Deprecated.
- Provide KotlinDelegatedMethod annotation on package facade members.
2015-09-23 17:41:12 +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 dcb84a7d0a Make annotations-modifiers private and fix some lost usages
It's needed to prevent usages of them as real annotation/type.
But we can't remove them, because currently some modifiers
are artificially resolved as annotations of those classes.
2015-09-23 12:18:12 +03:00
Denis Zharkov 4a993f517e Drop tailRecursive and it's usage 2015-09-23 12:18:12 +03:00
Denis Zharkov 098f5462eb Drop inlineOptions and fix forgotten usages 2015-09-23 12:18:12 +03:00
Denis Zharkov d937a7cefc Generate field for const-val with same visibility as desciptor
Also add test checking that constant static final fields generated for them
2015-09-23 08:20:57 +03:00
Denis Zharkov afd4e644a3 Report warning on usages of non-const vals in places where constants expected 2015-09-23 08:20:57 +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 98dd08109d Serialize/Deserialize const modifier 2015-09-23 08:20:56 +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
Denis Zharkov 02b64ce1ed Parse const as soft modifier keyword 2015-09-23 08:20:56 +03:00
Michael Nedzelsky e86bf03e76 fix tests (internal -> public) 2015-09-23 07:49:29 +03:00
Dmitry Jemerov 4ca434da54 remove support for 'trait' keyword 2015-09-22 15:00:24 +02:00
Alexey Sedunov b4efe33efa IDEA 142.4859.6: Update LineNumberTestGenerated test data (due to IDEA's ASM upgrade to 5.0.4 which supports multiline labels) 2015-09-21 18:07:46 +03:00
Dmitry Petrov 39e0b3ab92 fix testData related to JvmName retention 2015-09-21 17:33:06 +03:00
Mikhail Glukhikh ad302fcfba "field": control of accessor parameter name shadowing, test 2015-09-21 15:48:08 +03:00