From 6a6062ec325068eb76215c5666b0a010a6286992 Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Thu, 2 Jul 2015 20:18:12 +0300 Subject: [PATCH] Iterables are converted to Stream using spliterator --- .../java18StreamApi/PseudoLambdaReplaceTemplate.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/codeInspection/java18StreamApi/PseudoLambdaReplaceTemplate.java b/java/java-impl/src/com/intellij/codeInspection/java18StreamApi/PseudoLambdaReplaceTemplate.java index a7bf704520e4..425f1424837e 100644 --- a/java/java-impl/src/com/intellij/codeInspection/java18StreamApi/PseudoLambdaReplaceTemplate.java +++ b/java/java-impl/src/com/intellij/codeInspection/java18StreamApi/PseudoLambdaReplaceTemplate.java @@ -497,7 +497,11 @@ class PseudoLambdaReplaceTemplate { if (type instanceof PsiClassType) { final PsiClass resolved = ((PsiClassType)type).resolve(); LOG.assertTrue(resolved != null && resolved.getQualifiedName() != null, type); - return collectionExpression.getText() + ".stream()"; + if (InheritanceUtil.isInheritor(resolved, CommonClassNames.JAVA_UTIL_COLLECTION)) { + return collectionExpression.getText() + ".stream()"; + } else { + return "java.util.stream.StreamSupport.stream(" + collectionExpression.getText() + ".spliterator(), false)"; + } } else if (type instanceof PsiArrayType) { return CommonClassNames.JAVA_UTIL_ARRAYS + ".stream(" + collectionExpression.getText() + ")";