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