Dmitry Petrov
9bf0211152
KT-8408 Prohibit Array<T>::class for non-reified T
2015-07-30 12:18:29 +03:00
Alexander Udalov
a0cc313156
Support class reference expression for reified type parameters
...
Also make KClass::java an intrinsic property.
Based on the work by @dnpetrov
#KT-6976 Fixed
2015-07-30 12:18:28 +03:00
Alexander Udalov
628bb774fd
Support class reference expressions without kotlin-reflect.jar in classpath
...
Currently not much you can do with them, but in the future '.java' extension
property will allow to get the Class instance from it.
Also introduce codegen tests with stdlib but without reflection in the
classpath.
Based on the work by @dnpetrov
2015-07-30 12:18:28 +03:00
Andrey Breslav
0b30758987
Specification for annotation options (initial version).
...
target, retention, repeatable, documented. 'annotation' is an annotation declared in kotlin.annotation.
'target' is also an annotation with vararg argument. All others are 'annotation' properties.
2015-07-30 12:00:27 +03:00
Dmitry Jemerov
6d1ccc22ab
reduce vertical whitespace in rendered KDoc comments
2015-07-30 10:38:16 +02:00
Dmitry Jemerov
b483713f2c
Render code blocks in KDoc
2015-07-30 10:38:15 +02:00
Dmitry Jemerov
909d094896
Fixed rendering of line breaks and apostrophes in KDoc
...
#KT-8531 Fixed
#KT-8392 Fixed
2015-07-30 10:38:14 +02:00
Natalia Ukhorskaya
ff0a064908
Debugger: Implement SourcePositionHighlighter to highlight lambda expressions during debug
2015-07-30 10:00:27 +03:00
Natalia Ukhorskaya
ad6611b930
J2K: If last expression in Method Call is Lambda add it outside the parenthesis
2015-07-30 10:00:26 +03:00
Natalia Ukhorskaya
40d2fd7994
J2K: Do not skip any unknown expression
2015-07-30 10:00:26 +03:00
Natalia Ukhorskaya
28f0866467
J2K: Convert Java8 lambdas properly
...
#KT-7149 Fixed
2015-07-30 10:00:26 +03:00
Natalia Ukhorskaya
8759601ef6
J2K: extract base class for Parameter
2015-07-30 10:00:25 +03:00
Natalia Ukhorskaya
f713e66484
Minor: move methods
2015-07-30 10:00:25 +03:00
Natalia Ukhorskaya
3ab53eb5e3
Minor: change parameters order
2015-07-30 10:00:24 +03:00
Natalia Ukhorskaya
c86b25b1dc
Make j2k depends on idea-core instead of idea-full
2015-07-30 10:00:24 +03:00
Natalia Ukhorskaya
22ee063269
Add platformStatic annotation to main method from java
...
#KT-8219 Fixed
2015-07-30 10:00:24 +03:00
Natalia Ukhorskaya
b54da25108
J2K: do not convert doc comments on WebDemo
...
#KT-7968 Fixed
2015-07-30 10:00:23 +03:00
Alexander Udalov
ae277a0ad7
Delete RemovableSlice and MutableSlicedMap.remove
2015-07-29 23:44:25 +03:00
Alexander Udalov
96ded4d5d2
Simplify slices: remove SliceWithOpposite, defaultValue, etc.
2015-07-29 23:44:24 +03:00
Alexander Udalov
9a0e322c51
Minor refactoring in Kotlin binary class resolution
2015-07-29 23:44:23 +03:00
Alexander Udalov
0d9b60dcbc
Fix "Class name must not be root" assertion + inline some utilities
...
Fix EA-60649, EA-65875; do not lookup classes with an empty name.
No test added since no steps to reproduce are known
2015-07-29 23:44:22 +03:00
Alexander Udalov
98b057f495
Don't look for classes with empty or special name in deserialized scope
...
Fix EA-59962, EA-64281, EA-65698. No new tests added because the only repro
reported as KT-8187 now fails with another (much more understandable though)
exception
#KT-8187 Open
2015-07-29 23:44:21 +03:00
Alexander Udalov
d0e21c53d4
Minor, pull 'name' up to KPropertyImpl
2015-07-29 23:44:20 +03:00
Alexander Udalov
a93484b457
Fix callable reference to member of generic class
2015-07-29 23:44:19 +03:00
Alexander Udalov
49a8c7a947
Drop BindingContext.ANNOTATION_DESCRIPTOR_TO_PSI_ELEMENT
...
Use AnnotationDescriptor.getSource() instead
2015-07-29 23:44:19 +03:00
Alexander Udalov
d0562b7b90
Add SourceElement to AnnotationDescriptor
...
Use KotlinSourceElement in the compiler for annotations resolved from PSI,
introduce ReflectAnnotationSource for reflection
2015-07-29 23:44:18 +03:00
Alexander Udalov
ef4a5e78ed
Catch IllegalAccessException in KFunction.call
...
Rename IllegalPropertyAccessException -> IllegalCallableAccessException
2015-07-29 21:36:51 +03:00
Alexander Udalov
262099c899
Fix KFunction.javaMethod for property accessors
2015-07-29 21:36:50 +03:00
Alexander Udalov
9c4ba711b8
Rename and implement KProperty.accessible -> KCallable.isAccessible
2015-07-29 21:36:49 +03:00
Alexander Udalov
8f0885ca03
Rename KClass.properties and extensionProperties: prepend 'member'
...
To better emphasize the fact that all returned properties require an instance
of the class they are declared in. Another issue was that
'Some::class.extensionProperties' was sometimes incorrectly perceived as
"get all extension properties available on the class Some"
2015-07-29 21:36:47 +03:00
Alexander Udalov
6b24cfa3e4
Deprecate val Field.kotlin due to poor name in favor of kotlinProperty
2015-07-29 21:36:47 +03:00
Alexander Udalov
7fc499df46
Support KClass.primaryConstructor
2015-07-29 21:36:46 +03:00
Alexander Udalov
699a801ce9
Add KCallable.returnType
2015-07-29 21:36:45 +03:00
Alexander Udalov
be77a2feee
Fix KCallable.call for equals/hashCode/toString
...
Other built-in functions should be supported in the same way one day
2015-07-29 21:36:44 +03:00
Alexander Udalov
681c45ef61
Refactor KFunctionImpl internals, get rid of unwrapFakeOverride
2015-07-29 21:36:44 +03:00
Alexander Udalov
4c0caad79a
Refactor RuntimeTypeMapper, introduce JVM signature classes
...
Currently only used to obtain the string identical to the one which would be
produced by JetTypeMapper.mapSignature, but soon will be used to obtain
corresponding reflection objects from classes
2015-07-29 21:36:43 +03:00
Alexander Udalov
e079b8f425
Support KCallable.call
...
#KT-2187 Fixed
2015-07-29 21:36:42 +03:00
Alexander Udalov
ffe32e0b6d
Simplify RuntimeTypeMapper, use Java reflection to get erased types
2015-07-29 21:36:42 +03:00
Alexander Udalov
936bede8b1
Support mapping between Kotlin functions and JVM methods/constructors
2015-07-29 21:36:41 +03:00
Alexander Udalov
93656c93c1
Support KPackage.members, functions and properties
2015-07-29 21:36:40 +03:00
Alexander Udalov
95be8b11f5
Don't write JetValueParameter to the bytecode
...
The class itself can't be deleted at this point because it's used in the old
bytecode and tools (e.g. proguard) will complain if they can't find it in the
new runtime
2015-07-29 21:36:39 +03:00
Alexander Udalov
6ab1c6bfb3
Add KParameter.type, KType, KType.isMarkedNullable
2015-07-29 21:36:38 +03:00
Alexander Udalov
b0db9c5b03
Fix reflection on enhanced Java methods, call getOriginal()
...
Also use the provided mechanism for binding overrides instead of a custom for
loop, because it also binds corresponding value parameters
2015-07-29 21:36:38 +03:00
Alexander Udalov
81ef1c19d8
Support KClass.constructors in reflection
2015-07-29 21:36:37 +03:00
Alexander Udalov
da5cffdb60
Support KClass.functions and declaredFunctions
2015-07-29 21:36:36 +03:00
Alexander Udalov
50dbda1e1a
Introduce KClass.members, make properties/extensionProperties extensions
...
To avoid significant growth of KClass and KPackage interfaces
2015-07-29 21:36:36 +03:00
Alexander Udalov
2492977274
Additional tests on reflection for Java methods
2015-07-29 21:36:35 +03:00
Alexander Udalov
5962b79126
Support introspection of parameter names and indices in reflection
2015-07-29 21:36:34 +03:00
Alexander Udalov
87c70aa2ae
Make Class<*>.kotlinPackage nullable
2015-07-29 21:36:33 +03:00
Pavel V. Talanov
0513994749
Minor: remove "? extends" when injecting iterable into java class
2015-07-29 17:09:41 +03:00