Commit Graph

4264 Commits

Author SHA1 Message Date
Stanislav Erokhin 2ee8f1c454 Change outer scope for nested class and object -- removed implicit outer class receiver.
#KT-5362 Fixed
#KT-8814 Fixed
2015-08-18 21:26:42 +03:00
Zalim Bashorov 8e7786817d LookupLocation.NO_LOCATION_FROM_TEST -> NoLookupLocation.FROM_TEST 2015-08-18 12:34:19 +03:00
Zalim Bashorov 69e0f23db9 Classify Location.NO_LOCATION usages 2015-08-18 12:21:31 +03:00
Evgeny Gerashchenko 50dbf080f7 Test for KT-2082 Missing 'Unused expression' warning
#KT-2082 obsolete
2015-08-15 12:29:41 +02:00
Sergey Mashkov c0078a53e6 Temporary move trimIndent implementations to tests as private members to avoid resolution ambiguity 2015-08-12 18:45:10 +03:00
Valentin Kipyatkov 468919f5d9 Fixed codegen crash on use of protected synthetic extension property 2015-08-12 18:17:09 +03:00
Dmitry Petrov b59bf6227f unqualified super: should be able to invoke methods of Any without extra hassle
when Any is an implicit immediate superclass
2015-08-12 12:14:14 +03:00
Valentin Kipyatkov e3bca3010c Fixed infinite recursion 2015-08-11 13:21:57 +03:00
Mikhail Glukhikh 3f14e74b08 Drop old enum syntax. Comma / semicolon are now a syntactic part of enum entry.
Comma must present now between enum entries, semicolon between last entry & first member, constructor calls must be without colons / specifiers.
A swarm of tests fixed accordingly.
2015-08-11 10:38:10 +03:00
Zalim Bashorov 0978e9f169 Minor: move LookupLocation to org.jetbrains.kotlin.incremental.components 2015-08-08 02:08:16 +03:00
Zalim Bashorov 2aa4c383cd UsageLocation -> LookupLocation 2015-08-08 02:08:15 +03:00
Zalim Bashorov 96696c6846 UsageCollector -> LookupTracker 2015-08-08 02:08:14 +03:00
Alexey Sedunov 7125989c69 Pull Up: Java -> Kotlin interoperability
#KT-5803 Fixed
2015-08-07 23:30:12 +03:00
Alexander Udalov d3e39812cb Support mapping of KType to j.l.reflect.Type 2015-08-07 00:55:35 +03:00
Alexander Udalov 49b689f883 Do not allow to assign null to a non-null property via reflection
This was already working for accessor-based properties because the assertions
were already generated into corresponding accessors, but for fields we must
manually check the value against null
2015-08-07 00:55:33 +03:00
Alexander Udalov 3091f2af3b Report argument number mismatch nicely on wrong 'call()' invocation
The default Java reflection message in such case is not very helpful: "wrong
number of arguments"
2015-08-07 00:55:32 +03:00
Alexander Udalov 9c522b4d49 Refactor property calls in reflection, fix some corner cases
- compute a FunctionCaller instance for getter and setter so that "call" only
  delegates to that FunctionCaller's "call", in the same way it's done in
  KFunctionImpl
- use RuntimeTypeMapper.mapPropertySignature to get the exact origin and
  signature of a property and its accessors. This makes unwrapFakeOverride call
  unnecessary and also fixes some cases like private Java fields
- temporarily drop custom range checks, will be re-added soon
2015-08-07 00:55:30 +03:00
Alexander Udalov a91729e041 Fix isAccessible for property accessors 2015-08-07 00:55:30 +03:00
Alexander Udalov 9f2feb1d27 Set failOnError = true by default in kotlinc Ant task as in javac
#KT-8742 Fixed
2015-08-06 22:38:41 +03:00
Denis Zharkov 32c23728b3 Implement raw types (de)serialization via special TypeCapabilities 2015-08-06 08:18:18 +03:00
Denis Zharkov 460c719753 Make constructor of JetTypeImpl private, introduce factory methods 2015-08-06 08:18:18 +03:00
Denis Zharkov b7c042510d Do not create redundant special variance when enhancing types
#KT-8538 Fixed
2015-08-06 08:18:17 +03:00
Denis Zharkov b2766bfb57 Add test for obsolete issue
#KT-4609 Obsolete
2015-08-06 08:18:17 +03:00
Mikhail Glukhikh 5b31560808 x?.y is now nullable even if y is Unit + three tests + codegen test fix + source code fix #KT-7936 Fixed #KT-8347 Fixed 2015-08-05 12:26:01 +03:00
Mikhail Glukhikh 45cc3c025f Mapping of JavaDoc deprecated to Kotlin Deprecated + a pair of tests 2015-08-05 12:25:39 +03:00
Valentin Kipyatkov 4c0404ea82 Changes on code review 2015-08-04 18:05:57 +03:00
Valentin Kipyatkov 9150c53832 Fixed codegen for non-public SAM-adapters 2015-08-04 18:05:57 +03:00
Valentin Kipyatkov c3064e2b0f Synthetic extensions for non-public get/set java methods 2015-08-04 18:05:56 +03:00
Valentin Kipyatkov d5f95cf126 Correct visibility for non-public SAM-adapters 2015-08-04 18:05:56 +03:00
Valentin Kipyatkov cb9ef9e1f0 Fixed nullability for return and parameter types in SAM-adapters 2015-08-04 18:05:56 +03:00
Valentin Kipyatkov 729085ec9a Iniital implementation of synthetic extensions for SAM-adapter functions (non-static only) 2015-08-04 18:05:55 +03:00
Alexander Udalov 6878453d44 Support KClass.objectInstance for objects and companion objects 2015-08-03 23:33:21 +03:00
Alexander Udalov 2eb5201575 Introduce KAnnotatedElement and val annotations: List<Annotation> 2015-08-03 23:32:23 +03:00
Alexander Udalov d1e67805fc Fix supertypes for reflected Java classes, always include j.l.Object
equals/hashCode/toString had not appeared in Java classes' "members" because of
this
2015-08-03 23:06:15 +03:00
Mikhail Glukhikh 992c019c1e Redundant modifier targets introduced (abstract / open on interface, final on enum or object) 2015-08-03 19:42:00 +03:00
Mikhail Glukhikh faac06ff7e Annotation option 'mustBeDocumented': definition, mapping from Kotlin to Java Documented and back, tests 2015-08-03 19:41:48 +03:00
Valentin Kipyatkov c2c6ba59fd Changes on code review 2015-08-03 16:28:44 +03:00
Valentin Kipyatkov 3d71610d96 Fixed parsing tests 2015-08-03 16:28:43 +03:00
Denis Zharkov 6b92f67eac Load raw types as platform with specific bounds
Raw(A<T_i>) = (A<UP(T_i)>..A<*>)
Raw types have specific scopes that behaves like JVM signature erasure
2015-07-31 17:33:21 +03:00
Denis Zharkov 0fba28a8f0 Do not retrieve parent of FQname for root
#KT-8642 Fixed
2015-07-31 17:33:20 +03:00
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
Alexander Udalov 96ded4d5d2 Simplify slices: remove SliceWithOpposite, defaultValue, etc. 2015-07-29 23:44:24 +03:00
Alexander Udalov a93484b457 Fix callable reference to member of generic class 2015-07-29 23:44:19 +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 7fc499df46 Support KClass.primaryConstructor 2015-07-29 21:36:46 +03:00
Alexander Udalov e079b8f425 Support KCallable.call
#KT-2187 Fixed
2015-07-29 21:36:42 +03:00