Commit Graph

11476 Commits

Author SHA1 Message Date
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