Commit Graph

179 Commits

Author SHA1 Message Date
Evgeny Gerashchenko aeade9e68d Regenerated default protobuf. 2014-02-13 20:46:28 +04:00
Alexander Udalov 1107ae9a11 Revert hack for annotations on built-ins
This reverts commit 5cae5c0338
2014-01-31 16:46:18 +04:00
Andrey Breslav 210827b1d5 ExceptionUtils rewritten in Kotlin 2014-01-30 21:03:53 +04:00
Alexander Udalov 5cae5c0338 Don't fail on annotated built-ins
Unit.VALUE is annotated right now (with "suppress"), so deserialization was
throwing an exception from AnnotationDeserializer.UNSUPPORTED. Return empty
collections of annotations instead; here we use the fact that it's the only
annotation in built-ins and its presence is useless to the type checker
2014-01-27 18:33:49 +04:00
Alexander Udalov db9d0e381b Rework BuiltInsSerializer
BuiltInsSerializer will be distributed with Kotlin compiler from now on. This
will allow to serialize binary data of built-ins on 'ant dist', as opposed to
storing all *.kotlin_class files in the repository: ant dist will just invoke
this serializer from bootstrap-compiler.jar
2014-01-22 19:11:43 +04:00
Andrey Breslav 2ac0853225 Make room for laziness in the Annotations interface 2014-01-22 19:04:42 +04:00
Andrey Breslav 6ce0b9b919 Annotations used instead of List<AnnotationDescriptor> 2014-01-20 16:17:54 +04:00
Evgeny Gerashchenko 292f0e4a38 Introduced lazy type and some related optimizations. 2014-01-16 20:34:10 +04:00
Andrey Breslav 0155bf0189 Fix for KT-4413 Do not add error types to supertype lists
The list is not filtered upon creation because it would force lazy types to compute

#KT-4413 Fixed
2014-01-16 20:05:12 +04:00
Nikolay Krasko 72d3b46fc6 Revert "Add method for getting all classifiers with given name from the scope"
This reverts commit 97759f5bb7.
2014-01-15 22:01:04 +04:00
Nikolay Krasko 97759f5bb7 Add method for getting all classifiers with given name from the scope 2014-01-15 16:03:50 +04:00
Evgeny Gerashchenko 2189fce64b Renamed class. 2014-01-14 18:05:57 +04:00
Evgeny Gerashchenko e3743ace4f Added validation that all non-trait classes have at least one supertype.
Fixed it for some class objects.
2013-12-23 15:56:07 +04:00
Evgeny Gerashchenko ec5d41a10e Added clarifying comments in toString() 2013-12-19 21:48:39 +04:00
Evgeny Gerashchenko 17cf488cc6 Removed redundant tests for loading builtins. 2013-12-17 20:29:00 +04:00
Evgeny Gerashchenko 1bbe9b0bd4 Removed DescriptorFinder.findPackage. 2013-12-17 20:28:47 +04:00
Evgeny Gerashchenko 7abe6a5b4a Big refactoring. Migrating to package views and fragments. 2013-12-17 19:18:33 +04:00
Alexander Udalov 969d81b43b Drop deprecated INLINE flag from binary format 2013-12-02 19:56:16 +04:00
Alexander Udalov dcedbed7e1 Minor, inline DescriptorUtils.getEnumEntriesScope 2013-12-02 19:56:15 +04:00
Alexander Udalov ba693d3e38 Delete nested_object_name from binary format
It's useless now: nested objects are stored along with classes
2013-12-02 19:56:12 +04:00
Alexander Udalov 4526d96186 Delete JetScope.getObjectDescriptor() 2013-12-02 19:56:11 +04:00
Alexander Udalov 550df37056 Delete JetScope.getObjectDescriptors() 2013-12-02 19:56:11 +04:00
Alexander Udalov cb6c98d4d6 Delete OBJECT_PROPERTY kind from binary format
We never create properties for objects anymore, except enum entries of Java
enums. Delete PropertyDescriptorForObjectImpl and its usages
2013-12-02 19:56:08 +04:00
Alexander Udalov dd290bbeb9 Create classes when deserializing enum entries 2013-12-02 19:56:07 +04:00
Alexander Udalov dd6cfcdc78 Resolve enum entries similar to objects in TypeHierarchyResolver 2013-12-02 19:56:04 +04:00
Alexander Udalov c04f63e157 Change object deserialization strategy
Objects now have synthetic class objects in deserialization as well. "Class"
proto message now can have a synthetic class object proto within, if it's not
contained in any external class file, which is the case with objects. Drop
"class_object_present" field from binary format, since its value is equivalent
to the presence of "class_object" field
2013-12-02 19:55:21 +04:00
Alexander Udalov 008e5f0b13 Don't serialize default primary constructors
Drop "Callable primary_constructor" field, because it requires serializer to
serialize the fact that a class has a primary constructor. Default primary
constructors for objects etc. may not be serialized, because they can be
re-created trivially when they're loaded. There are three options: a class
doesn't have a primary constructor, a class has a default primary constructor,
a class has a custom primary constructor. This explains the change in
descriptors.proto
2013-12-02 19:52:44 +04:00
Mikhael Bogdanov ceda72e0ca Deserialization of function descriptors via DesirializedSimpleFunctionDescriptor 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov 9037449313 Inline flag calculation through inline annotation 2013-11-26 12:53:07 +04:00
Mikhael Bogdanov fd4816aa36 Inline flag marked deprecated 2013-11-26 12:53:07 +04:00
Andrey Breslav 4ac7afbb9f Module annotations-ext removed. Annotations are moved to runtime 2013-11-21 20:47:48 +04:00
Alexander Udalov c7d5819ef2 Pull up getThisAsReceiverParameter() 2013-11-21 19:34:51 +04:00
Alexander Udalov a77d6a006d Cleanup ClassDescriptorImpl & ErrorClassDescriptor
ClassDescriptorImpl now extends ClassDescriptorBase and reuses most of its
functionality. ErrorClassDescriptor now is initialized in its own constructor.
Inline trivial arguments everywhere
2013-11-21 19:34:51 +04:00
Alexander Udalov 62068bf741 Pull up getUnsubstitutedInnerClassesScope() 2013-11-21 19:34:50 +04:00
Alexander Udalov e9f102f3e6 Pull up getClassObjectType() 2013-11-21 19:34:50 +04:00
Alexander Udalov 97f2d568a3 Use StorageManager in AbstractClassDescriptor to create a lazy value 2013-11-21 19:34:50 +04:00
Alexander Udalov 2c6bf6171f Rename ClassKind.isObject -> isSingleton
"isObject" gives a false impression that this is a check if the kind is OBJECT
2013-11-21 19:34:50 +04:00
Andrey Breslav d9444fea09 printScopeStructure() introduced for debugging 2013-11-21 13:07:38 +04:00
Andrey Breslav 0c2e1fb806 @NotNull annotations on descriptor classes 2013-11-21 13:07:34 +04:00
Alexander Udalov e8089cc461 Synthetic class object of enum should always be public
#KT-2834 Fixed
2013-11-18 19:46:01 +04:00
Alexander Udalov 69ed375ce1 Extract SpecialNames utility class 2013-11-14 19:11:19 +04:00
Alexander Udalov dd50438c78 Deserialize annotations on property setter parameters 2013-10-22 23:08:34 +04:00
Alexander Udalov 938a906bcd Deserialize annotations on value parameters of functions 2013-10-22 23:08:33 +04:00
Alexander Udalov 4105455179 Serialize value parameter indices on JVM
This will help to load annotations on value parameters
2013-10-22 23:08:33 +04:00
Andrey Breslav 51d54661a1 Common logic extracted from lazy type implementations 2013-10-17 18:15:52 +04:00
Andrey Breslav 3960426698 TypeProjection interface extracted 2013-10-17 18:15:51 +04:00
Svetlana Isakova 95c5e7ee23 rename: isSealed -> isFinal 2013-10-16 20:41:24 +04:00
Alexander Udalov 6e45533065 Deserialize constructors of static nested classes correctly
Similar to what is done in TopDownAnalyzer
 #KT-4081 Fixed
2013-10-15 21:03:52 +04:00
Andrey Breslav 0765e89b19 Weakly retained memoized functions moved out of util.runtime 2013-10-05 16:59:57 +04:00
Andrey Breslav 239ca9728d StorageManager API does not use Computable and Function and more 2013-10-05 16:59:57 +04:00