Commit Graph

24420 Commits

Author SHA1 Message Date
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
Alexey Sedunov c11f1807bc Rename: ClassKind.TRAIT -> ClassKind.INTERFACE 2015-07-28 23:24:23 +03:00
Alexey Sedunov 5bc2a4b14c Create From Usage: Do not keep semantic information in quickfix instances directly as it leads to memory leaks 2015-07-28 23:24:22 +03:00
Valentin Kipyatkov 9d84e4b60a Fixed EA-70681 2015-07-28 22:39:32 +03:00
Valentin Kipyatkov 8f940b07fb Fixed EA-70733 2015-07-28 22:39:32 +03:00
Valentin Kipyatkov 4355b3ed00 Fixed EA-70940 2015-07-28 22:39:32 +03:00
Valentin Kipyatkov eb03c5a6d0 Fixed exception 2015-07-28 22:39:32 +03:00
Valentin Kipyatkov bccaf6b340 Moved and renamed DescriptorClassMember 2015-07-28 22:39:32 +03:00
Valentin Kipyatkov 63dc843c71 KT-8542 Override dialog: only one class from hierarchy is shown
#KT-8542 Fixed
2015-07-28 22:39:31 +03:00
Valentin Kipyatkov 29379c061a Code improvements 2015-07-28 22:39:31 +03:00
Valentin Kipyatkov a2b759ef78 More proper package name 2015-07-28 22:39:30 +03:00
Valentin Kipyatkov 421a764eb9 Converted to Kotlin 2015-07-28 22:39:30 +03:00
Valentin Kipyatkov e98ce30333 Moved OverrideMethodsHandler 2015-07-28 22:39:30 +03:00
Valentin Kipyatkov 977bf593e0 KT-8574 'Convert to block body' inserts spurious < token
#KT-8574 Fixed
2015-07-28 22:39:29 +03:00
Valentin Kipyatkov e09fadae51 KT-8623 Completion get in the way when function as declared
#KT-8623 Fixed
2015-07-28 22:39:29 +03:00
Michael Nedzelsky 2e18b3de9d prepare to retire Type.Constructor message in descriptors.proto after M13 2015-07-28 19:49:00 +03:00
Michael Nedzelsky b3659486d9 IncrementalCacheImpl: do not recompile other files if all changes are private 2015-07-28 19:48:56 +03:00
Michael Nedzelsky 75f178fec2 JvmProtoBufUtil: add readClassDataFrom(data: ByteArray) 2015-07-28 19:48:54 +03:00
Michael Nedzelsky 62f6cc7f0b add tests for incremental compilation when only private part changed 2015-07-28 19:48:51 +03:00
Michael Nedzelsky 2f304c0d99 add GenerateProtoBufCompare 2015-07-28 19:48:48 +03:00
Michael Nedzelsky 459eed7d28 introduce custom options for messages in proto files 2015-07-28 19:48:44 +03:00
Michael Nedzelsky f91f957703 add a copy of descriptor.proto file from protobuf installation 2015-07-28 19:48:41 +03:00
Michael Nedzelsky ef8381f8af two optional fields have been added to Type.Constructor message in descriptors.proto in preparation to remove field which requires double interpetation 2015-07-28 19:48:37 +03:00