Commit Graph

835 Commits

Author SHA1 Message Date
Pavel V. Talanov 424d71e964 Remove reference to KotlinBuiltIns from CompanionObjectMapping
Make it a class
2015-10-01 17:51:57 +03:00
Zalim Bashorov 94b110936e Add the ability to get containing source file from SourceElement 2015-10-01 14:37:25 +03:00
Alexander Udalov 34d14939f9 Fix build after change in property accessor names 2015-10-01 02:14:25 +03:00
Valentin Kipyatkov 5afa91d4ec Restored back temporarily renamed properties 2015-09-30 22:50:27 +03:00
Denis Zharkov a101fffd9a Change INTERFACE_IMPL_CLASS_NAME: $TImpl -> DefaultImpls 2015-09-30 08:19:51 +03:00
Denis Zharkov 27bc62bd8e Minor. Rename constants: TRAIT_IMPL* -> DEFAULT_IMPLS* 2015-09-30 08:19:50 +03:00
Yan Zhulanow 32e2a550b4 'infix' modifier 2015-09-30 04:03:27 +03:00
Valentin Kipyatkov 2d0c1cd77d Advanced ABI version after accessor naming change 2015-09-29 18:38:42 +03:00
Valentin Kipyatkov 20bddce18d No synthetic property for false get-method like "issue()" 2015-09-29 18:32:25 +03:00
Valentin Kipyatkov 069ce12604 Accessor naming should be locale-independant 2015-09-29 18:32:24 +03:00
Valentin Kipyatkov 420c6856be Changed naming algorithm of accessor name generation: "isXXX" and "kClass" cases affected 2015-09-29 18:32:24 +03:00
Valentin Kipyatkov 98da621ab3 Temporary rename of properties starting with "is" and used from java code (will revert back after changing accessor naming policy) 2015-09-29 18:32:23 +03:00
Alexander Udalov 1036506b25 Introduce new string table optimized for JVM class files
This format of the string table allows to reduce the size of the Kotlin
metadata in JVM class files by reusing constants already present in the
constant pool. Currently the string table produced by JvmStringTable is not
fully optimized in serialization (in particular, the 'substring' operation
which will be used to extract type names out of generic signature, is not used
at all), but the format and its complete support in the deserialization
(JvmNameResolver) allows future improvement without changing the binary version
2015-09-29 16:26:28 +03:00
Alexander Udalov 542bfab96f Don't write unnecessary information to ValueParameter proto
Flags can have a default value and the index can be trivially computed almost
all the time
2015-09-29 16:26:28 +03:00
Alexander Udalov 6a8d0fbd75 Introduce infrastructure to separate string table from metadata on JVM
Nothing especially helpful happens here, this is only a big refactoring
introducing a separate string array for the string table, which is currently
always empty, but will contain actual strings soon
2015-09-29 16:26:27 +03:00
Alexander Udalov 7d5bd3cf50 Simplify storage of JVM signatures in binary metadata
Store the whole method & field descriptor strings. Moving these strings to
separate annotation arguments later will allow to reuse them with the ones in
the constant pool, presumably allowing to save lots of space (up to 10%)
2015-09-29 16:26:25 +03:00
Alexander Udalov 5477570066 Extract interface out of NameResolver 2015-09-29 16:26:24 +03:00
Alexander Udalov e749bc262d Delete deprecated Type.Constructor message, advance ABI version 2015-09-29 16:26:24 +03:00
Zalim Bashorov 8cb87b3e49 private -> internal where it's necessary 2015-09-25 21:16:00 +03:00
Yan Zhulanow bc727a170b Add 'operator' keyword 2015-09-23 21:25:51 +03:00
Michael Nedzelsky 2c952dcc22 Revert "add isKotlinSourceElement method to Source interface in order to recognize kotlin source elements during compilation"
This reverts commit c342f6870a.
2015-09-23 17:45:47 +03:00
Dmitry Petrov 5cdbdfc2cc - Annotate package facades with java.lang.Deprecated.
- Provide KotlinDelegatedMethod annotation on package facade members.
2015-09-23 17:41:12 +03:00
Denis Zharkov 8d13f08271 Load static final fields of appropriate types from Java as const 2015-09-23 08:20:57 +03:00
Denis Zharkov bde58d6eb8 Introduce interface method: VariableDescriptor.isConst
And several default implementations
Also take it into account in renderer
2015-09-23 08:20:56 +03:00
Michael Nedzelsky c342f6870a add isKotlinSourceElement method to Source interface in order to recognize kotlin source elements during compilation 2015-09-23 07:49:21 +03:00
Michael Nedzelsky bcd85aa30d changes some internal modifiers to public for elements which are used outside their modules 2015-09-23 07:49:17 +03:00
Alexander Udalov e52a9b9fb8 Rename ClassDataProvider -> ClassDataWithSource 2015-09-22 18:22:58 +03:00
Alexander Udalov f9ba7f6880 Minor, inline ClassData#read & PackageData#read to single usage 2015-09-22 18:22:56 +03:00
Alexander Udalov 7cc416ed12 Minor, rename TRAIT -> INTERFACE, CLASS_OBJECT -> COMPANION_OBJECT 2015-09-22 18:22:54 +03:00
Stanislav Erokhin 5786e620e8 Minor. remove import package usages from sources 2015-09-18 21:00:16 +03:00
Denis Zharkov f518348565 Revert "Support decapitilized obsolete annotations in resolve"
This reverts commit 4159c83282.
2015-09-18 10:14:37 +03:00
Denis Zharkov 9c4564a5a6 Get rid of deprecated annotations and modifiers in project code 2015-09-18 09:34:27 +03:00
Alexander Udalov d98b3433eb Fix ABI version diagnostic for old package facades
Restore the test data that was erroneously replaced in 84649e4
2015-09-16 01:44:27 +03:00
Alexander Udalov 4bc257bd73 Minor refactoring in LazyJavaPackageScope 2015-09-16 01:44:27 +03:00
Alexander Udalov 949144e0c0 Report incomplete hierarchy error for deserialized types
#KT-5129 Fixed

Delete a JPS test that was specifically testing that we would not fail in this
situation; now there's a compilation error
2015-09-15 13:11:17 +03:00
Dmitry Petrov b63eed44fe Advance ABI version (due to stdlib binary layout changes) 2015-09-14 21:58:01 +03:00
Dmitry Petrov 1586a2df8e Make stdlib work with -Xmultifile-package-facades.
Fixed wrong owner mapping in presence of -Xmultifile-package-facades.
Fixed backing field mapping issue.
Added more tests.
2015-09-14 11:26:29 +03:00
Dmitry Petrov 838433ba8a - call multifile class members (compiling against binaries)
- inline multifile class members
HACK? scope-based part/facade resolution
2015-09-14 11:25:42 +03:00
Dmitry Petrov 50f83da6da - call multifile class members (compiling against binaries)
- inline multifile class members
2015-09-14 11:25:42 +03:00
Alexander Udalov 6cecc66d10 Improve ABI version from one number to "major.minor.patch" 2015-09-11 19:28:46 +03:00
Mikhail Glukhikh 3770e7f49f Introduction of AnnotationTarget.CLASS as a replacement for CLASSIFIER (first step) 2015-09-11 17:59:40 +03:00
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