Mikhail Glukhikh
4c03aaabd4
Implicit nothing / intersection types are now checked also for member functions #KT-11666 Fixed
2016-03-31 11:59:17 +03:00
Alexander Udalov
6924d883eb
Support reflection calls to multifile class members
...
#KT-11447 Fixed
2016-03-28 21:11:14 +03:00
Alexander Udalov
eef3631b8a
Improve toString() for lambdas and function expressions
...
#KT-9952 Fixed
2016-03-09 10:49:26 +03:00
Alexander Udalov
dc085c45b7
Improve exception on creating KClass for classes which are not classes in Kotlin
2016-03-03 16:08:18 +03:00
Alexander Udalov
ae14d185eb
Support setters for Java-method-based properties in reflection
...
Also heuristically support the corner case of multiple properties with the same
name and signature in a Java class, see the comment in
KDeclarationContainerImpl
#KT-11258 Fixed
2016-03-03 16:08:18 +03:00
Alexander Udalov
14b1a3a048
Don't fail on requesting members of Java collection classes
...
RuntimeTypeMapper assumed that JavaPropertyDescriptor was necessarily backed by
JavaField, which has changed when we started to load Java method (or a pair of
methods) overriding a Kotlin property as a property, not as a method. Another
example of this situation is special built-in properties which are mapped to
Java methods, e.g. java.util.Collection#size() <-> kotlin.Collection#size. This
change adds support for the case of a property backed by a JavaMethod.
Note that callable references or usage of any reflection API related to
built-in members is not supported anyway and will currently fail with errors
#KT-11258 Fixed
2016-03-03 16:08:18 +03:00
Alexander Udalov
371051b1d6
Filter out package members from other facades in KPackageImpl
...
#KT-10690 Fixed
2016-03-03 16:08:18 +03:00
Alexander Udalov
1c0bbcd72b
Fix KProperty.javaField for fake overrides
...
#KT-8131 Fixed
2016-03-03 16:08:18 +03:00
Alexander Udalov
e849792712
Minor, add KCallableImpl#container
2016-03-02 19:01:10 +03:00
Alexander Udalov
1a5a077bd6
Replace map + filterNotNull -> mapNotNull in project
2016-02-20 19:05:30 +03:00
Pavel V. Talanov
1800e5a7db
Remove some usages of Name.guess (and rename this utility to discourage new usages)
2016-02-15 13:32:42 +03:00
Alexander Udalov
ba80e8ba81
Use kotlin.Metadata instead of old annotations in IDE, reflection and tests
2016-02-06 15:53:55 +05:30
Alexander Udalov
2a5b4d2c83
Fix annotations on Java elements in reflection
...
#KT-10840 Fixed
2016-01-28 21:48:16 +03:00
Michael Bogdanov
829978a37d
Added additional parameter for default methods
2016-01-22 10:10:32 +03:00
Alexander Udalov
9620893fa4
Drop synthetic class kind Function, drop Metadata#xi
2016-01-19 18:39:59 +03:00
Alexander Udalov
a4daa08e5c
Write module name as proto extension instead of another annotation argument
2016-01-19 18:39:59 +03:00
Alexander Udalov
7906ac63b5
Read Metadata annotation, support option to ignore old annotations
2016-01-19 18:39:59 +03:00
Dmitry Jemerov
3870bd04b8
core: cleanup 'public', property access syntax
2016-01-07 18:03:09 +01:00
Alexander Udalov
890c961383
Fix reflection internal error on enum nested classes query
...
#KT-10520 Fixed
2015-12-28 16:40:34 +03:00
Alexander Udalov
3513a64351
Move utilities about companion property fields to JvmAbi
...
To reuse that logic in reflection
2015-12-25 20:16:18 +03:00
Alexander Udalov
dc6a176282
Drop old JVM binary format extensions: static in outer, impl class name
2015-12-25 20:16:18 +03:00
Alexander Udalov
03606c13aa
Introduce PackagePartSource to store part class name in deserialized descriptors
...
Not used at the moment, will be in the following commits
2015-12-23 16:45:26 +03:00
Alexander Udalov
a9476dfe37
Replace 'kotlin-runtime' in module dependencies with 'util'
2015-12-21 18:46:08 +03:00
Alexander Udalov
dc84445e2e
Inherit KProperty interfaces from function types
...
To be able to write the following: listOfStrings.map(String::length)
2015-12-16 19:48:28 +03:00
Ilya Gorbunov
5aff07561d
Move jvm annotations and class mapping intrinsics to runtime.jvm module to kotlin.jvm package.
...
Make annotationClass to be a property.
Deprecate with error javaClass property on KClass<T>
2015-12-14 03:51:07 +03:00
Dmitry Jemerov
e97e82d119
use terms "lambda expression" and "anonymous function" instead of "function literal" and "function expression"
2015-12-09 13:55:40 +01:00
Alexander Udalov
9a01c0d9cb
Test that no delegated properties are used in critical classes in reflection
2015-12-08 22:59:00 +03:00
Alexander Udalov
8594cfca46
Remove kotlin.jvm.internal.KotlinPackage and corresponding code
2015-11-27 21:22:04 +03:00
Alexander Udalov
ad6888dac6
Drop KPackage and deprecated stuff from Reflection/ReflectionFactory
2015-11-27 21:22:04 +03:00
Alexander Udalov
6367e5e133
Fix deadlock on static initializers of KProperty implementations
...
#KT-10041 Fixed
2015-11-19 02:57:27 +03:00
Alexander Udalov
596a74d288
Code cleanup in reflection.jvm, generator scripts
2015-11-09 22:24:41 +03:00
Alexander Udalov
1576160390
Improve implementation of callable reference superclasses
...
Previously to use reflection on them, you had to wrap an already created object
with a "Reflection.function" or "Reflection.propertyN" call, which the JVM
back-end was doing. This was not optimal in several senses and current solution
fixes that
2015-11-09 22:24:40 +03:00
Alexander Udalov
7d32524754
Do not fail with type cast when not needed in reflection.jvm
2015-11-09 22:24:40 +03:00
Alexander Udalov
baa28de865
Add factory methods to create class references with internal names
...
Will be used in future versions to support references to mapped mutable
collections
2015-11-09 22:24:39 +03:00
Stanislav Erokhin
2c3f58eeb7
Renamed methods in MemberScope from getSmth to getContributedSmth
2015-11-05 14:34:00 +03:00
Stanislav Erokhin
6f9d9759ce
Renamed KtScope to MemberScope
2015-11-05 14:34:00 +03:00
Stanislav Erokhin
0b5de434fa
Removed usages KtScope.getAllDescriptors
2015-11-04 12:41:34 +03:00
Dmitry Jemerov
736b496f6a
drop deprecated @platformName and @platformStatic annotations
2015-11-02 17:00:44 +01:00
Mikhail Glukhikh
f8a70302ac
Cleanup: get rid of effective visibility warnings
2015-10-28 14:31:51 +03:00
Alexander Udalov
b8b98b4eaa
Support get/set on KProperty objects for delegated properties
2015-10-26 21:02:35 +03:00
Alexander Udalov
f2a37b4150
Minor, move KProperty for property references to separate file
2015-10-26 21:02:35 +03:00
Dmitry Jemerov
d6a3870101
rename Kt to Kotlin in KtType, KtIcons
2015-10-20 16:23:31 +02:00
Dmitry Jemerov
49033e0002
rename Jet* classes to Kt*
2015-10-19 21:35:30 +02:00
Alexander Udalov
a501878d60
Workaround circular dependency of KProperty1 and KClassImpl
...
This appeared after introduction of KProperty in delegated property convention
methods. If a KProperty1 instance is created while constructing a KClassImpl
instance before assigning the 'jClass' field, an NPE is thrown because the
constructor of that KProperty1 instance tries to lookup the declaring class of
the property, which in some case happens to be the exact KClassImpl we're
constructing. No test added because I was not able to reproduce the behavior in
an isolated environment
2015-10-19 15:20:20 +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
Dmitry Petrov
8cd624a58a
Drop package facades: code cleanup in Kotlin project.
2015-10-15 10:33:47 +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
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