Deserialize expected this objects
This commit is contained in:
committed by
Alexander Udalov
parent
ece3684622
commit
ae9950d88d
+9
-4
@@ -17,6 +17,7 @@
|
|||||||
package org.jetbrains.jet.descriptors.serialization;
|
package org.jetbrains.jet.descriptors.serialization;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.descriptors.serialization.descriptors.AnnotationDeserializer;
|
import org.jetbrains.jet.descriptors.serialization.descriptors.AnnotationDeserializer;
|
||||||
import org.jetbrains.jet.lang.descriptors.*;
|
import org.jetbrains.jet.lang.descriptors.*;
|
||||||
import org.jetbrains.jet.lang.descriptors.Modality;
|
import org.jetbrains.jet.lang.descriptors.Modality;
|
||||||
@@ -113,8 +114,7 @@ public class DescriptorDeserializer {
|
|||||||
property.setType(
|
property.setType(
|
||||||
local.typeDeserializer.type(proto.getReturnType()),
|
local.typeDeserializer.type(proto.getReturnType()),
|
||||||
typeParameters,
|
typeParameters,
|
||||||
// TODO: expected this object
|
getExpectedThisObject(),
|
||||||
null,
|
|
||||||
local.typeDeserializer.typeOrNull(proto.hasReceiverType() ? proto.getReceiverType() : null)
|
local.typeDeserializer.typeOrNull(proto.hasReceiverType() ? proto.getReceiverType() : null)
|
||||||
);
|
);
|
||||||
return property;
|
return property;
|
||||||
@@ -133,8 +133,7 @@ public class DescriptorDeserializer {
|
|||||||
List<TypeParameterDescriptor> typeParameters = local.typeParameters(proto.getTypeParametersList());
|
List<TypeParameterDescriptor> typeParameters = local.typeParameters(proto.getTypeParametersList());
|
||||||
function.initialize(
|
function.initialize(
|
||||||
local.typeDeserializer.typeOrNull(proto.hasReceiverType() ? proto.getReceiverType() : null),
|
local.typeDeserializer.typeOrNull(proto.hasReceiverType() ? proto.getReceiverType() : null),
|
||||||
// TODO: expectedThisObject
|
getExpectedThisObject(),
|
||||||
null,
|
|
||||||
typeParameters,
|
typeParameters,
|
||||||
local.valueParameters(proto.getValueParametersList()),
|
local.valueParameters(proto.getValueParametersList()),
|
||||||
local.typeDeserializer.type(proto.getReturnType()),
|
local.typeDeserializer.type(proto.getReturnType()),
|
||||||
@@ -146,6 +145,12 @@ public class DescriptorDeserializer {
|
|||||||
return function;
|
return function;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
private ReceiverParameterDescriptor getExpectedThisObject() {
|
||||||
|
return containingDeclaration instanceof ClassDescriptor
|
||||||
|
? ((ClassDescriptor) containingDeclaration).getThisAsReceiverParameter() : null;
|
||||||
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private CallableMemberDescriptor loadConstructor(@NotNull Callable proto) {
|
private CallableMemberDescriptor loadConstructor(@NotNull Callable proto) {
|
||||||
ClassDescriptor classDescriptor = (ClassDescriptor) containingDeclaration;
|
ClassDescriptor classDescriptor = (ClassDescriptor) containingDeclaration;
|
||||||
|
|||||||
Reference in New Issue
Block a user