Alexander Udalov
5db2ecd1fc
Regenerate built-ins serialized data
...
After changes to protobuf binary format
2013-08-23 17:39:14 +04:00
Alexander Udalov
034a13350d
Create enum entries for deserialized enum classes
2013-08-23 17:39:13 +04:00
Pavel V. Talanov
934be3bef5
Fix serialization of root namespace
2013-08-23 17:39:13 +04:00
Alexander Udalov
c69a5aba25
Serialize/deserialize enum entries in enum classes
2013-08-23 17:39:13 +04:00
Pavel V. Talanov
7522250d51
Check that descriptors loaded from compiled kotlin are indeed deserialized descriptors
2013-08-23 17:39:13 +04:00
Pavel V. Talanov
04e9e953c3
Initial version of deserialization of compiled kotlin classes
...
Annotations are not supported
2013-08-23 17:39:12 +04:00
Alexander Udalov
83501c3722
KotlinInfo now has only one parameter data
...
Name table is now also stored in data, before the serialized class.
ClassData is now public, since it's used in plenty of places as a holder of
deserialized protobuf classes.
2013-08-23 17:39:12 +04:00
Alexander Udalov
4e0516472d
Minor, reuse existing namer for built-ins
2013-08-23 17:39:12 +04:00
Alexander Udalov
007f3325fb
Serialize property setter parameter names
2013-08-23 17:39:12 +04:00
Alexander Udalov
b4ac02b175
Adapt to protobuf style guide
...
Identifiers consisting of multiple words should be separated by an underscore,
repeated field names should be singular
2013-08-23 17:39:11 +04:00
Alexander Udalov
bdb7c1eb45
Fix property setters serialization, hasGetter->hasSetter
2013-08-23 17:39:11 +04:00
Alexander Udalov
cc02ba7ab4
Don't load KotlinInfo annotation in resolve.java
2013-08-23 17:39:11 +04:00
Alexander Udalov
2841238567
Don't serialize non-serializable types
...
If there's a private property in a class which has a type of some local
class/object, write its type as jet.Any (otherwise there's no obvious way to
construct a FQ name of such type)
2013-08-23 17:39:11 +04:00
Alexander Udalov
1acc1564d9
Add KotlinInfo annotation, serialize classes to bytecode
2013-08-23 17:39:11 +04:00
Alexander Udalov
fed14f4fbf
Move getBuiltInsDirUrl() out of KotlinBuiltIns
2013-08-23 17:39:10 +04:00
Pavel V. Talanov
1161685fee
Move builtin class sources(*.jet) under IDEA module (should be removed completely later)
...
Change marker filename which is used to find those sources via getResource
2013-08-23 17:39:10 +04:00
Alexander Udalov
06496ea3ed
Deserialized type's hashCode() should compute everything
2013-08-23 17:39:10 +04:00
Andrey Breslav
6f466b70b0
Built-ins rely on storage manager
2013-08-23 17:39:10 +04:00
Andrey Breslav
113c5994e8
Deserialized types rely on storage manager
2013-08-23 17:39:09 +04:00
Andrey Breslav
d8e2034c71
Deserializers use storage manager
2013-08-23 17:39:09 +04:00
Andrey Breslav
48435531ea
Deserialized scopes rely on storage manager
2013-08-23 17:39:09 +04:00
Andrey Breslav
8ff99b9fe7
Class descriptors rely on StorageManager
2013-08-23 17:39:09 +04:00
Andrey Breslav
f527fe251c
Replace a mutable map with a memoized function
...
(Premature optimization removed: trove's map replaced by something that will be boxing primitives)
2013-08-23 17:39:08 +04:00
Andrey Breslav
867adcc167
Getting rid of mutable state in TypeDeserializer
2013-08-23 17:39:08 +04:00
Andrey Breslav
e960247936
Useless class IndexedSymbolTable removed
2013-08-23 17:39:08 +04:00
Andrey Breslav
fd3f2d93be
Using lazy type parameter descriptors
2013-08-23 17:39:08 +04:00
Andrey Breslav
37707e51a2
Refactoring: type parameters are explicitly built on the call site, not in the constructor
2013-08-23 17:39:08 +04:00
Andrey Breslav
077cd62e1b
Base class extracted
2013-08-23 17:39:07 +04:00
Andrey Breslav
962092cfae
Rename Namer -> DescriptorNamer & Move it to the top level
2013-08-23 17:39:07 +04:00
Andrey Breslav
c0707628e8
DeserializedType uses lazy values
2013-08-23 17:39:07 +04:00
Andrey Breslav
d219b72e40
DeserializedType is a named class now
2013-08-23 17:39:07 +04:00
Andrey Breslav
c4052e1286
@ThreadSafe annotation to mark classes that must be thread-safe
2013-08-23 17:39:07 +04:00
Andrey Breslav
25a5025c58
Built-ins can now be initialized on demand
2013-08-23 17:39:06 +04:00
Andrey Breslav
30daf0aded
Support property accessors
2013-08-23 17:39:06 +04:00
Andrey Breslav
093d664ae1
Extract method
2013-08-23 17:39:06 +04:00
Andrey Breslav
8d110e4a30
Properly memoize classes in tests
2013-08-23 17:39:05 +04:00
Andrey Breslav
a861ac0c10
Debug names for type deserializaers
2013-08-23 17:39:05 +04:00
Andrey Breslav
5492c8875e
Proper names for class objects upon serialization of built-ins
2013-08-23 17:39:05 +04:00
Andrey Breslav
3ebd7d4e1d
Validate built-ins before serializing
2013-08-23 17:39:05 +04:00
Andrey Breslav
c44d26e73a
Serialization of error types is not supported
2013-08-23 17:39:05 +04:00
Andrey Breslav
1d7fd47a51
Compile/Jar serialization-related code in build.xml
2013-08-23 17:39:04 +04:00
Andrey Breslav
a95bbb0f1d
equals() and hashCode() for lazy types in built-ins
2013-08-23 17:39:04 +04:00
Andrey Breslav
7eed913e48
Deserialize constructor return type
2013-08-23 17:39:04 +04:00
Andrey Breslav
2aa0afd199
Support inner classes scopes in deserialized classes
2013-08-23 17:39:04 +04:00
Andrey Breslav
b7966179f5
Deserialize built-ins
2013-08-23 17:39:04 +04:00
Alexander Udalov
defbf705fc
Revert "Don't memoize exceptions in built-ins resolve session"
...
This reverts commit 450d6cad3b . It's no longer
needed since there's no resolve session in built-ins anymore
2013-08-23 17:39:03 +04:00
Andrey Breslav
1fe9b58181
Implicit receivers hierarchy for deserialized classes
2013-08-23 17:39:03 +04:00
Andrey Breslav
ae9950d88d
Deserialize expected this objects
2013-08-23 17:39:03 +04:00
Andrey Breslav
ece3684622
Lazy receiver parameter descriptor: to avoid eager computation of default types
2013-08-23 17:39:03 +04:00
Andrey Breslav
bceb469294
Formatting
2013-08-23 17:39:02 +04:00