Denis Zharkov
80bf7316c7
Add 'preserveSource' parameter to methods making substitution copies
2015-10-29 18:41:51 +03:00
Denis Zharkov
ce34550c42
Introduce and implement SimpleFunctionDescriptor.createRenamedCopy
2015-10-29 18:41:50 +03:00
Alexander Udalov
d29757d927
Make upper bounds of type parameter a list instead of a set
...
The same for lower bounds, also refactor type parameter implementations
2015-10-28 19:11:56 +03:00
Alexander Udalov
8a89662ea5
Remove FqNameBase, simplify FqName and FqNameUnsafe
2015-10-28 19:11:53 +03:00
Mikhail Glukhikh
f8a70302ac
Cleanup: get rid of effective visibility warnings
2015-10-28 14:31:51 +03:00
Dmitry Jemerov
d6a3870101
rename Kt to Kotlin in KtType, KtIcons
2015-10-20 16:23:31 +02:00
Dmitry Jemerov
49033e0002
rename Jet* classes to Kt*
2015-10-19 21:35:30 +02:00
Alexey Tsvetkov
c50aab6a75
Add modifier flags to descriptors
2015-10-19 20:45:01 +03:00
Alexey Tsvetkov
ea40f8af92
Serialize flags
2015-10-19 20:45:01 +03:00
Alexey Tsvetkov
8d22aabd9f
Add flags
2015-10-19 20:45:01 +03:00
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