Michael Bogdanov
7fe71d21f3
Initialize class companion object fields on accessing its java class
2015-10-09 16:25:16 +03:00
Michael Bogdanov
60d1736b97
Instance field generation in objects
2015-10-09 16:25:16 +03:00
Michael Bogdanov
12afbffb09
Copy to interface just companion object public const properties
2015-10-09 16:25:15 +03:00
Michael Bogdanov
a9aa2bc147
Interface companion object backing fields become static
2015-10-09 16:25:14 +03:00
Zalim Bashorov
e9b138557b
Report error when try to access to static field which come from many sources
2015-10-09 15:00:59 +03:00
Denis Zharkov
14f93a88c4
Adjust rendered collections desciptors to contains* transformation
2015-10-09 14:40:34 +03:00
Denis Zharkov
e9cd9db2a7
Adjust testData after contains transformation
2015-10-09 14:40:34 +03:00
Denis Zharkov
35783f129b
Generate INSTANCEOF barrier in bridges for Collection.contains
2015-10-09 14:40:33 +03:00
Denis Zharkov
80da320c2c
Customize JVM signature for Collection's members
...
- Do not write signature for `contains`
- Write signature for `containsAll` as it's declared like `containsAll(Collection<?>)`
2015-10-09 14:40:33 +03:00
Denis Zharkov
1f52dfccdb
Setup specific loading contains/containsAll from java
...
If they override Kotlin collection members
contains(Object) -> contains(E)
containsAll(Collection<?>) -> containsAll(Collection<E>)
2015-10-09 14:40:33 +03:00
Denis Zharkov
d27d3950fb
Refine signature for Collection.contains/containsAll
2015-10-09 14:40:33 +03:00
Denis Zharkov
e800be18c6
Introduce UnsafeVariance annotation
2015-10-09 14:40:33 +03:00
Michael Bogdanov
7cdc3d8dd9
Fix test data
2015-10-09 13:03:01 +03:00
Dmitry Jemerov
7e2c2ef678
restore compilation after rebase of dropping external annotations; fix affected tests
2015-10-09 11:52:02 +02:00
Alexander Udalov
448b3f6195
Rename testData/codegen/boxWithStdlib/{jdkAnnotations -> jdk}
2015-10-09 11:51:58 +02:00
Alexander Udalov
13c54a2678
Drop external annotations support in build tools
...
External annotations will only be considered in the IDE for additional
inspections based on more precise types in Java libraries
2015-10-09 11:51:58 +02:00
Svetlana Isakova
f2efd30a5d
Added 'NoInfer' and 'Exact' annotations
2015-10-09 11:05:52 +03:00
Svetlana Isakova
9b1030de2e
Annotations on type projection belong to type reference
2015-10-09 11:05:52 +03:00
Zalim Bashorov
c8f54b3ccb
Fix the accessing to static field from Parent through Child
2015-10-08 19:33:29 +03:00
Zalim Bashorov
ae2831338b
Load Java static members from parents
2015-10-08 19:33:29 +03:00
Yan Zhulanow
d90585624f
Add 'DeprecationLevel' parameter to 'Deprecated'
2015-10-08 18:31:08 +03:00
Yan Zhulanow
fd3c28c950
Forbid Foo<T>.Bar
2015-10-08 18:31:07 +03:00
Yan Zhulanow
937d1913b8
Automatically put 'operator' modifier on appropriate Java methods
2015-10-08 18:31:07 +03:00
Yan Zhulanow
2c848b8bb0
Add JvmSynthetic annotation
2015-10-08 18:31:06 +03:00
Yan Zhulanow
9eeb89a6aa
Rename sparam to setparam
2015-10-08 18:31:06 +03:00
Yan Zhulanow
e85d76f9cc
Parse ;; as a single token
2015-10-08 18:31:05 +03:00
Yan Zhulanow
8d5cbeeab0
Fix "not initialized" on lateinit property (KT-9369)
2015-10-08 18:31:05 +03:00
Yan Zhulanow
aa573c2e31
Report more specific error on primitive type property (KT-9358)
2015-10-08 18:31:04 +03:00
Yan Zhulanow
e6c0d4692a
Fix operator warning on 'Constr()()'
2015-10-08 18:31:04 +03:00
Dmitry Jemerov
45d1129dbb
quickfix to move type constraint to 'where' clause
2015-10-08 17:09:58 +02:00
Dmitry Jemerov
4c4030dfc1
disallow putting type parameter constraints both in type parameter list and in 'where' clause
2015-10-08 17:09:57 +02:00
Dmitry Petrov
51225d3556
Test for KT-9430: proper visibility of protected members of base class
...
in child classes
2015-10-08 18:08:52 +03:00
Ilya Gorbunov
43a74e575e
Fix testData/codegen: replace deprecated sort usages.
2015-10-07 22:36:43 +03:00
Yan Zhulanow
c39327dd74
Fix tests for 'infix'
2015-10-07 21:56:07 +03:00
Mikhail Glukhikh
0cc861f00b
Exposed visibility checking, a set of exposed visibility tests, some test fixes
...
Effective visibility mechanism introduced.
Local is considered as public, java protected as Kotlin protected, java package private as Kotlin private.
2015-10-07 20:15:16 +03:00
Michael Bogdanov
264d7da450
PACKAGE_VISIBILITY normalization chaged to PROTECTED
2015-10-07 18:10:55 +03:00
Michael Bogdanov
882f6113dc
Initial internal member mangling
2015-10-07 18:10:54 +03:00
Yan Zhulanow
1b01e7a85a
Fix tests ('infix')
2015-10-07 15:50:23 +03:00
Yan Zhulanow
7e8674c6ee
Fix resolve (members/extensions with 'infix' has higher priority)
2015-10-07 15:49:50 +03:00
Yan Zhulanow
1238e93b9f
Diagnostics on 'infix' (declaration&use site)
2015-10-07 15:49:28 +03:00
Mikhail Glukhikh
fff434d377
data + open / inner / abstract / sealed are now forbidden
2015-10-07 15:13:14 +03:00
Mikhail Glukhikh
7331eec817
override is forbidden inside annotations
2015-10-07 11:57:41 +03:00
Mikhail Glukhikh
c07f0e9602
private / internal / protected are forbidden in annotations
2015-10-07 11:57:39 +03:00
Mikhail Glukhikh
cba6870f52
protected & internal are now forbidden in interfaces
2015-10-07 11:57:14 +03:00
Mikhail Glukhikh
846d7cac69
protected is deprecated inside objects and forbidden inside annotations and enum entries
2015-10-07 10:21:11 +03:00
Denis Zharkov
6a1566a6dc
Make JVM backend work with Collection.size as val
...
0. Such properties are called special because their accessor JVM name differs from usual one
1. When making call to such property, always choose special name
2. When generating Kotlin class inheriting such property generate `final bridge int size() { return this.getSize(); }`
3. If there is no `size` declaration in current class generate `bridge int getSize() { // super-call }`
2015-10-07 08:46:35 +03:00
Denis Zharkov
252c82abe3
Generate bridges for FAKE_OVERRIDE properties
...
The same way it's done for function, just call generateBridges for accessors
#KT-9442 Fixed
2015-10-07 08:46:34 +03:00
Denis Zharkov
c21d827326
Adjust various testData to size transformation
2015-10-07 08:46:34 +03:00
Denis Zharkov
547aa2cda6
Load special java methods as properites
...
Currently only those that override special builtin properties (e.g. `Collection.size`)
Their modality is defined by method's modality
2015-10-06 23:56:17 +03:00
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