diff --git a/java/java-impl/src/com/intellij/psi/impl/PsiSubstitutorImpl.java b/java/java-impl/src/com/intellij/psi/impl/PsiSubstitutorImpl.java index 14527352e906..c6c975bb5653 100644 --- a/java/java-impl/src/com/intellij/psi/impl/PsiSubstitutorImpl.java +++ b/java/java-impl/src/com/intellij/psi/impl/PsiSubstitutorImpl.java @@ -177,7 +177,7 @@ public class PsiSubstitutorImpl implements PsiSubstitutor { final List substituted = ContainerUtil.map(disjunctionType.getDisjunctions(), new Function() { @Override public PsiType fun(PsiType psiType) { return psiType.accept(SubstitutionVisitorBase.this); } }); - return new PsiDisjunctionType(substituted, disjunctionType.getManager()); + return disjunctionType.newDisjunctionType(substituted); } } diff --git a/java/openapi/src/com/intellij/psi/PsiDisjunctionType.java b/java/openapi/src/com/intellij/psi/PsiDisjunctionType.java index 0ae89e9850b4..8b4b4bace061 100644 --- a/java/openapi/src/com/intellij/psi/PsiDisjunctionType.java +++ b/java/openapi/src/com/intellij/psi/PsiDisjunctionType.java @@ -30,8 +30,8 @@ import java.util.Collections; import java.util.List; /** - * Composite type resulting from Project Coin's multi-catch statements, * i.e. FileNotFoundException | EOFException. - * In most cases should be threatened via its least upper bound * (IOException in the example above). + * Composite type resulting from Project Coin's multi-catch statements, i.e. FileNotFoundException | EOFException. + * In most cases should be threatened via its least upper bound (IOException in the example above). */ public class PsiDisjunctionType extends PsiType { private final PsiManager myManager; @@ -64,8 +64,8 @@ public class PsiDisjunctionType extends PsiType { return myTypes; } - public PsiManager getManager() { - return myManager; + public PsiDisjunctionType newDisjunctionType(final List types) { + return new PsiDisjunctionType(types, myManager); } @Override diff --git a/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java b/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java index bbe345501d62..295a4a03a585 100644 --- a/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java +++ b/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java @@ -1170,7 +1170,7 @@ public class TypeConversionUtil { final List erased = ContainerUtil.map(disjunctionType.getDisjunctions(), new Function() { @Override public PsiType fun(PsiType psiType) { return erasure(psiType, beforeSubstitutor); } }); - return new PsiDisjunctionType(erased, disjunctionType.getManager()); + return disjunctionType.newDisjunctionType(erased); } }); }