Commit Graph

794 Commits

Author SHA1 Message Date
Dmitry Petrov cd341e957e Cleanup after review
+ stub builder test for multifile class
2015-09-09 19:08:19 +03:00
Dmitry Petrov 0c951b2ed3 Decompilation support
- class header reader for KotlinMultifileClass, KotlinMultifileClassPart
- proper implClassName for multifile class members
2015-09-09 19:08:18 +03:00
Dmitry Petrov a00346a141 MultifileClassCodegen
- initial implementation
- new Kotlin file kinds + stub builder
2015-09-09 19:08:17 +03:00
Mikhail Glukhikh aabf579454 java.lang.annotation.Documented is now special meta annotation + a few unused fields dropped 2015-09-09 14:58:44 +03:00
Michael Bogdanov 5805c42305 Write abi version to mapping file 2015-09-07 16:29:16 +03:00
Michael Bogdanov d1964f5ff2 Abi version increased 2015-09-07 16:29:16 +03:00
Michael Bogdanov 0de83b6f4c Default module name extraction 2015-09-07 16:29:15 +03:00
Michael Bogdanov b58479a169 TEST_MODULE_NAME extraction 2015-09-07 16:29:15 +03:00
Michael Bogdanov 466b535ba9 Get rid of DeserializedNewPackageMemberScope.kt 2015-09-07 16:29:13 +03:00
Michael Bogdanov bbf63aa38c lazy -> storageManager.createLazyValue 2015-09-07 16:29:12 +03:00
Michael Bogdanov 606b39698c Kotlin module name extraction 2015-09-07 16:29:11 +03:00
Michael Bogdanov 2ca9b3ae0e Code clean 2015-09-07 16:29:10 +03:00
Michael Bogdanov 13ca5faa80 Code clean 2015-09-07 16:29:06 +03:00
Michael Bogdanov f1c091e897 Serialize mappings via proto 2015-09-07 16:29:03 +03:00
Michael Bogdanov 672d25e7e0 PackagePartProvider refactoring 2015-09-07 16:29:02 +03:00
Michael Bogdanov 84649e4b26 Wrong abi test fix 2015-09-07 16:28:57 +03:00
Michael Bogdanov 9f0662468f Lazy module name propagation 2015-09-07 16:28:56 +03:00
Michael Bogdanov c274ceffe8 PackageFacadeProvider refactoring 2015-09-07 16:28:55 +03:00
Dmitry Petrov e050ff3271 Generate ex-package parts as file facades.
Support new facade kind in stub building and incremental compilation.
2015-09-07 16:28:52 +03:00
Michael Bogdanov ebb1629285 new scope and deserialization 2015-09-07 16:28:49 +03:00
Michael Bogdanov 1fcacecf93 stubs for new components 2015-09-07 16:28:48 +03:00
Michael Bogdanov 42d46853c7 Module mapping generation 2015-09-07 16:28:46 +03:00
Mikhail Glukhikh 8f7b29f80a Annotation rename: target --> @Target 2015-09-07 13:42:26 +03:00
Yan Zhulanow add13cae82 lateinit modifier on property 2015-09-05 00:54:18 +03:00
Alexander Udalov 308d24eeb4 Don't throw exceptions on unexpected annotation arguments in class file reader 2015-09-04 19:51:26 +03:00
Denis Zharkov 4159c83282 Support decapitilized obsolete annotations in resolve
Annotations like `deprecated`, `jvmStatic`, etc. has been renamed to capitilized themselves.
But we're going to support both versions.
It's hard just to leave both versions of classes as their class-files can clash
when compiled on register-independent file system.

So here is solution (temporary hack):
we just wrap JetScopes for package fragments of `kotlin.*`
to make them search both versions of annotations if their names are contained
in our hardcoded set.
2015-09-04 18:19:32 +03:00
Denis Zharkov 31244edec9 Deprecate deprecated in favor of Deprecated 2015-09-04 18:19:31 +03:00
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