Alexander Udalov
b8a97bf192
Minor, fix typo
2013-12-03 18:59:52 +04:00
Alexander Udalov
d6e1af645f
Upgrade ABI version after objects refactoring
2013-12-02 19:56:17 +04:00
Alexander Udalov
310a70bf84
Report a separate diagnostic on inheritance from singletons
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
8549cbb510
Minor, make field final
2013-12-02 19:56:15 +04:00
Alexander Udalov
92cdb0b6e7
Fix imports from objects
...
This almost reverts 345ecbf , since now properties are no longer created for
objects
2013-12-02 19:56:13 +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
9e6cc829fb
Delete WritableScopeImpl.addObjectDescriptor()
2013-12-02 19:56:10 +04:00
Alexander Udalov
c6cfeec6fc
Delete VariableDescriptorForObject
2013-12-02 19:56:09 +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
5a4cc1e2fe
Put enum entries into enum class in JDR
2013-12-02 19:56:07 +04:00
Alexander Udalov
60e7722a82
Enum entries are put into enum class, not its class object
2013-12-02 19:56:06 +04:00
Alexander Udalov
a5d6d6719c
EnumValue now has a ClassDescriptor for its enum entry
2013-12-02 19:56:06 +04:00
Alexander Udalov
83ef095093
Change enum entry resolution strategy in JDR
...
Enum entry is now resolved into a class with a class object, which inherits
from the former class, as in the other parts of the compiler. Create a special
class EnumEntrySyntheticClassDescriptor which will be reused in deserialization
later
2013-12-02 19:56:06 +04:00
Alexander Udalov
bf1ea5fb01
Drop NamespaceLikeBuilder.addObjectDescriptor
2013-12-02 19:56:05 +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
26bd1ff189
Change object resolution strategy in lazy resolve
2013-12-02 19:55:20 +04:00
Alexander Udalov
6c74b10f6c
Change object resolution strategy in TypeHierarchyResolver
...
Instead of creating a synthetic property descriptor for objects, create a
synthetic class object in it and make it inherit from the object. This way all
of object's members will be accessible via its class object
2013-12-02 19:55:20 +04:00
Alexander Udalov
18c59d5495
Treat anonymous objects as classes (ClassKind.CLASS)
...
They're not objects per se, i.e. they're not singletons
2013-12-02 19:55:19 +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
8533fd64ff
Compiler inline on/off flag
2013-12-02 18:30:42 +04:00
Mikhael Bogdanov
c89c465fec
Diagnostics for wrong inlinable usage
2013-12-02 18:28:24 +04:00
Mikhael Bogdanov
e7cc7d92c2
Make ReceiverParameterDescriptorImpl extends CallableDescriptor
2013-11-29 16:27:30 +04:00
Mikhael Bogdanov
9037449313
Inline flag calculation through inline annotation
2013-11-26 12:53:07 +04:00
Mikhael Bogdanov
868f4841be
Inline keyword removal
2013-11-26 12:53:06 +04:00
svtk
1a34dffb1f
Fixed inference in a simple case.
...
Try number lower bounds before upper bounds when computing a value.
2013-11-22 18:58:01 +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
223bf11de6
Minor, NamedMembers.toString()
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
345ecbf4c0
Never import object descriptors, for they may overwrite corresponding vals
2013-11-21 13:07:39 +04:00
Andrey Breslav
0fa70b7e47
Move utility method to DescriptorUtils and make it more general
2013-11-21 13:07:38 +04:00
Andrey Breslav
d9444fea09
printScopeStructure() introduced for debugging
2013-11-21 13:07:38 +04:00
Andrey Breslav
083644ea43
Support parameter annotations. Fix class path and test data
2013-11-21 13:07:36 +04:00
Andrey Breslav
ef2ae0f398
Consider packages equal if their fqNames are equal
2013-11-21 13:07:36 +04:00
Andrey Breslav
9e446373e3
Old JDR and test data fixed
2013-11-21 13:07:35 +04:00
Andrey Breslav
11c8d0785b
Extra information in assertion message
2013-11-21 13:07:35 +04:00
Andrey Breslav
814311075d
Assertion message
2013-11-21 13:07:35 +04:00
Andrey Breslav
ba8bcb2e9a
Better diagnostics + basic recursion detection in memoized functions
2013-11-21 13:07:34 +04:00
Andrey Breslav
4aadf6e802
Storage manager framework uses Kotlin iterfaces
2013-11-21 13:07:34 +04:00
Andrey Breslav
0c2e1fb806
@NotNull annotations on descriptor classes
2013-11-21 13:07:34 +04:00
Andrey Breslav
6dde064791
Collections in interfaces marked @ReadOnly
2013-11-21 13:07:34 +04:00
Andrey Breslav
bfbb200ba8
Only render exact function types in special syntax
2013-11-21 13:05:39 +04:00