From 90411f61f96ba6c15e09ffe9283e3d6fe9d0342b Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Mon, 27 Nov 2017 16:57:36 +0300 Subject: [PATCH 01/13] avoid FJP parallelism=1 because it's to unexpected --- .../concurrency/IdeaForkJoinWorkerThreadFactory.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/platform/boot/src/com/intellij/concurrency/IdeaForkJoinWorkerThreadFactory.java b/platform/boot/src/com/intellij/concurrency/IdeaForkJoinWorkerThreadFactory.java index a6cc80cde92c..dddf959f42b5 100644 --- a/platform/boot/src/com/intellij/concurrency/IdeaForkJoinWorkerThreadFactory.java +++ b/platform/boot/src/com/intellij/concurrency/IdeaForkJoinWorkerThreadFactory.java @@ -25,15 +25,24 @@ public class IdeaForkJoinWorkerThreadFactory implements ForkJoinPool.ForkJoinWor // must be called in the earliest possible moment on startup public static void setupForkJoinCommonPool() { System.setProperty("java.util.concurrent.ForkJoinPool.common.threadFactory", IdeaForkJoinWorkerThreadFactory.class.getName()); + String explicitParallelism = System.getProperty("java.util.concurrent.ForkJoinPool.common.parallelism"); + if (explicitParallelism == null && Runtime.getRuntime().availableProcessors() == 2) { + // By default FJP initialized with the parallelism=N_CPU - 1 + // so in case of two processors it becomes parallelism=1 which is too unexpected. + // In this case force parallelism=2 + System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "2"); + } } private static final AtomicLong bits = new AtomicLong(); @Override public ForkJoinWorkerThread newThread(ForkJoinPool pool) { final int n = setNextBit(); + //System.out.println("New FJP thread "+n); ForkJoinWorkerThread thread = new ForkJoinWorkerThread(pool) { @Override protected void onTermination(Throwable exception) { + //System.out.println("Exit FJP thread "+n); clearBit(n); super.onTermination(exception); } From 41cc9154b61c9c4dedf2df378879842d2c78af8b Mon Sep 17 00:00:00 2001 From: Alexander Zolotov Date: Mon, 27 Nov 2017 17:00:02 +0300 Subject: [PATCH 02/13] Review notes: check if not null --- .../src/com/intellij/openapi/editor/ex/util/EditorUtil.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java b/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java index 4879d8e860f9..63d8e79320cf 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/ex/util/EditorUtil.java @@ -777,9 +777,9 @@ public final class EditorUtil { } EditorColorsScheme scheme = EditorColorsManager.getInstance().getGlobalScheme(); - TextAttributes foldedTextAttributes = scheme.getAttributes(textAttributesKey); - FontInfo fallbackFont = ComplementaryFontsRegistry.getFontAbleToDisplay((int)c, foldedTextAttributes.getFontType(), - scheme.getFontPreferences(), null); + TextAttributes textAttributes = scheme.getAttributes(textAttributesKey); + int style = textAttributes != null ? textAttributes.getFontType() : Font.PLAIN; + FontInfo fallbackFont = ComplementaryFontsRegistry.getFontAbleToDisplay((int)c, style, scheme.getFontPreferences(), null); return fallbackFont.canDisplay(codePoint) ? String.valueOf(c) : fallback; } } From 3036ccc9c429f4ff5c6717d5aa77aa3d07a2affc Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 27 Nov 2017 16:54:52 +0300 Subject: [PATCH 03/13] git tests: cleanup No need to tearDown in setUp anymore. --- .../tests/git4idea/history/GitHistoryUtilsTest.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/plugins/git4idea/tests/git4idea/history/GitHistoryUtilsTest.java b/plugins/git4idea/tests/git4idea/history/GitHistoryUtilsTest.java index 9ae4047cf45f..01cbae7edf5c 100644 --- a/plugins/git4idea/tests/git4idea/history/GitHistoryUtilsTest.java +++ b/plugins/git4idea/tests/git4idea/history/GitHistoryUtilsTest.java @@ -62,16 +62,7 @@ public class GitHistoryUtilsTest extends GitSingleRepoTest { @Override protected void setUp() throws Exception { super.setUp(); - try { - initTest(); - } - catch (Exception e) { - super.tearDown(); - throw e; - } - } - private void initTest() throws IOException { myRevisions = new ArrayList<>(7); myRevisionsAfterRename = new ArrayList<>(4); From 70e2a9593e58a32912119366cdd2797f3f285770 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 27 Nov 2017 16:58:19 +0300 Subject: [PATCH 04/13] git tests: cleanup: inline, remove unused --- .../git4idea/history/GitHistoryUtilsTest.java | 25 ++++--------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/plugins/git4idea/tests/git4idea/history/GitHistoryUtilsTest.java b/plugins/git4idea/tests/git4idea/history/GitHistoryUtilsTest.java index 01cbae7edf5c..37cb23ffb7eb 100644 --- a/plugins/git4idea/tests/git4idea/history/GitHistoryUtilsTest.java +++ b/plugins/git4idea/tests/git4idea/history/GitHistoryUtilsTest.java @@ -22,7 +22,6 @@ import com.intellij.openapi.vcs.VcsException; import com.intellij.openapi.vcs.diff.ItemLatestState; import com.intellij.openapi.vcs.history.VcsFileRevision; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.util.ArrayUtil; import com.intellij.util.Consumer; import com.intellij.util.ExceptionUtil; import com.intellij.util.Function; @@ -125,23 +124,16 @@ public class GitHistoryUtilsTest extends GitSingleRepoTest { // newer revisions go first in the log output for (int i = revisions.length - 1, j = 0; i >= 0; i--, j++) { String[] details = revisions[j].trim().split("#"); - String[] parents; - if (details.length > 2) { - parents = details[2].split(" "); - } - else { - parents = ArrayUtil.EMPTY_STRING_ARRAY; - } - final GitTestRevision revision = new GitTestRevision(details[0], details[1], parents, commitMessages[i], - USER_NAME, USER_EMAIL, USER_NAME, USER_EMAIL, null, - contents[i]); + GitTestRevision revision = new GitTestRevision(details[0], details[1], commitMessages[i], + USER_NAME, USER_EMAIL, USER_NAME, USER_EMAIL, null, + contents[i]); myRevisions.add(revision); if (i > RENAME_COMMIT_INDEX) { myRevisionsAfterRename.add(revision); } } - assertEquals(myRevisionsAfterRename.size(), 5); + assertEquals("setUp failed", 5, myRevisionsAfterRename.size()); cd(projectPath); } @@ -228,17 +220,13 @@ public class GitHistoryUtilsTest extends GitSingleRepoTest { } private TestCommit modify(String file) throws IOException { - editAppend(file, "Modified"); + FileUtil.appendToFile(new File(file), "Modified"); String message = "Modified PostHighlightingPass"; addCommit(repo, message); String hash = last(this); return new TestCommit(hash, message, file); } - private static void editAppend(String file, String content) throws IOException { - FileUtil.appendToFile(new File(file), content); - } - @NotNull private String toReadable(@NotNull Collection history) { int maxSubjectLength = findMaxLength(history, revision -> revision.getCommitMessage()); @@ -428,11 +416,9 @@ public class GitHistoryUtilsTest extends GitSingleRepoTest { final String myCommitterEmail; final String myBranchName; final byte[] myContent; - private String[] myParents; public GitTestRevision(String hash, String gitTimestamp, - String[] parents, String commitMessage, String authorName, String authorEmail, @@ -442,7 +428,6 @@ public class GitHistoryUtilsTest extends GitSingleRepoTest { String content) { myHash = hash; myDate = gitTimeStampToDate(gitTimestamp); - myParents = parents; myCommitMessage = commitMessage; myAuthorName = authorName; myAuthorEmail = authorEmail; From ac0909f21c953d3dcda0c8ceefbe57b513eec1d1 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 27 Nov 2017 17:02:04 +0300 Subject: [PATCH 05/13] git tests: update CLM after setUp of GitHistoryUtilsTest Although the test mainly tests how `git log` is requested and parsed, GitHistoryUtils.getCurrentRevision() checks if there are local changes to the file: if the file is locally renamed, `git log ` should be called, since the new name is not known to Git yet. Therefore it is necessary to update the CLM before the test start, otherwise it may capture the rename (which happens in the setUp) as a local rename, which causes blinking. --- plugins/git4idea/tests/git4idea/history/GitHistoryUtilsTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/git4idea/tests/git4idea/history/GitHistoryUtilsTest.java b/plugins/git4idea/tests/git4idea/history/GitHistoryUtilsTest.java index 37cb23ffb7eb..1a07d5ab5e39 100644 --- a/plugins/git4idea/tests/git4idea/history/GitHistoryUtilsTest.java +++ b/plugins/git4idea/tests/git4idea/history/GitHistoryUtilsTest.java @@ -135,6 +135,7 @@ public class GitHistoryUtilsTest extends GitSingleRepoTest { assertEquals("setUp failed", 5, myRevisionsAfterRename.size()); cd(projectPath); + updateChangeListManager(); } @Override From 0227938590251022ea1f7a23b15176b83ae6081a Mon Sep 17 00:00:00 2001 From: Konstantin Kolosovsky Date: Fri, 17 Nov 2017 10:28:00 +0300 Subject: [PATCH 06/13] Remove ini4j patch files Corresponding changes have already been pushed to https://github.com/JetBrains/intellij-deps-ini4j --- ...accept-ClassLoader-as-the-second-arg.patch | 75 ------------------- ...e_on_the_same_line_as_section_header.patch | 39 ---------- 2 files changed, 114 deletions(-) delete mode 100644 plugins/git4idea/lib/ini4j/0001-Let-OptionMap.as-accept-ClassLoader-as-the-second-arg.patch delete mode 100644 plugins/git4idea/lib/ini4j/0002-Let_comment_be_on_the_same_line_as_section_header.patch diff --git a/plugins/git4idea/lib/ini4j/0001-Let-OptionMap.as-accept-ClassLoader-as-the-second-arg.patch b/plugins/git4idea/lib/ini4j/0001-Let-OptionMap.as-accept-ClassLoader-as-the-second-arg.patch deleted file mode 100644 index ab439b5745ef..000000000000 --- a/plugins/git4idea/lib/ini4j/0001-Let-OptionMap.as-accept-ClassLoader-as-the-second-arg.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 7a53ed04eeb1c4f6381f535fc090c65368dae9ad Mon Sep 17 00:00:00 2001 -From: Kirill Likhodedov -Date: Fri, 21 Oct 2011 18:07:42 +0400 -Subject: [PATCH] Let OptionMap.as() accept ClassLoader as the second - parameter. Modify BeanTool.proxy to expect classLoader or - use Thread#getContextClassLoader (as before) in the case of - null - ---- - src/main/java/org/ini4j/BasicOptionMap.java | 9 +++++++-- - src/main/java/org/ini4j/OptionMap.java | 2 ++ - src/main/java/org/ini4j/spi/BeanTool.java | 10 ++++++---- - 3 files changed, 15 insertions(+), 6 deletions(-) - -diff --git a/src/main/java/org/ini4j/BasicOptionMap.java b/src/main/java/org/ini4j/BasicOptionMap.java -index d7e665d..3850bf2 100644 ---- a/src/main/java/org/ini4j/BasicOptionMap.java -+++ b/src/main/java/org/ini4j/BasicOptionMap.java -@@ -76,12 +76,17 @@ public class BasicOptionMap extends CommonMultiMap implements Op - - @Override public T as(Class clazz) - { -- return BeanTool.getInstance().proxy(clazz, getDefaultBeanAccess()); -+ return BeanTool.getInstance().proxy(clazz, getDefaultBeanAccess(), null); -+ } -+ -+ @Override public T as(Class clazz, ClassLoader classLoader) -+ { -+ return BeanTool.getInstance().proxy(clazz, getDefaultBeanAccess(), classLoader); - } - - @Override public T as(Class clazz, String keyPrefix) - { -- return BeanTool.getInstance().proxy(clazz, newBeanAccess(keyPrefix)); -+ return BeanTool.getInstance().proxy(clazz, newBeanAccess(keyPrefix), null); - } - - @Override public String fetch(Object key) -diff --git a/src/main/java/org/ini4j/OptionMap.java b/src/main/java/org/ini4j/OptionMap.java -index dd48089..c13ac73 100644 ---- a/src/main/java/org/ini4j/OptionMap.java -+++ b/src/main/java/org/ini4j/OptionMap.java -@@ -25,6 +25,8 @@ public interface OptionMap extends MultiMap, CommentedMap T as(Class clazz); - -+ T as(Class clazz, ClassLoader classLoader); -+ - T as(Class clazz, String keyPrefix); - - String fetch(Object key); -diff --git a/src/main/java/org/ini4j/spi/BeanTool.java b/src/main/java/org/ini4j/spi/BeanTool.java -index 05d8be7..7ee22ec 100644 ---- a/src/main/java/org/ini4j/spi/BeanTool.java -+++ b/src/main/java/org/ini4j/spi/BeanTool.java -@@ -156,10 +156,12 @@ public class BeanTool - return (T) o; - } - -- public T proxy(Class clazz, BeanAccess props) -- { -- return clazz.cast(Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), new Class[] { clazz }, -- new BeanInvocationHandler(props))); -+ public T proxy(Class clazz, BeanAccess props, ClassLoader classLoader) { -+ if (classLoader == null) { -+ classLoader = Thread.currentThread().getContextClassLoader(); -+ } -+ return clazz.cast(Proxy.newProxyInstance(classLoader, new Class[]{clazz}, -+ new BeanInvocationHandler(props))); - } - - @SuppressWarnings("unchecked") --- -1.7.7 - diff --git a/plugins/git4idea/lib/ini4j/0002-Let_comment_be_on_the_same_line_as_section_header.patch b/plugins/git4idea/lib/ini4j/0002-Let_comment_be_on_the_same_line_as_section_header.patch deleted file mode 100644 index 3920b1ba0453..000000000000 --- a/plugins/git4idea/lib/ini4j/0002-Let_comment_be_on_the_same_line_as_section_header.patch +++ /dev/null @@ -1,39 +0,0 @@ -Index: src/main/java/org/ini4j/spi/IniParser.java -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>x-MacCyrillic -=================================================================== ---- src/main/java/org/ini4j/spi/IniParser.java (date 1319206062000) -+++ src/main/java/org/ini4j/spi/IniParser.java (revision ) -@@ -114,10 +114,19 @@ - { - String sectionName; - -- if (line.charAt(line.length() - 1) != SECTION_END) -+ if (line.charAt(line.length() - 1) != SECTION_END) - { -+ int sectionEnd = line.lastIndexOf(SECTION_END); -+ String afterSectionEnd = line.substring(sectionEnd + 1).trim(); -+ if (afterSectionEnd.isEmpty() || isComment(afterSectionEnd.charAt(0))) -+ { -+ line = line.substring(0, sectionEnd + 1); -+ } -+ else -+ { - parseError(line, source.getLineNumber()); -- } -+ } -+ } - - sectionName = unescapeFilter(line.substring(1, line.length() - 1).trim()); - if ((sectionName.length() == 0) && !getConfig().isUnnamedSection()) -@@ -133,5 +142,9 @@ - handler.startSection(sectionName); - - return sectionName; -+ } -+ -+ private boolean isComment(char c) { -+ return COMMENTS.indexOf(c) >= 0; - } - } From 80f663b08408541b57906d9b41e9f1607c606560 Mon Sep 17 00:00:00 2001 From: Konstantin Kolosovsky Date: Fri, 17 Nov 2017 10:34:58 +0300 Subject: [PATCH 07/13] Use patched ini4j 0.5.5-1 from IntelliJ Bintray --- .idea/libraries/ini4j.xml | 7 ++++--- lib/ini4j-0.5.2-patched.jar | Bin 105423 -> 0 bytes lib/src/ini4j-0.5.2-patched-sources.zip | Bin 65840 -> 0 bytes .../build/CommunityLibraryLicenses.groovy | 4 ++-- 4 files changed, 6 insertions(+), 5 deletions(-) delete mode 100644 lib/ini4j-0.5.2-patched.jar delete mode 100644 lib/src/ini4j-0.5.2-patched-sources.zip diff --git a/.idea/libraries/ini4j.xml b/.idea/libraries/ini4j.xml index 0d0bc808b42b..56d3cc7e03d2 100644 --- a/.idea/libraries/ini4j.xml +++ b/.idea/libraries/ini4j.xml @@ -1,11 +1,12 @@ - + + - + - + \ No newline at end of file diff --git a/lib/ini4j-0.5.2-patched.jar b/lib/ini4j-0.5.2-patched.jar deleted file mode 100644 index efb8c6991b96bd645ebc00aa3c0a6353bf487af7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105423 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 GZ~1@W8^`bf diff --git a/lib/src/ini4j-0.5.2-patched-sources.zip b/lib/src/ini4j-0.5.2-patched-sources.zip deleted file mode 100644 index 46cf85f7a36692113b16c567dc30c059fd20b773..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65840 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 Date: Mon, 27 Nov 2017 17:14:23 +0300 Subject: [PATCH 08/13] [groovy] compute Closure.getOwner() type without light variable --- .../statements/blocks/GrClosableBlock.java | 19 ++---- .../blocks/GrClosableBlockImpl.java | 63 +++++++------------ ...> GrClosureOwnerDelegateTypeCalculator.kt} | 27 +++----- plugins/groovy/src/META-INF/plugin.xml | 2 +- .../lang/resolve/ResolvePropertyTest.groovy | 3 +- .../lang/resolve/TypeInferenceTest.groovy | 10 +++ 6 files changed, 48 insertions(+), 76 deletions(-) rename plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/typing/{GrClosureDelegateTypeCalculator.kt => GrClosureOwnerDelegateTypeCalculator.kt} (54%) diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/api/statements/blocks/GrClosableBlock.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/api/statements/blocks/GrClosableBlock.java index 8a6423db1f93..baec5f638362 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/api/statements/blocks/GrClosableBlock.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/api/statements/blocks/GrClosableBlock.java @@ -1,18 +1,4 @@ -/* - * Copyright 2000-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks; @@ -63,4 +49,7 @@ public interface GrClosableBlock extends GrExpression, GrCodeBlock, GrParameters @NotNull final ResolveState _state, @Nullable final PsiElement lastParent, @NotNull final PsiElement place); + + @Nullable + PsiType getOwnerType(); } diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/blocks/GrClosableBlockImpl.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/blocks/GrClosableBlockImpl.java index e3d3c38c1301..4fa82f92c6d0 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/blocks/GrClosableBlockImpl.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/blocks/GrClosableBlockImpl.java @@ -1,18 +1,4 @@ -/* - * Copyright 2000-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package org.jetbrains.plugins.groovy.lang.psi.impl.statements.blocks; @@ -21,7 +7,7 @@ import com.intellij.psi.*; import com.intellij.psi.scope.ElementClassHint; import com.intellij.psi.scope.PsiScopeProcessor; import com.intellij.psi.tree.IElementType; -import com.intellij.psi.util.CachedValueProvider; +import com.intellij.psi.util.CachedValueProvider.Result; import com.intellij.psi.util.CachedValuesManager; import com.intellij.psi.util.PsiModificationTracker; import com.intellij.psi.util.PsiTreeUtil; @@ -43,10 +29,8 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.params.GrParameterLi import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition; import org.jetbrains.plugins.groovy.lang.psi.dataFlow.types.TypeInferenceHelper; import org.jetbrains.plugins.groovy.lang.psi.impl.*; -import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.params.GrParameterListImpl; import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.ClosureSyntheticParameter; -import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GrLightVariable; import org.jetbrains.plugins.groovy.lang.psi.util.GroovyCommonClassNames; import org.jetbrains.plugins.groovy.lang.resolve.MethodTypeInferencer; import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil; @@ -98,7 +82,6 @@ public class GrClosableBlockImpl extends GrBlockImpl implements GrClosableBlock if (!super.processDeclarations(processor, state, lastParent, place)) return false; if (!processParameters(processor, state, place)) return false; - if (ResolveUtil.shouldProcessProperties(processor.getHint(ElementClassHint.KEY)) && !ResolveUtil.processElement(processor, getOwner(), state)) return false; if (!processClosureClassMembers(processor, state, lastParent, place)) return false; return true; @@ -295,28 +278,28 @@ public class GrClosableBlockImpl extends GrBlockImpl implements GrClosableBlock return res; } - private PsiVariable getOwner() { - return CachedValuesManager.getCachedValue(this, () -> { - final GroovyPsiElement context = PsiTreeUtil.getParentOfType(this, GrTypeDefinition.class, GrClosableBlock.class, GroovyFile.class); - final PsiElementFactory factory = JavaPsiFacade.getInstance(getProject()).getElementFactory(); - PsiType type = null; - if (context instanceof GrTypeDefinition) { - type = factory.createType((PsiClass)context); - } - else if (context instanceof GrClosableBlock) { - type = GrClosureType.create((GrClosableBlock)context, true); - } - else if (context instanceof GroovyFile) { - final PsiClass scriptClass = ((GroovyFile)context).getScriptClass(); - if (scriptClass != null && GroovyNamesUtil.isIdentifier(scriptClass.getName())) type = factory.createType(scriptClass); - } - if (type == null) { - type = TypesUtil.getJavaLangObject(this); - } + @Nullable + @Override + public PsiType getOwnerType() { + return CachedValuesManager.getCachedValue(this, () -> Result.create(doGetOwnerType(), PsiModificationTracker.MODIFICATION_COUNT)); + } - PsiVariable owner = new GrLightVariable(getManager(), OWNER_NAME, type, this); - return CachedValueProvider.Result.create(owner, PsiModificationTracker.MODIFICATION_COUNT); - }); + @Nullable + private PsiType doGetOwnerType() { + final GroovyPsiElement context = PsiTreeUtil.getParentOfType(this, GrTypeDefinition.class, GrClosableBlock.class, GroovyFile.class); + final PsiElementFactory factory = JavaPsiFacade.getInstance(getProject()).getElementFactory(); + if (context instanceof GrTypeDefinition) { + return factory.createType((PsiClass)context); + } + else if (context instanceof GrClosableBlock) { + return ((GrClosableBlock)context).getType(); + } + else if (context instanceof GroovyFile) { + final PsiClass scriptClass = ((GroovyFile)context).getScriptClass(); + if (scriptClass != null && GroovyNamesUtil.isIdentifier(scriptClass.getName())) return factory.createType(scriptClass); + } + + return null; } @Override diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/typing/GrClosureDelegateTypeCalculator.kt b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/typing/GrClosureOwnerDelegateTypeCalculator.kt similarity index 54% rename from plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/typing/GrClosureDelegateTypeCalculator.kt rename to plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/typing/GrClosureOwnerDelegateTypeCalculator.kt index d5f96aa444bc..88b098b78dec 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/typing/GrClosureDelegateTypeCalculator.kt +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/typing/GrClosureOwnerDelegateTypeCalculator.kt @@ -1,18 +1,4 @@ -/* - * Copyright 2000-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package org.jetbrains.plugins.groovy.lang.typing import com.intellij.psi.JavaPsiFacade @@ -24,16 +10,21 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrRefere import org.jetbrains.plugins.groovy.lang.psi.util.GroovyCommonClassNames.GROOVY_LANG_CLOSURE import org.jetbrains.plugins.groovy.lang.resolve.delegatesTo.getDelegatesToInfo -class GrClosureDelegateTypeCalculator : GrTypeCalculator { +class GrClosureOwnerDelegateTypeCalculator : GrTypeCalculator { override fun getType(expression: GrReferenceExpression): PsiType? { val method = expression.resolve() as? PsiMethod ?: return null - if ("getDelegate" != method.name || method.parameterList.parametersCount != 0) return null + + val methodName = method.name + val delegate = "getDelegate" == methodName + if (!delegate && "getOwner" != methodName) return null + + if (method.parameterList.parametersCount != 0) return null val closureClass = JavaPsiFacade.getInstance(expression.project).findClass(GROOVY_LANG_CLOSURE, expression.resolveScope) if (closureClass == null || closureClass != method.containingClass) return null val closure = PsiTreeUtil.getParentOfType(expression, GrClosableBlock::class.java) ?: return null - return getDelegatesToInfo(closure)?.typeToDelegate + return if (delegate) getDelegatesToInfo(closure)?.typeToDelegate else closure.ownerType } } diff --git a/plugins/groovy/src/META-INF/plugin.xml b/plugins/groovy/src/META-INF/plugin.xml index 49f952083ed9..44b1aabe9bce 100644 --- a/plugins/groovy/src/META-INF/plugin.xml +++ b/plugins/groovy/src/META-INF/plugin.xml @@ -171,7 +171,7 @@ implementation="org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.path.GrDGMTypeCalculator"/> + implementationClass="org.jetbrains.plugins.groovy.lang.typing.GrClosureOwnerDelegateTypeCalculator"/> diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/ResolvePropertyTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/ResolvePropertyTest.groovy index a2bb8dd0a64a..06dc4218b07c 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/ResolvePropertyTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/ResolvePropertyTest.groovy @@ -37,8 +37,7 @@ class ResolvePropertyTest extends GroovyResolveTestCase { void testClosureOwner() throws Exception { PsiReference ref = configureByFile("closureOwner/A.groovy") PsiElement resolved = ref.resolve() - assertInstanceOf(resolved, PsiVariable) - assertEquals((resolved as PsiVariable).type.canonicalText, "W") + assertInstanceOf(resolved, PsiMethod) } void testLocal1() throws Exception { diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/TypeInferenceTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/TypeInferenceTest.groovy index 2e132bf8dfd1..b984fcab2441 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/TypeInferenceTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/TypeInferenceTest.groovy @@ -818,4 +818,14 @@ def bar() { void 'test enum values() type'() { doExprTest 'enum E {}; E.values()', 'E[]' } + + void 'test closure owner type'() { + doTest '''\ +class W { + def c = { + owner + } +} +''', 'W' + } } From 593e36761e6cd2227a902be628d28cdc4e9510e2 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Mon, 27 Nov 2017 15:48:00 +0100 Subject: [PATCH 09/13] followup: honor jre global proxy settings (IDEA-181489) --- .../aether/ArtifactRepositoryManager.java | 20 +++++++++++-------- .../idea/maven/aether/JreProxySelector.java | 8 +++++++- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/ArtifactRepositoryManager.java b/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/ArtifactRepositoryManager.java index 629538627bb5..5f1c35d662c5 100644 --- a/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/ArtifactRepositoryManager.java +++ b/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/ArtifactRepositoryManager.java @@ -51,17 +51,15 @@ import java.util.*; */ public class ArtifactRepositoryManager { private static final VersionScheme ourVersioning = new GenericVersionScheme(); + private static final JreProxySelector ourProxySelector = new JreProxySelector(); private final DefaultRepositorySystemSession mySession; - public static final RemoteRepository MAVEN_CENTRAL_REPOSITORY = createRemoteRepository( + private static final RemoteRepository MAVEN_CENTRAL_REPOSITORY = createRemoteRepository( "central", "http://repo1.maven.org/maven2/" ); - public static final RemoteRepository JBOSS_COMMUNITY_REPOSITORY = createRemoteRepository( + private static final RemoteRepository JBOSS_COMMUNITY_REPOSITORY = createRemoteRepository( "jboss.community", "https://repository.jboss.org/nexus/content/repositories/public/" ); - public static final List PREDEFINED_REMOTE_REPOSITORIES = Collections.unmodifiableList(Arrays.asList( - MAVEN_CENTRAL_REPOSITORY, JBOSS_COMMUNITY_REPOSITORY - )); private static final RepositorySystem ourSystem; static { @@ -86,7 +84,8 @@ public class ArtifactRepositoryManager { } public ArtifactRepositoryManager(@NotNull File localRepositoryPath, @NotNull final ProgressConsumer progressConsumer) { - this(localRepositoryPath, PREDEFINED_REMOTE_REPOSITORIES, progressConsumer); + // recreate remote repository objects to ensure the latest proxy settings are used + this(localRepositoryPath, Arrays.asList(createRemoteRepository(MAVEN_CENTRAL_REPOSITORY), createRemoteRepository(JBOSS_COMMUNITY_REPOSITORY)), progressConsumer); } public ArtifactRepositoryManager(@NotNull File localRepositoryPath, List remoteRepositories, @NotNull final ProgressConsumer progressConsumer) { @@ -115,7 +114,7 @@ public class ArtifactRepositoryManager { // setup session here session.setLocalRepositoryManager(ourSystem.newLocalRepositoryManager(session, new LocalRepository(localRepositoryPath))); - session.setProxySelector(new org.jetbrains.idea.maven.aether.JreProxySelector()); + session.setProxySelector(ourProxySelector); session.setReadOnly(); mySession = session; } @@ -202,7 +201,12 @@ public class ArtifactRepositoryManager { public static RemoteRepository createRemoteRepository(final String id, final String url) { // for maven repos repository type should be 'default' - return new RemoteRepository.Builder(id, "default", url).build(); + return new RemoteRepository.Builder(id, "default", url).setProxy(ourProxySelector.getProxy(url)).build(); + } + + public static RemoteRepository createRemoteRepository(RemoteRepository prototype) { + final String url = prototype.getUrl(); + return new RemoteRepository.Builder(prototype.getId(), prototype.getContentType(), url).setProxy(ourProxySelector.getProxy(url)).build(); } private CollectRequest createCollectRequest(String groupId, String artifactId, Collection versions, final Set kinds) { diff --git a/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/JreProxySelector.java b/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/JreProxySelector.java index fd6e107ba296..1a66556ff545 100644 --- a/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/JreProxySelector.java +++ b/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/JreProxySelector.java @@ -4,6 +4,7 @@ package org.jetbrains.idea.maven.aether; import org.eclipse.aether.repository.*; import org.eclipse.aether.repository.Proxy; import org.eclipse.aether.repository.ProxySelector; +import org.jetbrains.annotations.Nullable; import java.net.*; import java.util.List; @@ -19,12 +20,17 @@ final class JreProxySelector implements ProxySelector { } public Proxy getProxy(RemoteRepository repository) { + return getProxy(repository.getUrl()); + } + + @Nullable + public Proxy getProxy(final String url) { try { final java.net.ProxySelector systemSelector = java.net.ProxySelector.getDefault(); if (systemSelector == null) { return null; } - final URI uri = new URI(repository.getUrl()).parseServerAuthority(); + final URI uri = new URI(url).parseServerAuthority(); final List selected = systemSelector.select(uri); if (selected == null || selected.isEmpty()) { return null; From d2fbeee058b70dcca10706a3ac4c45dee286fc75 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Mon, 27 Nov 2017 15:49:18 +0100 Subject: [PATCH 10/13] async VFS events processing due to slow GeneratedSourcesFilter implementations --- .../com/intellij/compiler/server/BuildManager.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java index 49726270fc2c..f7823e92a413 100644 --- a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java +++ b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java @@ -100,7 +100,8 @@ import org.jetbrains.jps.incremental.Utils; import org.jetbrains.jps.model.java.JpsJavaSdkType; import org.jetbrains.jps.model.java.compiler.JavaCompilers; -import javax.tools.*; +import javax.tools.JavaCompiler; +import javax.tools.ToolProvider; import java.awt.*; import java.io.File; import java.io.IOException; @@ -249,8 +250,12 @@ public class BuildManager implements Disposable { connection.subscribe(VirtualFileManager.VFS_CHANGES, new BulkFileListener() { @Override public void after(@NotNull List events) { - if (!IS_UNIT_TEST_MODE && shouldTriggerMake(events)) { - scheduleAutoMake(); + if (!IS_UNIT_TEST_MODE) { + ApplicationManager.getApplication().executeOnPooledThread(() -> ReadAction.run(()->{ + if (shouldTriggerMake(events)) { + scheduleAutoMake(); + } + })); } } From 67a741c0d6fd9a404c7eb60403f2c3f96b291c84 Mon Sep 17 00:00:00 2001 From: Alexander Lobas Date: Mon, 27 Nov 2017 18:07:21 +0300 Subject: [PATCH 11/13] IDEA-182553 Lose custom color schemes after disable "IDE Settings Sync" --- .../ide/actions/QuickChangeLookAndFeel.java | 46 +++++++++++-------- .../ide/ui/AppearanceConfigurable.java | 3 +- .../colors/impl/EditorColorsManagerImpl.java | 1 + 3 files changed, 30 insertions(+), 20 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/actions/QuickChangeLookAndFeel.java b/platform/platform-impl/src/com/intellij/ide/actions/QuickChangeLookAndFeel.java index ce8efe942579..8a87f29515fe 100644 --- a/platform/platform-impl/src/com/intellij/ide/actions/QuickChangeLookAndFeel.java +++ b/platform/platform-impl/src/com/intellij/ide/actions/QuickChangeLookAndFeel.java @@ -41,36 +41,46 @@ public class QuickChangeLookAndFeel extends QuickSwitchSchemeAction { for (UIManager.LookAndFeelInfo lf : lfs) { group.add(new DumbAwareAction(lf.getName(), "", lf == current ? ourCurrentAction : ourNotCurrentAction) { public void actionPerformed(AnActionEvent e) { - switchLafAndUpdateUI(lafMan, lf); + switchLafAndUpdateUI(lafMan, lf, false); } }); } } - public static void switchLafAndUpdateUI(@NotNull LafManager lafMan, @NotNull UIManager.LookAndFeelInfo lf) { + public static void switchLafAndUpdateUI(@NotNull final LafManager lafMan, @NotNull UIManager.LookAndFeelInfo lf, boolean async) { UIManager.LookAndFeelInfo cur = lafMan.getCurrentLookAndFeel(); if (cur == lf) return; - boolean wasDarcula = UIUtil.isUnderDarcula(); + final boolean wasDarcula = UIUtil.isUnderDarcula(); lafMan.setCurrentLookAndFeel(lf); - // a twist not to updateUI twice: here and in DarculaInstaller - // double updateUI shall be avoided and causes NPE in some components (HelpView) - Ref updated = Ref.create(false); - LafManagerListener listener = (s) -> updated.set(true); - lafMan.addLafManagerListener(listener); - try { - if (UIUtil.isUnderDarcula()) { - DarculaInstaller.install(); + + Runnable updater = () -> { + // a twist not to updateUI twice: here and in DarculaInstaller + // double updateUI shall be avoided and causes NPE in some components (HelpView) + Ref updated = Ref.create(false); + LafManagerListener listener = (s) -> updated.set(true); + lafMan.addLafManagerListener(listener); + try { + if (UIUtil.isUnderDarcula()) { + DarculaInstaller.install(); + } + else if (wasDarcula) { + DarculaInstaller.uninstall(); + } } - else if (wasDarcula) { - DarculaInstaller.uninstall(); + finally { + lafMan.removeLafManagerListener(listener); + if (!updated.get()) { + lafMan.updateUI(); + } } + }; + if (async) { + //noinspection SSBasedInspection + SwingUtilities.invokeLater(updater); } - finally { - lafMan.removeLafManagerListener(listener); - if (!updated.get()) { - lafMan.updateUI(); - } + else { + updater.run(); } } diff --git a/platform/platform-impl/src/com/intellij/ide/ui/AppearanceConfigurable.java b/platform/platform-impl/src/com/intellij/ide/ui/AppearanceConfigurable.java index 4ae8ef9ffd11..4d4db07d7053 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/AppearanceConfigurable.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/AppearanceConfigurable.java @@ -244,8 +244,7 @@ public class AppearanceConfigurable extends BaseConfigurable implements Searchab UIManager.LookAndFeelInfo lafInfo = (UIManager.LookAndFeelInfo)myComponent.myLafComboBox.getSelectedItem(); update = true; shouldUpdateUI = false; - //noinspection SSBasedInspection - SwingUtilities.invokeLater(() -> QuickChangeLookAndFeel.switchLafAndUpdateUI(lafManager, lafInfo)); + QuickChangeLookAndFeel.switchLafAndUpdateUI(lafManager, lafInfo, true); } if (shouldUpdateUI) { diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/colors/impl/EditorColorsManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/colors/impl/EditorColorsManagerImpl.java index eee853776e57..6a1b77c6fdfb 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/colors/impl/EditorColorsManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/colors/impl/EditorColorsManagerImpl.java @@ -124,6 +124,7 @@ public class EditorColorsManagerImpl extends EditorColorsManager implements Pers @Override public void reloaded(@NotNull SchemeManager schemeManager, @NotNull Collection schemes) { + loadBundledSchemes(); initEditableDefaultSchemesCopies(); initEditableBundledSchemesCopies(); } From 6044e8e420ed6ccf08c16a006e65db833650bea1 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Mon, 27 Nov 2017 17:44:05 +0300 Subject: [PATCH 12/13] encapsulate Place --- .../lang/injection/InjectedLanguageManager.java | 3 +++ .../codeInsight/intention/impl/QuickEditAction.java | 10 +++++----- .../codeInsight/intention/impl/QuickEditHandler.java | 3 ++- .../tree/injected/InjectedLanguageManagerImpl.java | 6 ++++++ .../intellij/psi/impl/source/tree/injected/Place.java | 9 +++------ 5 files changed, 19 insertions(+), 12 deletions(-) diff --git a/platform/core-api/src/com/intellij/lang/injection/InjectedLanguageManager.java b/platform/core-api/src/com/intellij/lang/injection/InjectedLanguageManager.java index 26e1e8356699..658501c25a7b 100644 --- a/platform/core-api/src/com/intellij/lang/injection/InjectedLanguageManager.java +++ b/platform/core-api/src/com/intellij/lang/injection/InjectedLanguageManager.java @@ -23,6 +23,7 @@ import com.intellij.openapi.editor.Document; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.*; +import com.intellij.psi.FileViewProvider; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiLanguageInjectionHost; @@ -41,6 +42,8 @@ public abstract class InjectedLanguageManager { protected static final NotNullLazyKey INSTANCE_CACHE = ServiceManager.createLazyKey(InjectedLanguageManager.class); public static final Key FRANKENSTEIN_INJECTION = Key.create("FRANKENSTEIN_INJECTION"); + public abstract PsiLanguageInjectionHost getInjectionHost(@NotNull FileViewProvider provider); + public static InjectedLanguageManager getInstance(Project project) { return INSTANCE_CACHE.getValue(project); } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/QuickEditAction.java b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/QuickEditAction.java index 29e476c43e98..880873d7ba90 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/QuickEditAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/QuickEditAction.java @@ -27,6 +27,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.popup.Balloon; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.Pair; +import com.intellij.openapi.util.Segment; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.ElementManipulators; @@ -34,7 +35,6 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiLanguageInjectionHost; import com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil; -import com.intellij.psi.impl.source.tree.injected.Place; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.IncorrectOperationException; import com.intellij.util.ObjectUtils; @@ -127,12 +127,12 @@ public class QuickEditAction implements IntentionAction, LowPriorityAction { } public static QuickEditHandler getExistingHandler(@NotNull PsiFile injectedFile) { - Place shreds = InjectedLanguageUtil.getShreds(injectedFile); DocumentWindow documentWindow = InjectedLanguageUtil.getDocumentWindow(injectedFile); - if (shreds == null || documentWindow == null) return null; + if (documentWindow == null) return null; - TextRange hostRange = TextRange.create(shreds.get(0).getHostRangeMarker().getStartOffset(), - shreds.get(shreds.size() - 1).getHostRangeMarker().getEndOffset()); + Segment[] hostRanges = documentWindow.getHostRanges(); + TextRange hostRange = TextRange.create(hostRanges[0].getStartOffset(), + hostRanges[hostRanges.length - 1].getEndOffset()); for (Editor editor : EditorFactory.getInstance().getAllEditors()) { if (editor.getDocument() != documentWindow.getDelegate()) continue; QuickEditHandler handler = editor.getUserData(QUICK_EDIT_HANDLER); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/QuickEditHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/QuickEditHandler.java index d899eaf7e9e2..a60a47f2a0a2 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/QuickEditHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/QuickEditHandler.java @@ -124,7 +124,8 @@ public class QuickEditHandler implements Disposable, DocumentListener { // suppress possible errors as in injected mode myNewFile.putUserData(InjectedLanguageUtil.FRANKENSTEIN_INJECTION, injectedFile.getUserData(InjectedLanguageUtil.FRANKENSTEIN_INJECTION)); - myNewFile.putUserData(FileContextUtil.INJECTED_IN_ELEMENT, shreds.getHostPointer()); + PsiLanguageInjectionHost host = InjectedLanguageManager.getInstance(project).getInjectionHost(injectedFile.getViewProvider()); + myNewFile.putUserData(FileContextUtil.INJECTED_IN_ELEMENT, SmartPointerManager.getInstance(project).createSmartPsiElementPointer(host)); myNewDocument = PsiDocumentManager.getInstance(project).getDocument(myNewFile); assert myNewDocument != null; EditorActionManager.getInstance().setReadonlyFragmentModificationHandler(myNewDocument, new MyQuietHandler()); diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectedLanguageManagerImpl.java b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectedLanguageManagerImpl.java index c64df2f384ef..1a55eca92512 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectedLanguageManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/InjectedLanguageManagerImpl.java @@ -174,6 +174,12 @@ public class InjectedLanguageManagerImpl extends InjectedLanguageManager impleme } } + @Override + public PsiLanguageInjectionHost getInjectionHost(@NotNull FileViewProvider provider) { + if (!(provider instanceof InjectedFileViewProvider)) return null; + return ((InjectedFileViewProvider)provider).getShreds().getHostPointer().getElement(); + } + @Override public PsiLanguageInjectionHost getInjectionHost(@NotNull PsiElement element) { final PsiFile file = element.getContainingFile(); diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/Place.java b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/Place.java index f6be385077c2..d4a0ce5b50ae 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/Place.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/injected/Place.java @@ -23,20 +23,17 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -/** - * @author cdr -*/ public class Place extends SmartList { Place(@NotNull List shreds) { super(shreds); } @NotNull - public SmartPsiElementPointer getHostPointer() { + SmartPsiElementPointer getHostPointer() { return ((ShredImpl)get(0)).getSmartPointer(); } - public boolean isValid() { + boolean isValid() { for (PsiLanguageInjectionHost.Shred shred : this) { if (!shred.isValid()) { return false; @@ -45,7 +42,7 @@ public class Place extends SmartList { return true; } - public void dispose() { + void dispose() { for (PsiLanguageInjectionHost.Shred shred : this) { shred.dispose(); } From bd27d8d9e8ede3eccfed2fe3070e01465656c8f3 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Mon, 27 Nov 2017 18:17:48 +0300 Subject: [PATCH 13/13] NPE fixed --- .../intellij/testFramework/propertyBased/InsertLineComment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/testFramework/testSrc/com/intellij/testFramework/propertyBased/InsertLineComment.java b/platform/testFramework/testSrc/com/intellij/testFramework/propertyBased/InsertLineComment.java index 1a8a3d02ffe1..47c8306c7ca6 100644 --- a/platform/testFramework/testSrc/com/intellij/testFramework/propertyBased/InsertLineComment.java +++ b/platform/testFramework/testSrc/com/intellij/testFramework/propertyBased/InsertLineComment.java @@ -34,7 +34,7 @@ public class InsertLineComment extends ActionOnRange { @Override public String toString() { - return "LineComment{" + getVirtualFile().getPath() + " " + myInitialStart + " " + getCurrentRange().getStartOffset() + "}"; + return "LineComment{" + getVirtualFile().getPath() + " " + myInitialStart + " " + getCurrentRange() + "}"; } @Override