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
Denis Zharkov
676ca86ea4
Deprecate escaped modifiers and unescaped annotations
2015-09-08 12:11:30 +03:00
Denis Zharkov
fc447e2d2f
Parse some builtin annotations as modifiers
...
But still resolve them as annotations.
Mostly it's needed as begin of migration path, one day they become modifiers anyway
Some tests are dropped because they supposed that `annotation` should have parameter
2015-09-08 08:53:35 +03:00
Svetlana Isakova
fe34d1673e
Exception 'Base expression was not processed: function literal' fixed
2015-09-07 17:05:40 +03:00
Svetlana Isakova
4f28a0a9a1
KT-8879 Stackoverflow exception on completion from inference
...
#KT-8879 Fixed
Added ConstraintContext storing 'derivedFrom' variables.
This information is used to prevent infinite recursion:
if a variable was substituted in a type of a bound, it shouldn't be substituted there for the second time.
2015-09-07 17:05:39 +03:00
Yan Zhulanow
e3967b9fa0
Diagnostic on lateinit
2015-09-05 00:54:19 +03:00
Michael Nedzelsky
a59f14eede
warning for access to private top-level declarations from another file
2015-09-04 15:35:28 +03:00
Michael Nedzelsky
3a4dfc5241
remove requirements for explicit return type for public members
2015-09-03 18:23:04 +03:00