Commit Graph

11446 Commits

Author SHA1 Message Date
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
Andrey Breslav 76e01fa552 Less verbose, type-safe implementation of Flags 2013-08-23 17:39:00 +04:00
Andrey Breslav 4f12a3d86e Stub support for annotations 2013-08-23 17:38:59 +04:00
Andrey Breslav 557fdfcd56 Testing builtins' serialization 2013-08-23 17:38:59 +04:00
Andrey Breslav af415d160f Allow rendering Any in all positions and using Function0 etc instead of "() -> ..." 2013-08-23 17:38:59 +04:00
Andrey Breslav 5b8d41cc36 Utilities 2013-08-23 17:38:59 +04:00
Andrey Breslav 7fb5316a3a Dependency on ClassResolver moved to TypeDeserializer 2013-08-23 17:38:58 +04:00
Andrey Breslav 0c49940356 Dependency on ClassResolver moved to TypeDeserializer 2013-08-23 17:38:58 +04:00
Andrey Breslav b38c5b9d08 Outer classes are properly computed 2013-08-23 17:38:58 +04:00
Andrey Breslav b536b3961e getName()/getFqName() -> asString() 2013-08-23 17:38:58 +04:00
Andrey Breslav 1026a63778 Using "object" for fqNames of class objects 2013-08-23 17:38:58 +04:00
Andrey Breslav b90522b223 Namer added to abstract over naming conventions on different platforms 2013-08-23 17:38:57 +04:00
Andrey Breslav 347e2c27aa Using FqNameUnsafe for relative class names 2013-08-23 17:38:57 +04:00
Andrey Breslav 699d5acd36 toString() for deserialized classes 2013-08-23 17:38:57 +04:00
Andrey Breslav 7f2f3a60a7 Object descriptors added 2013-08-23 17:38:57 +04:00
Andrey Breslav c397a84040 Support deserializing special names 2013-08-23 17:38:56 +04:00
Andrey Breslav d04865cea3 Using ClassId instead of FqName 2013-08-23 17:38:56 +04:00
Andrey Breslav bb27d5c283 Class resolution simplified (effectively dead code eliminated) 2013-08-23 17:38:56 +04:00
Andrey Breslav 930217c877 Interner fixed: looks item up in parent first 2013-08-23 17:38:56 +04:00
Andrey Breslav 6481bb658f Do not skip names of error classes 2013-08-23 17:38:56 +04:00
Andrey Breslav 655db3ca44 Value parameters flags supported 2013-08-23 17:38:55 +04:00