diff --git a/java/java-psi-api/src/com/intellij/psi/JvmPsiConversionHelper.java b/java/java-psi-api/src/com/intellij/psi/JvmPsiConversionHelper.java index 71005b96e273..488519be9941 100644 --- a/java/java-psi-api/src/com/intellij/psi/JvmPsiConversionHelper.java +++ b/java/java-psi-api/src/com/intellij/psi/JvmPsiConversionHelper.java @@ -17,6 +17,7 @@ package com.intellij.psi; import com.intellij.lang.jvm.JvmTypeDeclaration; import com.intellij.lang.jvm.JvmTypeParameter; +import com.intellij.lang.jvm.types.JvmSubstitutor; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.project.Project; import org.jetbrains.annotations.NotNull; @@ -34,4 +35,7 @@ public interface JvmPsiConversionHelper { @NotNull PsiTypeParameter convertTypeParameter(@NotNull JvmTypeParameter typeParameter); + + @NotNull + PsiSubstitutor convertSubstitutor(@NotNull JvmSubstitutor substitutor); } diff --git a/java/java-psi-api/src/com/intellij/psi/PsiJvmSubstitutor.java b/java/java-psi-api/src/com/intellij/psi/PsiJvmSubstitutor.java index 4a4c3679c8ec..6c8f715561f7 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiJvmSubstitutor.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiJvmSubstitutor.java @@ -41,4 +41,9 @@ public class PsiJvmSubstitutor implements JvmSubstitutor { PsiTypeParameter psiTypeParameter = helper.convertTypeParameter(typeParameter); return mySubstitutor.substitute(psiTypeParameter); } + + @NotNull + public PsiSubstitutor getPsiSubstitutor() { + return mySubstitutor; + } } diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/JvmPsiConversionHelperImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/JvmPsiConversionHelperImpl.java index ca1bca2373a1..da05b38be038 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/JvmPsiConversionHelperImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/JvmPsiConversionHelperImpl.java @@ -17,9 +17,8 @@ package com.intellij.psi.impl; import com.intellij.lang.jvm.JvmTypeDeclaration; import com.intellij.lang.jvm.JvmTypeParameter; -import com.intellij.psi.JvmPsiConversionHelper; -import com.intellij.psi.PsiClass; -import com.intellij.psi.PsiTypeParameter; +import com.intellij.lang.jvm.types.JvmSubstitutor; +import com.intellij.psi.*; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -37,4 +36,11 @@ public class JvmPsiConversionHelperImpl implements JvmPsiConversionHelper { if (typeParameter instanceof PsiTypeParameter) return (PsiTypeParameter)typeParameter; throw new RuntimeException("TODO"); } + + @NotNull + @Override + public PsiSubstitutor convertSubstitutor(@NotNull JvmSubstitutor substitutor) { + if (substitutor instanceof PsiJvmSubstitutor) return ((PsiJvmSubstitutor)substitutor).getPsiSubstitutor(); + throw new RuntimeException("TODO"); + } }