Commit Graph

24442 Commits

Author SHA1 Message Date
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
Ilya Ryzhenkov 28df61b6f1 Support ordinary Java invariant Iterable<T> in component container. 2015-07-29 17:09:40 +03:00
Ilya Ryzhenkov e12e67468f Distinguish implicit components in dump 2015-07-29 17:09:39 +03:00
Mikhail Glukhikh 41500c916b java Retention + Repeatable = kotlin.annotation.annotation (but java Repeatable is still intact), a few tests 2015-07-29 16:28:36 +03:00
Mikhail Glukhikh 10ba9c7264 Repeatable test renamed 2015-07-29 16:28:33 +03:00
Mikhail Glukhikh a072550931 Class is an annotation iff it is annotated by kotlin.annotation.annotation, or is kotlin.annotation.annotation itself.
JetClassOrObject.isAnnotation() is no more in use during resolve. Additional test.
2015-07-29 16:28:26 +03:00
Alexey Sedunov d71217eb5c Pull Up: Rewrite some classes to Java to allow compilation against both Java 6 and Java 8 2015-07-29 16:21:29 +03:00
Michael Nedzelsky e9d7bbf493 fix KT-8648 Exception from incremental compilation
#KT-8648 Fixed
2015-07-29 15:14:45 +03:00
Mikhail Glukhikh 00eaec766d Function name fixed in AnnotationConverter 2015-07-29 11:37:16 +03:00
Mikhail Glukhikh b657713f1c JavaAnnotationMapper code cleanup (imports) 2015-07-29 11:36:24 +03:00
Mikhail Glukhikh 8a61441be9 AnnotationChecker code cleanup (property access syntax, imports) 2015-07-29 11:35:40 +03:00
Mikhail Glukhikh 39b29068cb Refactoring: AnnotationTargetChecker --> AnnotationChecker 2015-07-29 11:33:33 +03:00