unify Property{Getter,Setter}Descriptor constructors
This commit is contained in:
@@ -241,11 +241,9 @@ public abstract class CodegenContext {
|
||||
pgd.initialize(myAccessor.getOutType());
|
||||
|
||||
PropertySetterDescriptor psd = new PropertySetterDescriptor(
|
||||
myAccessor.getModality(),
|
||||
myAccessor, Collections.<AnnotationDescriptor>emptyList(), myAccessor.getModality(),
|
||||
myAccessor.getVisibility(),
|
||||
myAccessor,
|
||||
Collections.<AnnotationDescriptor>emptyList(),
|
||||
false, false);
|
||||
false, false);
|
||||
myAccessor.initialize(pgd, psd);
|
||||
accessor = myAccessor;
|
||||
}
|
||||
|
||||
@@ -235,10 +235,8 @@ public class PropertyDescriptor extends VariableDescriptorImpl implements Callab
|
||||
newGetter.initialize(getter.getReturnType());
|
||||
}
|
||||
PropertySetterDescriptor newSetter = setter == null ? null : new PropertySetterDescriptor(
|
||||
DescriptorUtils.convertModality(setter.getModality(), makeNonAbstract), setter.getVisibility(),
|
||||
propertyDescriptor,
|
||||
Lists.newArrayList(setter.getAnnotations()),
|
||||
setter.hasBody(), setter.isDefault());
|
||||
propertyDescriptor, Lists.newArrayList(setter.getAnnotations()), DescriptorUtils.convertModality(setter.getModality(), makeNonAbstract), setter.getVisibility(),
|
||||
setter.hasBody(), setter.isDefault());
|
||||
if (newSetter != null) {
|
||||
newSetter.initialize(setter.getValueParameters().get(0).copy(newSetter));
|
||||
}
|
||||
|
||||
+7
-6
@@ -16,12 +16,13 @@ public class PropertySetterDescriptor extends PropertyAccessorDescriptor {
|
||||
|
||||
private ValueParameterDescriptor parameter;
|
||||
|
||||
public PropertySetterDescriptor(@NotNull Modality modality,
|
||||
@NotNull Visibility visibility,
|
||||
@NotNull PropertyDescriptor correspondingProperty,
|
||||
@NotNull List<AnnotationDescriptor> annotations,
|
||||
boolean hasBody,
|
||||
boolean isDefault) {
|
||||
public PropertySetterDescriptor(
|
||||
@NotNull PropertyDescriptor correspondingProperty,
|
||||
@NotNull List<AnnotationDescriptor> annotations,
|
||||
@NotNull Modality modality,
|
||||
@NotNull Visibility visibility,
|
||||
boolean hasBody,
|
||||
boolean isDefault) {
|
||||
super(modality, visibility, correspondingProperty, annotations, "set-" + correspondingProperty.getName(), hasBody, isDefault);
|
||||
if (isDefault) {
|
||||
initializeDefault();
|
||||
|
||||
@@ -649,9 +649,9 @@ public class DescriptorResolver {
|
||||
JetParameter parameter = setter.getParameter();
|
||||
|
||||
setterDescriptor = new PropertySetterDescriptor(
|
||||
resolveModalityFromModifiers(setter.getModifierList(), propertyDescriptor.getModality()),
|
||||
propertyDescriptor, annotations, resolveModalityFromModifiers(setter.getModifierList(), propertyDescriptor.getModality()),
|
||||
resolveVisibilityFromModifiers(setter.getModifierList(), propertyDescriptor.getVisibility()),
|
||||
propertyDescriptor, annotations, setter.getBodyExpression() != null, false);
|
||||
setter.getBodyExpression() != null, false);
|
||||
if (parameter != null) {
|
||||
if (parameter.isRef()) {
|
||||
// trace.getErrorHandler().genericError(parameter.getRefNode(), "Setter parameters can not be 'ref'");
|
||||
@@ -709,9 +709,9 @@ public class DescriptorResolver {
|
||||
private PropertySetterDescriptor createDefaultSetter(PropertyDescriptor propertyDescriptor) {
|
||||
PropertySetterDescriptor setterDescriptor;
|
||||
setterDescriptor = new PropertySetterDescriptor(
|
||||
propertyDescriptor.getModality(),
|
||||
propertyDescriptor, Collections.<AnnotationDescriptor>emptyList(), propertyDescriptor.getModality(),
|
||||
propertyDescriptor.getVisibility(),
|
||||
propertyDescriptor, Collections.<AnnotationDescriptor>emptyList(), false, true);
|
||||
false, true);
|
||||
return setterDescriptor;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user