Zalim Bashorov
79d38a6c8f
Report the error when a declaration in Kotlin accidentally overrides a static member from Java
2015-10-16 16:14:34 +03:00
Alexander Udalov
f62128bdcd
Fix protobuf extension API usages
...
"getExtension" returns default value when the requested extension is not
present, which is 0 for Int, which makes no sense for extensions like
methodImplClassName that are storing the number in the string table
2015-10-15 22:36:22 +03:00
Michael Nedzelsky
114d19e6d9
use MainFunctionDetector in order to check for main function
2015-10-15 19:24:45 +03:00
Alexander Udalov
32a9bddbf9
Increase ABI version after yet another change to binary format
2015-10-15 18:25:42 +03:00
Alexander Udalov
9eb2e16b94
Support strings directly in JVM string table
...
For small strings it may be beneficial to store them as is in the proto at one
point instead of in a class annotation, because each annotation argument in the
classfile has a constant overhead which may be significant for small strings
2015-10-15 18:25:41 +03:00
Alexander Udalov
4c21142648
Store type parameter names sometimes instead of ids
...
This helps to reuse instances of types when TypeTable is enabled in cases when
a file or a class contains a lot of functions with type parameters with the
same name (like Maps.kt in the stdlib with "Map<K, V>")
2015-10-15 18:25:40 +03:00
Alexander Udalov
82d2e623d3
Support a more optimized way of storing types in metadata
...
Together with almost every type now there's also an id which references a type
from a separate table. Storing such ids instead of Type messages will allow to
reduce the size of the metadata for files where types are used many times over
and over again. Currently only deserialization of such types is supported,
along with the former mechanism
2015-10-15 18:25:39 +03:00
Yan Zhulanow
d52f245cf7
Rename unary plus/minus in builtins and stdlib
2015-10-15 18:23:58 +03:00
Michael Nedzelsky
890ae3e914
Make single-file classes tolerant to having many main()'s
2015-10-15 15:46:26 +03:00
Dmitry Petrov
8cd624a58a
Drop package facades: code cleanup in Kotlin project.
2015-10-15 10:33:47 +03:00
Alexander Udalov
bd5f068454
Fix build after subtle change of Enum.name from function to property
2015-10-14 22:00:48 +03:00
Alexander Udalov
a6846b3967
Insert KProperty<*> when creating property delegate methods in IDE
2015-10-14 20:45:26 +03:00
Alexander Udalov
ec1b4776fe
Deprecate PropertyMetadata, use KProperty<*> for delegated properties instead
2015-10-14 20:45:25 +03:00
Alexander Udalov
3c74f48f91
Pass KProperty instances to property delegates
...
Inherit KProperty from PropertyMetadata, cache corresponding KProperty objects
instead of PropertyMetadataImpl objects, add support for properties with 2
receivers
2015-10-14 20:45:24 +03:00
Mikhail Glukhikh
4614e74e3f
isFromJavaOrBuiltins() is now public (compilation fix)
2015-10-14 20:40:34 +03:00
Mikhail Glukhikh
d4a1a469b7
Number rename: xxxValue() --> toXxx(), test
2015-10-14 20:40:21 +03:00
Mikhail Glukhikh
f8a356747e
Stdlib rename: 'name' and 'ordinal' are now properties in Enum, same name functions are deprecated
2015-10-14 20:40:13 +03:00
Mikhail Glukhikh
78cfeb0d7d
Stdlib rename: List.indexOf(T), List.lastIndexOf(T), MutableCollection.removeAll(Collection<T>), MutableCollection.retainAll(Collection<T>)
2015-10-14 20:40:09 +03:00
Denis Zharkov
9e052372e6
Make SmartSet smarter
2015-10-14 20:40:04 +03:00
Denis Zharkov
6322198a11
Revert 'isEmpty' transformation
2015-10-14 20:40:01 +03:00
Denis Zharkov
17c906658d
Transform Throwable members to properties
2015-10-14 20:39:59 +03:00
Denis Zharkov
e062e32f95
Do not load special builtin overrides from Java as synthesized
...
It has been done just to avoid clashes with real declarations that look
like our builtins: e.g. 'String removeAt(int index) {}' and 'String remove(int index) {}'in Java.
But synthesized members are even weaker than extensions.
Solution is just to ignore the latter declaration and treat first as effective override
of out builltin.
2015-10-14 20:39:51 +03:00
Denis Zharkov
6fa8083a70
Transform builtin Map declaration and adjust stdlib
2015-10-14 20:39:38 +03:00
Denis Zharkov
1305d9755a
Transform CharSequence.length to property
2015-10-14 20:39:29 +03:00
Denis Zharkov
6c0d55e4ed
Minor. Rename kotlin file and package part: builtinsPropertiesUtil -> specialBuiltinMembers
2015-10-14 20:39:27 +03:00
Denis Zharkov
0a6bf31a2c
Refactor util methods
...
Group semantically similar parts by objects
2015-10-14 20:39:24 +03:00
Alexey Tsvetkov
5449cea6b7
Make Array type parameter T non-reified
2015-10-14 18:36:53 +03:00
Mikhail Glukhikh
9c9ab671b3
Effective visibility: local is now considered private, TYPE_DEPENDS_ON_LOCAL_CLASS diagnostics removed as repeated #KT-9542 Fixed #KT-9526 Fixed
2015-10-14 18:00:10 +03:00
Mikhail Glukhikh
3a902d6002
Effective visibility: fix for internal & protected vs protected comparison #KT-9582 Fixed
2015-10-14 18:00:07 +03:00
Mikhail Glukhikh
d1c7749103
Effective visibility: messages fix
2015-10-14 18:00:05 +03:00
Michael Nedzelsky
2a97c28491
remove validation from FqName and FqNameUnsafe constructors
2015-10-14 16:56:58 +03:00
Michael Nedzelsky
cc2dfc4937
remove validation from Name.identifier
2015-10-14 16:56:55 +03:00
Yan Zhulanow
275f3f8954
'operator' checks
2015-10-14 01:29:10 +03:00
Yan Zhulanow
bc3d1ddda0
Remove old 'get' delegate convention in interfaces
2015-10-14 01:29:09 +03:00
Svetlana Isakova
075a8eaf39
Moved 'Exact' and 'NoInfer' annotations to stdlib
2015-10-13 21:42:54 +03:00
Alexander Udalov
78829b9e8f
Minor, drop some obsolete usages of TRAIT in compiler
2015-10-13 20:29:39 +03:00
Alexander Udalov
baaa3ef50a
Remove KotlinSignature annotations from project code
2015-10-13 20:29:16 +03:00
Alexander Udalov
b378969a0a
Deprecate KotlinSignature, to be removed later
2015-10-13 20:29:15 +03:00
Mikhail Glukhikh
5a16e43579
Synchronized is no more allowed on abstract functions
2015-10-13 16:37:34 +03:00
Mikhail Glukhikh
ccf0c363fa
Volatile is no more allowed on values #KT-7670 Fixed
2015-10-13 16:37:24 +03:00
Mikhail Glukhikh
8473be357f
Effective visibility: separate InternalProtected and InternalProtectedBound, messages, test change
2015-10-13 16:31:28 +03:00
Mikhail Glukhikh
4dbd7e7f69
Effective visibility: lower bounds introduced for all protected and for protected and internal #KT-9540 Fixed
2015-10-13 16:26:05 +03:00
Andrey Breslav
dbc0197a36
@HiddenDeclaration deprecated
2015-10-13 13:50:16 +03:00
Andrey Breslav
8e7f6f3c8c
Migrated from @HiddenDeclaration to @Deprecated(..., level = DeprecationLevel.HIDDEN)
2015-10-13 13:50:16 +03:00
Alexander Udalov
5f18cb8703
Rename files in reflection.jvm
...
Move KDeclarationContainer.functions to KClasses and make it accept only
KClass, since KPackage is deprecated anyway
2015-10-13 11:58:45 +03:00
Michael Bogdanov
a09c8105c4
Support reflection on top level properties
2015-10-13 11:14:33 +03:00
Michael Bogdanov
e8f9a9f3b8
Support reflection on @JvmField properties inside class companion
2015-10-13 11:14:32 +03:00
Michael Bogdanov
f4b7913dd3
sanitizeAsJavaIdentifier function moved to JvmAbi
2015-10-13 11:14:32 +03:00
Michael Bogdanov
b713328540
Fix reflection for internal properties without getter/setter
2015-10-13 10:50:10 +03:00
Andrey Breslav
1c00b933a5
@Deprecated(..., level = HIDDEN) supported
...
isAnnotatedAsHidden() moved to front-end
2015-10-13 01:44:46 +03:00