From e9b700bc8c57e363da499c45924af90cda2072ca Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 22 Oct 2012 16:17:29 +0200 Subject: [PATCH] assert valid substitutor (EA-40074) --- .../intellij/psi/util/MethodSignatureBackedByPsiMethod.java | 2 ++ .../src/com/intellij/psi/util/MethodSignatureBase.java | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBackedByPsiMethod.java b/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBackedByPsiMethod.java index 7c55995b268e..37fd4a4609f7 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBackedByPsiMethod.java +++ b/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBackedByPsiMethod.java @@ -77,6 +77,8 @@ public class MethodSignatureBackedByPsiMethod extends MethodSignatureBase { substitutor = JavaPsiFacade.getInstance(method.getProject()).getElementFactory().createRawSubstitutor(substitutor, methodTypeParameters); methodTypeParameters = PsiTypeParameter.EMPTY_ARRAY; } + + assert substitutor.isValid(); final PsiParameter[] parameters = method.getParameterList().getParameters(); PsiType[] parameterTypes = new PsiType[parameters.length]; diff --git a/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBase.java b/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBase.java index d2a7e80d0743..2dd259d27396 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBase.java +++ b/java/java-psi-api/src/com/intellij/psi/util/MethodSignatureBase.java @@ -29,10 +29,11 @@ public abstract class MethodSignatureBase implements MethodSignature { protected MethodSignatureBase(@NotNull PsiSubstitutor substitutor, @NotNull PsiType[] parameterTypes, @NotNull PsiTypeParameter[] typeParameters) { mySubstitutor = substitutor; + assert substitutor.isValid(); myParameterTypes = parameterTypes.length == 0 ? PsiType.EMPTY_ARRAY : new PsiType[parameterTypes.length]; for (int i = 0; i < parameterTypes.length; i++) { PsiType type = parameterTypes[i]; - assert type.isValid(); + assert type == null || type.isValid(); if (type instanceof PsiEllipsisType) type = ((PsiEllipsisType) type).toArrayType(); myParameterTypes[i] = substitutor.substitute(type); }