mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[jvm-lang] update JvmSubstitutor API, add JvmSubstitutor.getParameters()
This commit is contained in:
@@ -19,8 +19,13 @@ import com.intellij.lang.jvm.JvmTypeParameter;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public interface JvmSubstitutor {
|
||||
|
||||
@NotNull
|
||||
Collection<JvmTypeParameter> getTypeParameters();
|
||||
|
||||
@Nullable
|
||||
JvmType substitute(@NotNull JvmTypeParameter typeParameter);
|
||||
}
|
||||
|
||||
@@ -19,10 +19,13 @@ import com.intellij.lang.jvm.JvmTypeParameter;
|
||||
import com.intellij.lang.jvm.types.JvmSubstitutor;
|
||||
import com.intellij.lang.jvm.types.JvmType;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.util.SmartList;
|
||||
import org.jetbrains.annotations.ApiStatus.Experimental;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@Experimental
|
||||
public class PsiJvmSubstitutor implements JvmSubstitutor {
|
||||
|
||||
@@ -34,6 +37,12 @@ public class PsiJvmSubstitutor implements JvmSubstitutor {
|
||||
mySubstitutor = substitutor;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<JvmTypeParameter> getTypeParameters() {
|
||||
return new SmartList<>(mySubstitutor.getSubstitutionMap().keySet());
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public JvmType substitute(@NotNull JvmTypeParameter typeParameter) {
|
||||
|
||||
Reference in New Issue
Block a user