Commit Graph

162 Commits

Author SHA1 Message Date
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
Andrey Breslav 7d1c46ed2c Getting rid of Computable and Function in lazy values and memoized functions 2013-10-05 16:59:56 +04:00
Andrey Breslav f3cd83c744 All storage-related code moved to util.runtime 2013-10-03 15:49:18 +04:00
Alexander Udalov f7db95f63c Minor refactoring in DeserializedClassDescriptor 2013-09-30 22:43:18 +04:00
Alexander Udalov a97bb80216 Serialize FQ names of Kotlin classes
This helps to avoid a nasty hack with loading inner Kotlin classes in JDR,
which makes it a bit easier to 'lazify' JDR, since now the container of a
Kotlin class is no longer required to be resolved eagerly before resolution of
the class itself
2013-09-30 22:43:18 +04:00
Alexander Udalov a16db2c773 Regenerate ProtoBuf files 2013-09-30 22:43:17 +04:00
Alexander Udalov 91cbe3e239 Move ClassSerializationUtil to 'compiler-tests' module
It's not used in 'serialization'
2013-09-30 22:43:17 +04:00
Andrey Breslav 0d84565570 name and containingDeclaration pulled up 2013-09-26 09:05:00 -07:00
Andrey Breslav 6bed3cdc59 getOriginal() pulled up 2013-09-26 09:04:59 -07:00
Andrey Breslav 2954af1b12 Unused method getPropertyByFieldReference() removed from JetScope and its implementations 2013-09-24 06:54:26 -07:00
Alexander Udalov 6f5cd974a3 Remove unneeded dependencies on 'frontend'
Move the two needed in 'descriptor.loader.java' classes to 'descriptors'
2013-09-20 18:02:13 +04:00
Alexander Udalov 5b03178820 Remove dependency of 'serialization' on 'frontend' 2013-09-18 18:45:35 +04:00
Alexander Udalov 5119afae52 Extract 'descriptors' module 2013-09-18 18:45:34 +04:00
Alexander Udalov 3504246983 Move AbstractLazyTypeParameterDescriptor to descriptors/impl/ 2013-09-18 17:21:12 +04:00
Alexander Udalov 8e59e789dc Extract util.runtime module out of util
Cleanup module dependencies: a lot of modules depended on 'frontend.java' just
to use something from 'util' module, exported by 'frontend.java', whereas they
really need nothing from 'frontend.java'. Also 'frontend.java' just exported
'util', not using anything from it.

Create a new 'util.runtime' module, which will be available at runtime. Make
'util' export 'util.runtime' and make all modules who needed these utils depend
on 'util' directly instead of 'frontend.java'
2013-09-18 17:21:11 +04:00
Alexander Udalov e8b10b3e4d Delete ErrorUtils.isError(TypeConstructor) 2013-09-18 16:46:07 +04:00
Alexander Udalov b7f1e61be9 Add JetType.isError()
Instead of ErrorUtils.isErrorType() which does several instanceof checks anyway
2013-09-18 16:41:48 +04:00
Alexander Udalov 8400d2b8cf Refactor OverridingUtil.resolveUnknownVisibilities
Get rid of dependency on BindingTrace, move the corresponding error reporting
logic to OverrideResolver
2013-09-18 16:40:35 +04:00