Commit Graph

767 Commits

Author SHA1 Message Date
Mikhail Glukhikh 778ac7f25c annotation --> Retention / Repeatable / MustBeDocumented: converting from Java to Kotlin and back.
At this very short moment Kotlin supports both annotation(retention, repeatable, mustBeDocumented) and Retention / Repeatable / MustBeDocumented separately.
2015-09-04 12:49:36 +03:00
Mikhail Glukhikh 4e3bd10cd3 Java annotation with target "TYPE" is now applicable to Kotlin targets "CLASSIFIER" and "FILE" 2015-09-04 12:49:24 +03:00
Mikhail Glukhikh 699f1e0a70 AnnotationTarget.PACKAGE was dropped 2015-09-04 12:49:14 +03:00
Alexander Udalov df935f5bb7 Support reflection on lambdas and function expressions
Write a special annotation containing the bytes for the Callable protobuf
message and deserialize it at runtime properly

 #KT-9005 Fixed
2015-09-03 21:43:58 +03:00
Denis Zharkov 632e336782 Prohibit unsafe covariant conversion for collections invariant in Java 2015-09-02 10:39:29 +03:00
Yan Zhulanow e7703df0b6 Use a single AnnotatedCallableKind enum item for property 2015-08-31 15:33:14 +03:00
Yan Zhulanow 3624c4e5dc Use target priorities to split annotations to different descriptors 2015-08-31 15:33:05 +03:00
Yan Zhulanow 1b9dab47ec Deserialize property and field annotations 2015-08-31 15:33:03 +03:00
Yan Zhulanow 08c678ef46 Deserialize receiver parameter annotations for extension functions 2015-08-31 15:32:55 +03:00
Yan Zhulanow 2bacbc9046 Support @field: annotations 2015-08-31 15:05:02 +03:00
Alexander Udalov 408a86c761 Minor, add toString() for easier debug 2015-08-29 18:37:42 +03:00
Nikolay Krasko 4c9af37526 Can't navigate to SAM adapter function declaration (KT-8918)
#KT-8918 Fixed
2015-08-28 13:43:59 +03:00
Valentin Kipyatkov 9d7e6600d4 Got rid of allKotlinClasses() method 2015-08-27 13:34:33 +03:00
Valentin Kipyatkov 542fa34c2d KT-8680 Change priority of imported descriptors (user imports vs default imports)
#KT-8680 Fixed
2015-08-27 13:34:33 +03:00
Zalim Bashorov bdd834604a Add lacation parameter to ModuleDescriptor.resolveTopLevelClass (in DescriptorUtils.kt) 2015-08-24 19:50:09 +03:00
Zalim Bashorov 024c2761c8 Ignore lookups to parent scope for find super members 2015-08-24 19:50:07 +03:00
Zalim Bashorov 3c2762dd1d Don't track lookups for JetScope::getDescriptors (and JetScope::getAllDescriptors) 2015-08-24 19:50:05 +03:00
Pavel V. Talanov 5cc39e3fb2 GlobalJavaResolverContext -> JavaResolverComponents 2015-08-19 21:18:45 +03:00
Pavel V. Talanov da025475a8 Make TypeIntersector a component and inject it into some points of usage 2015-08-19 21:18:29 +03:00
Pavel V. Talanov f393ce598d Extract TypeIntersector from TypeUtils 2015-08-19 21:18:29 +03:00
Valentin Kipyatkov 1cfdbdea82 KT-8751 Assertion in HeuriticSignatures
#KT-8751 Fixed
2015-08-10 20:28:52 +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
Alexander Udalov 74760acf66 Parameter names of Java methods: store enum field instead of two booleans 2015-08-07 23:01:27 +03:00
Alexander Udalov fd006c521f Add capacities to some ArrayList instances in project
The changed lists were visible in the profiler memory snapshot. It's unclear
what this will save, but each of these lists was retaining at least several
megabytes of memory
2015-08-07 23:01:24 +03:00
Alexander Udalov 942ab9ef6d Make 'hasDefaultValue' an extension on ValueParameterDescriptor
To avoid storing a Boolean and a boolean. It isn't called frequently enough to
justify this wasted space for each parameter of every function out there
2015-08-07 23:01:20 +03:00
Alexey Tsvetkov 102c5f6569 Add SourceElement to LazyJavaPackageFragment 2015-08-06 19:31:07 +03:00
Alexey Tsvetkov 53eccb98e3 Save class file to deserialized descriptor 2015-08-06 19:31:06 +03:00
Alexey Tsvetkov 0688afbb0c Introduce ClassDataProvider 2015-08-06 19:31:06 +03:00
Denis Zharkov 41d4af2cb9 Implement rendering of raw types
Also add some clarification in spec
2015-08-06 08:18:18 +03:00
Denis Zharkov 51668b4cc3 Do not substitute arguments while replacing them
It prevents from creating complicated types
2015-08-06 08:18:18 +03:00
Denis Zharkov 32c23728b3 Implement raw types (de)serialization via special TypeCapabilities 2015-08-06 08:18:18 +03:00
Denis Zharkov 3593356e1a Minor. Move RawSubstitution into separate file 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 4563f4b1f9 Minor. Pull computeMemberScope to AbstractLazyType 2015-08-06 08:18:17 +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
Alexander Udalov 8556f18ed5 Rename Java scopes to reduce confusion 2015-08-05 19:01:53 +03:00
Alexander Udalov a336e9c930 Don't cache nulls for invalid names in Java resolve 2015-08-05 19:01:52 +03:00
Alexander Udalov d3d0cbde97 Refactor KotlinClassLookupResult, make it sealed 2015-08-05 19:01:51 +03:00
Mikhail Glukhikh 850580dc87 Java annotation mapper refactoring (constant names) 2015-08-05 12:25:53 +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 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
Mikhail Glukhikh faac06ff7e Annotation option 'mustBeDocumented': definition, mapping from Kotlin to Java Documented and back, tests 2015-08-03 19:41:48 +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 37420527f2 Add substitution concept into JetType
In most cases it's just a map { Parameter_i => Argument_i }
Will be used when loading Raw types from Java.

Also add ClassDescriptor.getMemberScope by substitution.
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
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