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