Got rid of constructors/initializers zoo in property descriptors
This commit is contained in:
@@ -43,7 +43,7 @@ public class AccessorForPropertyDescriptor extends PropertyDescriptorImpl {
|
|||||||
@NotNull DeclarationDescriptor containingDeclaration,
|
@NotNull DeclarationDescriptor containingDeclaration,
|
||||||
int index
|
int index
|
||||||
) {
|
) {
|
||||||
super(containingDeclaration, Annotations.EMPTY, Modality.FINAL, Visibilities.LOCAL,
|
super(null, containingDeclaration, Annotations.EMPTY, Modality.FINAL, Visibilities.LOCAL,
|
||||||
original.isVar(), Name.identifier(original.getName() + "$b$" + index),
|
original.isVar(), Name.identifier(original.getName() + "$b$" + index),
|
||||||
Kind.DECLARATION);
|
Kind.DECLARATION);
|
||||||
|
|
||||||
|
|||||||
@@ -821,7 +821,7 @@ public class DescriptorResolver {
|
|||||||
) {
|
) {
|
||||||
DeclarationDescriptor containingDeclaration = scope.getContainingDeclaration();
|
DeclarationDescriptor containingDeclaration = scope.getContainingDeclaration();
|
||||||
if (JetPsiUtil.isScriptDeclaration(variable)) {
|
if (JetPsiUtil.isScriptDeclaration(variable)) {
|
||||||
PropertyDescriptorImpl propertyDescriptor = new PropertyDescriptorImpl(
|
PropertyDescriptorImpl propertyDescriptor = PropertyDescriptorImpl.create(
|
||||||
containingDeclaration,
|
containingDeclaration,
|
||||||
annotationResolver.resolveAnnotationsWithArguments(scope, variable.getModifierList(), trace),
|
annotationResolver.resolveAnnotationsWithArguments(scope, variable.getModifierList(), trace),
|
||||||
Modality.FINAL,
|
Modality.FINAL,
|
||||||
@@ -883,7 +883,7 @@ public class DescriptorResolver {
|
|||||||
? resolveModalityFromModifiers(property, getDefaultModality(containingDeclaration, hasBody))
|
? resolveModalityFromModifiers(property, getDefaultModality(containingDeclaration, hasBody))
|
||||||
: Modality.FINAL;
|
: Modality.FINAL;
|
||||||
Visibility visibility = resolveVisibilityFromModifiers(property, getDefaultVisibility(property, containingDeclaration));
|
Visibility visibility = resolveVisibilityFromModifiers(property, getDefaultVisibility(property, containingDeclaration));
|
||||||
PropertyDescriptorImpl propertyDescriptor = new PropertyDescriptorImpl(
|
PropertyDescriptorImpl propertyDescriptor = PropertyDescriptorImpl.create(
|
||||||
containingDeclaration,
|
containingDeclaration,
|
||||||
annotationResolver.resolveAnnotationsWithoutArguments(scope, modifierList, trace),
|
annotationResolver.resolveAnnotationsWithoutArguments(scope, modifierList, trace),
|
||||||
modality,
|
modality,
|
||||||
@@ -1287,7 +1287,7 @@ public class DescriptorResolver {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PropertyDescriptorImpl propertyDescriptor = new PropertyDescriptorImpl(
|
PropertyDescriptorImpl propertyDescriptor = PropertyDescriptorImpl.create(
|
||||||
classDescriptor,
|
classDescriptor,
|
||||||
valueParameter.getAnnotations(),
|
valueParameter.getAnnotations(),
|
||||||
resolveModalityFromModifiers(parameter, Modality.FINAL),
|
resolveModalityFromModifiers(parameter, Modality.FINAL),
|
||||||
|
|||||||
+1
-1
@@ -32,6 +32,6 @@ public class JavaPropertyDescriptor extends PropertyDescriptorImpl implements Ja
|
|||||||
boolean isVar,
|
boolean isVar,
|
||||||
@NotNull Name name
|
@NotNull Name name
|
||||||
) {
|
) {
|
||||||
super(containingDeclaration, annotations, Modality.FINAL, visibility, isVar, name, Kind.DECLARATION);
|
super(null, containingDeclaration, annotations, Modality.FINAL, visibility, isVar, name, Kind.DECLARATION);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,13 +80,13 @@ public class ScriptDescriptor extends DeclarationDescriptorNonRootImpl {
|
|||||||
this.returnType = returnType;
|
this.returnType = returnType;
|
||||||
scriptCodeDescriptor.initialize(implicitReceiver, valueParameters, returnType);
|
scriptCodeDescriptor.initialize(implicitReceiver, valueParameters, returnType);
|
||||||
|
|
||||||
PropertyDescriptorImpl propertyDescriptor = new PropertyDescriptorImpl(classDescriptor,
|
PropertyDescriptorImpl propertyDescriptor = PropertyDescriptorImpl.create(classDescriptor,
|
||||||
Annotations.EMPTY,
|
Annotations.EMPTY,
|
||||||
Modality.FINAL,
|
Modality.FINAL,
|
||||||
Visibilities.PUBLIC,
|
Visibilities.PUBLIC,
|
||||||
false,
|
false,
|
||||||
Name.identifier(LAST_EXPRESSION_VALUE_FIELD_NAME),
|
Name.identifier(LAST_EXPRESSION_VALUE_FIELD_NAME),
|
||||||
CallableMemberDescriptor.Kind.DECLARATION);
|
CallableMemberDescriptor.Kind.DECLARATION);
|
||||||
propertyDescriptor.setType(
|
propertyDescriptor.setType(
|
||||||
returnType,
|
returnType,
|
||||||
Collections.<TypeParameterDescriptor>emptyList(),
|
Collections.<TypeParameterDescriptor>emptyList(),
|
||||||
@@ -164,13 +164,13 @@ public class ScriptDescriptor extends DeclarationDescriptorNonRootImpl {
|
|||||||
classDescriptor.setPrimaryConstructor(constructorDescriptor);
|
classDescriptor.setPrimaryConstructor(constructorDescriptor);
|
||||||
|
|
||||||
for (ValueParameterDescriptor parameter : valueParameters) {
|
for (ValueParameterDescriptor parameter : valueParameters) {
|
||||||
PropertyDescriptorImpl propertyDescriptor = new PropertyDescriptorImpl(classDescriptor,
|
PropertyDescriptorImpl propertyDescriptor = PropertyDescriptorImpl.create(classDescriptor,
|
||||||
Annotations.EMPTY,
|
Annotations.EMPTY,
|
||||||
Modality.FINAL,
|
Modality.FINAL,
|
||||||
Visibilities.PUBLIC,
|
Visibilities.PUBLIC,
|
||||||
false,
|
false,
|
||||||
parameter.getName(),
|
parameter.getName(),
|
||||||
CallableMemberDescriptor.Kind.DECLARATION);
|
CallableMemberDescriptor.Kind.DECLARATION);
|
||||||
propertyDescriptor.setType(
|
propertyDescriptor.setType(
|
||||||
parameter.getType(),
|
parameter.getType(),
|
||||||
Collections.<TypeParameterDescriptor>emptyList(),
|
Collections.<TypeParameterDescriptor>emptyList(),
|
||||||
|
|||||||
+2
-18
@@ -70,7 +70,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorImpl implements Pr
|
|||||||
this.kind = kind;
|
this.kind = kind;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PropertyDescriptorImpl(
|
public static PropertyDescriptorImpl create(
|
||||||
@NotNull DeclarationDescriptor containingDeclaration,
|
@NotNull DeclarationDescriptor containingDeclaration,
|
||||||
@NotNull Annotations annotations,
|
@NotNull Annotations annotations,
|
||||||
@NotNull Modality modality,
|
@NotNull Modality modality,
|
||||||
@@ -79,23 +79,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorImpl implements Pr
|
|||||||
@NotNull Name name,
|
@NotNull Name name,
|
||||||
@NotNull Kind kind
|
@NotNull Kind kind
|
||||||
) {
|
) {
|
||||||
this(null, containingDeclaration, annotations, modality, visibility, isVar, name, kind);
|
return new PropertyDescriptorImpl(null, containingDeclaration, annotations, modality, visibility, isVar, name, kind);
|
||||||
}
|
|
||||||
|
|
||||||
public PropertyDescriptorImpl(
|
|
||||||
@NotNull DeclarationDescriptor containingDeclaration,
|
|
||||||
@NotNull Annotations annotations,
|
|
||||||
@NotNull Modality modality,
|
|
||||||
@NotNull Visibility visibility,
|
|
||||||
boolean isVar,
|
|
||||||
@Nullable JetType receiverType,
|
|
||||||
@Nullable ReceiverParameterDescriptor expectedThisObject,
|
|
||||||
@NotNull Name name,
|
|
||||||
@NotNull JetType outType,
|
|
||||||
@NotNull Kind kind
|
|
||||||
) {
|
|
||||||
this(containingDeclaration, annotations, modality, visibility, isVar, name, kind);
|
|
||||||
setType(outType, Collections.<TypeParameterDescriptor>emptyList(), expectedThisObject, receiverType);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setType(
|
public void setType(
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
||||||
import org.jetbrains.jet.lang.descriptors.*;
|
import org.jetbrains.jet.lang.descriptors.*;
|
||||||
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
|
|
||||||
import org.jetbrains.jet.lang.descriptors.annotations.Annotations;
|
import org.jetbrains.jet.lang.descriptors.annotations.Annotations;
|
||||||
import org.jetbrains.jet.lang.descriptors.impl.PropertyDescriptorImpl;
|
import org.jetbrains.jet.lang.descriptors.impl.PropertyDescriptorImpl;
|
||||||
import org.jetbrains.jet.lang.descriptors.impl.TypeParameterDescriptorImpl;
|
import org.jetbrains.jet.lang.descriptors.impl.TypeParameterDescriptorImpl;
|
||||||
@@ -243,19 +242,30 @@ public class ErrorUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static final JetType ERROR_PROPERTY_TYPE = createErrorType("<ERROR PROPERTY TYPE>");
|
private static final JetType ERROR_PROPERTY_TYPE = createErrorType("<ERROR PROPERTY TYPE>");
|
||||||
private static final VariableDescriptor ERROR_PROPERTY = new PropertyDescriptorImpl(
|
private static final VariableDescriptor ERROR_PROPERTY = createErrorProperty();
|
||||||
ERROR_CLASS,
|
|
||||||
Annotations.EMPTY,
|
|
||||||
Modality.OPEN,
|
|
||||||
Visibilities.INTERNAL,
|
|
||||||
true,
|
|
||||||
null,
|
|
||||||
ReceiverParameterDescriptor.NO_RECEIVER_PARAMETER,
|
|
||||||
Name.special("<ERROR PROPERTY>"),
|
|
||||||
ERROR_PROPERTY_TYPE,
|
|
||||||
CallableMemberDescriptor.Kind.DECLARATION);
|
|
||||||
private static final Set<VariableDescriptor> ERROR_PROPERTY_GROUP = Collections.singleton(ERROR_PROPERTY);
|
private static final Set<VariableDescriptor> ERROR_PROPERTY_GROUP = Collections.singleton(ERROR_PROPERTY);
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private static PropertyDescriptorImpl createErrorProperty() {
|
||||||
|
PropertyDescriptorImpl descriptor = PropertyDescriptorImpl.create(
|
||||||
|
ERROR_CLASS,
|
||||||
|
Annotations.EMPTY,
|
||||||
|
Modality.OPEN,
|
||||||
|
Visibilities.INTERNAL,
|
||||||
|
true,
|
||||||
|
Name.special("<ERROR PROPERTY>"),
|
||||||
|
CallableMemberDescriptor.Kind.DECLARATION
|
||||||
|
);
|
||||||
|
descriptor.setType(ERROR_PROPERTY_TYPE,
|
||||||
|
Collections.<TypeParameterDescriptor>emptyList(),
|
||||||
|
ReceiverParameterDescriptor.NO_RECEIVER_PARAMETER,
|
||||||
|
(JetType) null
|
||||||
|
);
|
||||||
|
|
||||||
|
return descriptor;
|
||||||
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private static SimpleFunctionDescriptor createErrorFunction(@NotNull ErrorScope ownerScope) {
|
private static SimpleFunctionDescriptor createErrorFunction(@NotNull ErrorScope ownerScope) {
|
||||||
ErrorSimpleFunctionDescriptorImpl function = new ErrorSimpleFunctionDescriptorImpl(ownerScope);
|
ErrorSimpleFunctionDescriptorImpl function = new ErrorSimpleFunctionDescriptorImpl(ownerScope);
|
||||||
|
|||||||
Reference in New Issue
Block a user