unify Property{Getter,Setter}Descriptor constructors

This commit is contained in:
Stepan Koltsov
2012-01-13 03:55:10 +04:00
parent b0dcbad365
commit 9f8c4eba4c
4 changed files with 15 additions and 18 deletions
@@ -241,11 +241,9 @@ public abstract class CodegenContext {
pgd.initialize(myAccessor.getOutType()); pgd.initialize(myAccessor.getOutType());
PropertySetterDescriptor psd = new PropertySetterDescriptor( PropertySetterDescriptor psd = new PropertySetterDescriptor(
myAccessor.getModality(), myAccessor, Collections.<AnnotationDescriptor>emptyList(), myAccessor.getModality(),
myAccessor.getVisibility(), myAccessor.getVisibility(),
myAccessor, false, false);
Collections.<AnnotationDescriptor>emptyList(),
false, false);
myAccessor.initialize(pgd, psd); myAccessor.initialize(pgd, psd);
accessor = myAccessor; accessor = myAccessor;
} }
@@ -235,10 +235,8 @@ public class PropertyDescriptor extends VariableDescriptorImpl implements Callab
newGetter.initialize(getter.getReturnType()); newGetter.initialize(getter.getReturnType());
} }
PropertySetterDescriptor newSetter = setter == null ? null : new PropertySetterDescriptor( PropertySetterDescriptor newSetter = setter == null ? null : new PropertySetterDescriptor(
DescriptorUtils.convertModality(setter.getModality(), makeNonAbstract), setter.getVisibility(), propertyDescriptor, Lists.newArrayList(setter.getAnnotations()), DescriptorUtils.convertModality(setter.getModality(), makeNonAbstract), setter.getVisibility(),
propertyDescriptor, setter.hasBody(), setter.isDefault());
Lists.newArrayList(setter.getAnnotations()),
setter.hasBody(), setter.isDefault());
if (newSetter != null) { if (newSetter != null) {
newSetter.initialize(setter.getValueParameters().get(0).copy(newSetter)); newSetter.initialize(setter.getValueParameters().get(0).copy(newSetter));
} }
@@ -16,12 +16,13 @@ public class PropertySetterDescriptor extends PropertyAccessorDescriptor {
private ValueParameterDescriptor parameter; private ValueParameterDescriptor parameter;
public PropertySetterDescriptor(@NotNull Modality modality, public PropertySetterDescriptor(
@NotNull Visibility visibility, @NotNull PropertyDescriptor correspondingProperty,
@NotNull PropertyDescriptor correspondingProperty, @NotNull List<AnnotationDescriptor> annotations,
@NotNull List<AnnotationDescriptor> annotations, @NotNull Modality modality,
boolean hasBody, @NotNull Visibility visibility,
boolean isDefault) { boolean hasBody,
boolean isDefault) {
super(modality, visibility, correspondingProperty, annotations, "set-" + correspondingProperty.getName(), hasBody, isDefault); super(modality, visibility, correspondingProperty, annotations, "set-" + correspondingProperty.getName(), hasBody, isDefault);
if (isDefault) { if (isDefault) {
initializeDefault(); initializeDefault();
@@ -649,9 +649,9 @@ public class DescriptorResolver {
JetParameter parameter = setter.getParameter(); JetParameter parameter = setter.getParameter();
setterDescriptor = new PropertySetterDescriptor( setterDescriptor = new PropertySetterDescriptor(
resolveModalityFromModifiers(setter.getModifierList(), propertyDescriptor.getModality()), propertyDescriptor, annotations, resolveModalityFromModifiers(setter.getModifierList(), propertyDescriptor.getModality()),
resolveVisibilityFromModifiers(setter.getModifierList(), propertyDescriptor.getVisibility()), resolveVisibilityFromModifiers(setter.getModifierList(), propertyDescriptor.getVisibility()),
propertyDescriptor, annotations, setter.getBodyExpression() != null, false); setter.getBodyExpression() != null, false);
if (parameter != null) { if (parameter != null) {
if (parameter.isRef()) { if (parameter.isRef()) {
// trace.getErrorHandler().genericError(parameter.getRefNode(), "Setter parameters can not be 'ref'"); // trace.getErrorHandler().genericError(parameter.getRefNode(), "Setter parameters can not be 'ref'");
@@ -709,9 +709,9 @@ public class DescriptorResolver {
private PropertySetterDescriptor createDefaultSetter(PropertyDescriptor propertyDescriptor) { private PropertySetterDescriptor createDefaultSetter(PropertyDescriptor propertyDescriptor) {
PropertySetterDescriptor setterDescriptor; PropertySetterDescriptor setterDescriptor;
setterDescriptor = new PropertySetterDescriptor( setterDescriptor = new PropertySetterDescriptor(
propertyDescriptor.getModality(), propertyDescriptor, Collections.<AnnotationDescriptor>emptyList(), propertyDescriptor.getModality(),
propertyDescriptor.getVisibility(), propertyDescriptor.getVisibility(),
propertyDescriptor, Collections.<AnnotationDescriptor>emptyList(), false, true); false, true);
return setterDescriptor; return setterDescriptor;
} }