Alexey Tsvetkov
264bd5235b
Add isData() to ClassDescriptor
2015-10-19 20:45:00 +03:00
Alexey Tsvetkov
1414fe1699
Add IS_DATA flag
2015-10-19 20:44:59 +03:00
Mikhail Glukhikh
cae0388a57
Code cleanup: data deprecations and some effective visibility stuff
2015-10-19 15:24:22 +03:00
Svetlana Isakova
25b40455ad
Serialize/deserialize annotations on type parameters
2015-10-16 21:58:47 +03:00
Svetlana Isakova
b7e2604bf2
Rename DeserializedTypeParameterDescriptor .java -> .kt
2015-10-16 21:58:47 +03:00
Alexander Udalov
4c21142648
Store type parameter names sometimes instead of ids
...
This helps to reuse instances of types when TypeTable is enabled in cases when
a file or a class contains a lot of functions with type parameters with the
same name (like Maps.kt in the stdlib with "Map<K, V>")
2015-10-15 18:25:40 +03:00
Alexander Udalov
82d2e623d3
Support a more optimized way of storing types in metadata
...
Together with almost every type now there's also an id which references a type
from a separate table. Storing such ids instead of Type messages will allow to
reduce the size of the metadata for files where types are used many times over
and over again. Currently only deserialization of such types is supported,
along with the former mechanism
2015-10-15 18:25:39 +03:00
Dmitry Petrov
8cd624a58a
Drop package facades: code cleanup in Kotlin project.
2015-10-15 10:33:47 +03:00
Yan Zhulanow
bc3d1ddda0
Remove old 'get' delegate convention in interfaces
2015-10-14 01:29:09 +03:00
Alexander Udalov
3506a9615e
Don't write default values of flags, provide sensible defaults
2015-10-11 17:10:28 +03:00
Alexander Udalov
e58677b8fe
Do not fail on unknown visibilities, modalities, etc in deserialization
...
Provide some sensible defaults like "private", "final", "class" instead, which
will give us a small possibility to not break the format if a new
modality/visibility/... is introduced in the case when the old compiler may
safely consider it as the default one
2015-10-11 17:10:28 +03:00
Alexander Udalov
2e10d21e3f
Minor, rename LATE_INIT -> IS_LATEINIT, INNER -> IS_INNER
2015-10-11 17:10:27 +03:00
Alexander Udalov
e4efa27b76
Drop Callable and primary/secondary constructor proto messages
2015-10-11 17:10:26 +03:00
Alexander Udalov
a44f74ea20
Load new proto messages for constructors
2015-10-11 17:10:24 +03:00
Alexander Udalov
9bf0502a31
Load new proto messages for functions and properties
2015-10-11 17:10:24 +03:00
Yan Zhulanow
1f2b4e20fe
Replace get() and set() to getValue() and setValue() (property delegates)
2015-10-09 22:49:16 +03:00
Michael Bogdanov
53ced57c42
Annotations.EMPTY replaced with Annotations.Companion.getEMPTY() in java classes
2015-10-09 16:25:15 +03:00
Denis Zharkov
521e958f6d
Serialize type annotations in builtins
2015-10-09 14:40:33 +03:00
Yan Zhulanow
937d1913b8
Automatically put 'operator' modifier on appropriate Java methods
2015-10-08 18:31:07 +03:00
Alexander Udalov
e1ccb92438
Write built-in extensions to new protobuf messages
2015-10-03 00:59:34 +03:00
Alexander Udalov
8c0a86617a
Write JVM signatures to new protobuf messages
2015-10-03 00:59:33 +03:00
Alexander Udalov
4f21caecc4
Simplify AnnotationAndConstantLoader, use NameResolver from ProtoContainer
2015-10-03 00:59:32 +03:00
Alexander Udalov
3a7a48a079
Minor, add nameResolver to ProtoContainer
2015-10-03 00:59:32 +03:00
Alexander Udalov
ad735cd788
Split ProtoBuf.Callable to three messages: constructor, function, property
...
Serialize both at the moment, will drop the old one after bootstrap
2015-10-03 00:59:30 +03:00
Alexander Udalov
e4090d3f30
Cleanup descriptors.proto, regenerate
...
- move enums and messages nested in Callable to top level, since they're likely
to be reused in other messages soon
- delete obsolete comments: some did not any value, some became obsolete with
custom options ("id in StringTable" -> name_id_in_table)
2015-10-02 20:30:55 +03:00
Pavel V. Talanov
d5624708fb
Add "java.io.Serializable" as supertype to java builtIns mapped to classes that are serializable on jvm
...
Implementation is hacky, relies on adding fictional supertype to corresponding classes
2015-10-01 17:53:16 +03:00
Pavel V. Talanov
0ae842a05d
'descriptors' module exports 'deserialization', not the other way around
...
Also remove some of redundantly specified dependencies
2015-10-01 17:53:13 +03:00
Yan Zhulanow
32e2a550b4
'infix' modifier
2015-09-30 04:03:27 +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
89fe54c951
Remove NameResolver#getFqName, replace with getClassId
2015-09-29 16:26:26 +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
Yan Zhulanow
bc727a170b
Add 'operator' keyword
2015-09-23 21:25:51 +03:00
Denis Zharkov
98dd08109d
Serialize/Deserialize const modifier
2015-09-23 08:20:56 +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
Alexander Udalov
4ca8a51234
Move Interner from deserialization to util
...
This class is not used in core and should not end up in kotlin-reflect.jar
2015-09-22 18:22:59 +03:00
Alexander Udalov
e52a9b9fb8
Rename ClassDataProvider -> ClassDataWithSource
2015-09-22 18:22:58 +03:00
Alexander Udalov
0ef705f073
Minor, convert ClassData and PackageData to Kotlin data classes
2015-09-22 18:22:57 +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
Alexander Udalov
a0fb1a18e3
Minor, delete useless methods from NameResolver
2015-09-22 18:22:54 +03:00
Michael Nedzelsky
a8e1c1f7d3
move Interner.java to deserialization module
2015-09-19 00:13:55 +03:00
Michael Nedzelsky
be875d797f
descriptors.proto: add skip_in_comparison option for (prepared to retire) constructor field in Class message
2015-09-19 00:13:51 +03:00
Stanislav Erokhin
377f752837
Minor. Moved deserialized util functions from top-level to object
2015-09-18 21:00:15 +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
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
Alexander Udalov
6cecc66d10
Improve ABI version from one number to "major.minor.patch"
2015-09-11 19:28:46 +03:00
Michael Bogdanov
466b535ba9
Get rid of DeserializedNewPackageMemberScope.kt
2015-09-07 16:29:13 +03:00