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
Andrey Breslav
14058f7aed
Any and Nothing have no supertypes
2013-08-23 17:39:02 +04:00
Andrey Breslav
d1d52086d7
Do not add pre-loaded built-ins when serializing
2013-08-23 17:39:02 +04:00
Andrey Breslav
c04ecbc1cb
Writing all built-in class names into a separate file
2013-08-23 17:39:02 +04:00
Andrey Breslav
de1f114b27
Deterministic order of descriptors preserves name indexing for different serializer runs
2013-08-23 17:39:01 +04:00
Andrey Breslav
696b627cf4
Saving name table into a separate file
2013-08-23 17:39:01 +04:00
Andrey Breslav
0b65b8c4d3
(Circular) dependency between frontend and serialization
2013-08-23 17:39:01 +04:00
Andrey Breslav
2446d0d003
Common functionality for (de)serializing built-ons moved to a separate class
2013-08-23 17:39:00 +04:00
Andrey Breslav
df57ce5a7f
Allow names to be loaded individually for each class
2013-08-23 17:39:00 +04:00
Andrey Breslav
bcab329195
Serializing builtins as individual files
2013-08-23 17:39:00 +04:00
Andrey Breslav
47d1633252
Support creating a new serializer for each class
2013-08-23 17:39:00 +04:00