Fix for previous incorrect solution of PropertyGetter(Setter)Descriptor getOriginal() problem.

This commit is contained in:
Pavel V. Talanov
2012-07-19 20:39:33 +04:00
parent bf503e9a4b
commit 36184ded3b
@@ -243,14 +243,14 @@ public class PropertyDescriptor extends VariableDescriptorImpl implements Callab
PropertyGetterDescriptor newGetter = getter == null ? null : new PropertyGetterDescriptor( PropertyGetterDescriptor newGetter = getter == null ? null : new PropertyGetterDescriptor(
substitutedDescriptor, Lists.newArrayList(getter.getAnnotations()), substitutedDescriptor, Lists.newArrayList(getter.getAnnotations()),
DescriptorUtils.convertModality(getter.getModality(), false), getter.getVisibility(), DescriptorUtils.convertModality(getter.getModality(), false), getter.getVisibility(),
getter.hasBody(), getter.isDefault(), kind, getter); getter.hasBody(), getter.isDefault(), kind, getter.getOriginal());
if (newGetter != null) { if (newGetter != null) {
JetType returnType = getter.getReturnType(); JetType returnType = getter.getReturnType();
newGetter.initialize(returnType != null ? substitutor.substitute(returnType, Variance.OUT_VARIANCE) : null); newGetter.initialize(returnType != null ? substitutor.substitute(returnType, Variance.OUT_VARIANCE) : null);
} }
PropertySetterDescriptor newSetter = setter == null ? null : new PropertySetterDescriptor( PropertySetterDescriptor newSetter = setter == null ? null : new PropertySetterDescriptor(
substitutedDescriptor, Lists.newArrayList(setter.getAnnotations()), DescriptorUtils.convertModality(setter.getModality(), false), setter.getVisibility(), substitutedDescriptor, Lists.newArrayList(setter.getAnnotations()), DescriptorUtils.convertModality(setter.getModality(), false), setter.getVisibility(),
setter.hasBody(), setter.isDefault(), kind, setter); setter.hasBody(), setter.isDefault(), kind, setter.getOriginal());
if (newSetter != null) { if (newSetter != null) {
List<ValueParameterDescriptor> substitutedValueParameters = FunctionDescriptorUtil.getSubstitutedValueParameters(newSetter, setter, substitutor); List<ValueParameterDescriptor> substitutedValueParameters = FunctionDescriptorUtil.getSubstitutedValueParameters(newSetter, setter, substitutor);
if (substitutedValueParameters == null) { if (substitutedValueParameters == null) {