Commit Graph

11941 Commits

Author SHA1 Message Date
Valentin Kipyatkov d5f95cf126 Correct visibility for non-public SAM-adapters 2015-08-04 18:05:56 +03:00
Valentin Kipyatkov 2eb04db95a Extension SAM-adapters shown in completion 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
Valentin Kipyatkov 8b3870cc33 Optimization 2015-08-04 18:05:55 +03:00
Valentin Kipyatkov ece4d8b82f Added JetScope.getSyntheticExtensionFunctions() 2015-08-04 18:05:55 +03:00
Dmitry Jemerov 456cdab814 reset init time in all compiler invocations 2015-08-04 17:00:33 +02:00
Dmitry Jemerov f49ccb22ab report correct compiler init timings 2015-08-04 16:12:05 +02:00
Zalim Bashorov 7ea58bb097 Move UsageCollector.kt to descriptors module
* to fix bare plugin
* in the future it will be used in scopes declared in descriptors module
2015-08-04 15:34:29 +03:00
Mikhail Glukhikh 25cc5e1801 annotationChecker visibility corrected 2015-08-04 10:28:44 +03:00
Mikhail Glukhikh 4596edd19a 'dynamic' keyword is no longer a modifier (soft keyword only) 2015-08-04 10:28:42 +03:00
Dmitry Petrov 2275a4cb77 assert: CallResolverUtilPackage$CallResolverUtil$eba.hasUnknownReturnType
- ignore expressions with non-callable expected type resolved as callable reference expressions
(this can happen when we have incorrect code)
2015-08-04 09:41:14 +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
Alexander Udalov af9ae46f9a Minor, fix test on KParameter.index 2015-08-03 23:06:14 +03:00
Mikhail Glukhikh 61fbe0d1e8 Refactoring of repeatable on retention SOURCE check (correct additional checker usage) 2015-08-03 19:43:24 +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 d127162a6d Removed LOCAL_ENUM_NOT_ALLOWED 2015-08-03 19:41:58 +03:00
Mikhail Glukhikh a104b2c84c Dead code removed (wrong annotation target for enum) 2015-08-03 19:41:55 +03:00
Mikhail Glukhikh 722a078968 15 separate modifier diagnostics are gone now 2015-08-03 19:41:53 +03:00
Mikhail Glukhikh 4bd48c4796 Regular modifier checker implemented (initial version). A set of tests fixed accordingly.
Most of modifier diagnostic is expressed by REDUNDANT_MODIFIER, INCOMPATIBLE_MODIFIERS, REPEATED_MODIFIER, WRONG_MODIFIER_TARGET, WRONG_MODIFIER_PARENT.
A set of modifier diagnostics is not in use now (but not deleted yet).
2015-08-03 19:41:50 +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
Mikhail Glukhikh dfaed3fef3 Binary or runtime repeatable annotations are not allowed for JVM. Some tests fixed accordingly. 2015-08-03 19:41:45 +03:00
Valentin Kipyatkov f378b9bb75 Do not invalidate resolve of everything after change inside a code block 2015-08-03 17:11:12 +03:00
Valentin Kipyatkov c2c6ba59fd Changes on code review 2015-08-03 16:28:44 +03:00
Valentin Kipyatkov 397e48a11d ReferenceSearch searches references to parameters using optimized way too
#KT-8625 Fixed
2015-08-03 16:28:44 +03:00
Valentin Kipyatkov 3d71610d96 Fixed parsing tests 2015-08-03 16:28:43 +03:00
Valentin Kipyatkov 9bb2fe9a67 Optimization of parameter usages search 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 a07a1829c5 Rework TypeSubstituion, now it applies to types instead of constructors
Also introduce IndexedParametersSubstitution
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
Denis Zharkov 8b537bc6dd Minor. Get rid of raw types in upper bounds 2015-07-31 17:33:20 +03:00
Dmitry Jemerov 23dca520d5 ensure that a JetEnumEntry is equivalent to a KotlinLightEnumConstant
#KT-5057 Fixed
2015-07-30 16:36:18 +02:00
Dmitry Petrov 8b73ffd25b EA-71185 - assert: CallResolverUtilPackage$CallResolverUtil$fcfb.hasUnknownReturnType
- Accept any subclasses of KCallable<R> as "callable reflection types"
(this includes KProperty and KFunction with their subclasses).
- Provide more detailed information on the callable reference type in question in case of assertion failures.
2015-07-30 13:44:50 +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 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 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 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
Alexander Udalov 936bede8b1 Support mapping between Kotlin functions and JVM methods/constructors 2015-07-29 21:36:41 +03:00