Correct parameters of inner's class type constructor

Now it contains copies of outer's class constructor parameters
They are appended just after real type parameters
This commit is contained in:
Denis Zharkov
2015-11-03 14:12:36 +03:00
parent 7b4c0fb83a
commit 990bd7e71d
9 changed files with 88 additions and 4 deletions
@@ -642,6 +642,8 @@ public class JetTypeMapper {
List<TypeProjection> arguments = jetType.getArguments();
for (TypeParameterDescriptor parameter : jetType.getConstructor().getParameters()) {
if (parameter.isCopyFromOuterDeclaration()) continue;
TypeProjection argument = arguments.get(parameter.getIndex());
if (projectionsAllowed && argument.isStarProjection()) {
@@ -576,7 +576,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
private final NotNullLazyValue<List<TypeParameterDescriptor>> parameters = c.getStorageManager().createLazyValue(new Function0<List<TypeParameterDescriptor>>() {
@Override
public List<TypeParameterDescriptor> invoke() {
return LazyClassDescriptor.this.getDeclaredTypeParameters();
return TypeParameterUtilsKt.computeConstructorTypeParameters(LazyClassDescriptor.this);
}
});