diff --git a/java/debugger/impl/src/com/intellij/debugger/settings/RendererConfiguration.java b/java/debugger/impl/src/com/intellij/debugger/settings/RendererConfiguration.java index 5821bd92ed2c..034017a49c22 100644 --- a/java/debugger/impl/src/com/intellij/debugger/settings/RendererConfiguration.java +++ b/java/debugger/impl/src/com/intellij/debugger/settings/RendererConfiguration.java @@ -129,4 +129,8 @@ public class RendererConfiguration implements Cloneable, JDOMExternalizable { public int getRendererCount() { return myRepresentationNodes.size(); } + + public boolean contains(NodeRenderer renderer) { + return myRepresentationNodes.contains(renderer); + } } diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/CustomFieldInplaceEditor.java b/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/CustomFieldInplaceEditor.java index 7ecebbcb3f33..757df1460383 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/CustomFieldInplaceEditor.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/CustomFieldInplaceEditor.java @@ -86,6 +86,7 @@ public class CustomFieldInplaceEditor extends XDebuggerTreeInplaceEditor { Renderer lastRenderer = descriptor.getLastRenderer(); if (lastRenderer instanceof CompoundNodeRenderer && + NodeRendererSettings.getInstance().getCustomRenderers().contains((NodeRenderer)lastRenderer) && !(((CompoundNodeRenderer)lastRenderer).getChildrenRenderer() instanceof ExpressionChildrenRenderer)) { ((CompoundNodeRenderer)lastRenderer).setChildrenRenderer(enumerationChildrenRenderer); } diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/EnumerationChildrenRenderer.java b/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/EnumerationChildrenRenderer.java index c2f606d7daa7..ca75cbbbd69f 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/EnumerationChildrenRenderer.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/tree/render/EnumerationChildrenRenderer.java @@ -22,6 +22,7 @@ import com.intellij.debugger.engine.evaluation.EvaluateException; import com.intellij.debugger.engine.evaluation.EvaluationContext; import com.intellij.debugger.engine.evaluation.TextWithImports; import com.intellij.debugger.impl.descriptors.data.UserExpressionData; +import com.intellij.debugger.settings.NodeRendererSettings; import com.intellij.debugger.ui.impl.watch.ValueDescriptorImpl; import com.intellij.debugger.ui.tree.*; import com.intellij.openapi.util.InvalidDataException; @@ -149,7 +150,8 @@ public final class EnumerationChildrenRenderer extends TypeRenderer implements C @Nullable public static EnumerationChildrenRenderer getCurrent(ValueDescriptorImpl valueDescriptor) { Renderer renderer = valueDescriptor.getLastRenderer(); - if (renderer instanceof CompoundNodeRenderer) { + if (renderer instanceof CompoundNodeRenderer && + NodeRendererSettings.getInstance().getCustomRenderers().contains((NodeRenderer)renderer)) { ChildrenRenderer childrenRenderer = ((CompoundNodeRenderer)renderer).getChildrenRenderer(); if (childrenRenderer instanceof EnumerationChildrenRenderer) { return (EnumerationChildrenRenderer)childrenRenderer; diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java index 2013268331ec..c23def894c65 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/ControlFlowAnalyzer.java @@ -1252,7 +1252,8 @@ public class ControlFlowAnalyzer extends JavaElementVisitor { } PsiExpression[] expressions = expression.getArgumentList().getExpressions(); - PsiElement method = methodExpression.resolve(); + JavaResolveResult result = methodExpression.advancedResolve(false); + PsiElement method = result.getElement(); PsiParameter[] parameters = method instanceof PsiMethod ? ((PsiMethod)method).getParameterList().getParameters() : null; boolean isEqualsCall = expressions.length == 1 && method instanceof PsiMethod && "equals".equals(((PsiMethod)method).getName()) && parameters.length == 1 && @@ -1263,7 +1264,7 @@ public class ControlFlowAnalyzer extends JavaElementVisitor { PsiExpression paramExpr = expressions[i]; paramExpr.accept(this); if (parameters != null && i < parameters.length) { - generateBoxingUnboxingInstructionFor(paramExpr, parameters[i].getType()); + generateBoxingUnboxingInstructionFor(paramExpr, result.getSubstitutor().substitute(parameters[i].getType())); } if (i == 0 && isEqualsCall) { // stack: .., qualifier, arg1 diff --git a/java/java-impl/src/com/intellij/codeInsight/editorActions/JavaLineIndentProvider.java b/java/java-impl/src/com/intellij/codeInsight/editorActions/JavaLineIndentProvider.java index e5df223d7360..3502dd3986c1 100644 --- a/java/java-impl/src/com/intellij/codeInsight/editorActions/JavaLineIndentProvider.java +++ b/java/java-impl/src/com/intellij/codeInsight/editorActions/JavaLineIndentProvider.java @@ -43,6 +43,7 @@ public class JavaLineIndentProvider extends JavaLikeLangLineIndentProvider { SYNTAX_MAP.put(JavaTokenType.LBRACE, BlockOpeningBrace); SYNTAX_MAP.put(JavaTokenType.RBRACE, BlockClosingBrace); SYNTAX_MAP.put(JavaTokenType.LBRACKET, ArrayOpeningBracket); + SYNTAX_MAP.put(JavaTokenType.RBRACKET, ArrayClosingBracket); SYNTAX_MAP.put(JavaTokenType.RPARENTH, RightParenthesis); SYNTAX_MAP.put(JavaTokenType.LPARENTH, LeftParenthesis); SYNTAX_MAP.put(JavaTokenType.COLON, Colon); diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/OptionalOfNullable.java b/java/java-tests/testData/inspection/dataFlow/fixture/OptionalOfNullable.java index bd5756d4a6e2..01b5e3ba40cf 100644 --- a/java/java-tests/testData/inspection/dataFlow/fixture/OptionalOfNullable.java +++ b/java/java-tests/testData/inspection/dataFlow/fixture/OptionalOfNullable.java @@ -20,5 +20,11 @@ class Test { return Optional.ofNullable(null); } + long field; + + Optional getName4() { + return Optional.ofNullable(field); + } + } diff --git a/java/jdkAnnotations/java/lang/annotations.xml b/java/jdkAnnotations/java/lang/annotations.xml index cf2eac34d518..098ef28db6a4 100644 --- a/java/jdkAnnotations/java/lang/annotations.xml +++ b/java/jdkAnnotations/java/lang/annotations.xml @@ -67,6 +67,9 @@ + + + diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/lineIndent/JavaLikeLangLineIndentProvider.java b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/lineIndent/JavaLikeLangLineIndentProvider.java index 202d2ff31dea..5999d4f81299 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/lineIndent/JavaLikeLangLineIndentProvider.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/lineIndent/JavaLikeLangLineIndentProvider.java @@ -45,6 +45,7 @@ public abstract class JavaLikeLangLineIndentProvider implements LineIndentProvid BlockOpeningBrace, BlockClosingBrace, ArrayOpeningBracket, + ArrayClosingBracket, RightParenthesis, LeftParenthesis, Colon, @@ -199,6 +200,9 @@ public abstract class JavaLikeLangLineIndentProvider implements LineIndentProvid else if (position.isAt(BlockClosingBrace)) { position.beforeParentheses(BlockOpeningBrace, BlockClosingBrace); } + else if (position.isAt(ArrayClosingBracket)) { + position.beforeParentheses(ArrayOpeningBracket, ArrayClosingBracket); + } else if (position.isAtAnyOf(Semicolon, BlockOpeningBrace, BlockComment, diff --git a/platform/lang-impl/src/com/intellij/ui/ColorLineMarkerProvider.java b/platform/lang-impl/src/com/intellij/ui/ColorLineMarkerProvider.java index 2b649aa6c0ea..8e9a16b47a0e 100644 --- a/platform/lang-impl/src/com/intellij/ui/ColorLineMarkerProvider.java +++ b/platform/lang-impl/src/com/intellij/ui/ColorLineMarkerProvider.java @@ -76,11 +76,11 @@ public final class ColorLineMarkerProvider implements LineMarkerProvider { public void navigate(MouseEvent e, PsiElement elt) { if (!elt.isWritable()) return; - final Editor editor = PsiUtilBase.findEditor(element); + final Editor editor = PsiUtilBase.findEditor(elt); assert editor != null; final Color c = ColorChooser.chooseColor(editor.getComponent(), "Choose Color", color, true); if (c != null) { - WriteAction.run(() -> colorProvider.setColorTo(element, c)); + WriteAction.run(() -> colorProvider.setColorTo(elt, c)); } } }, diff --git a/platform/testFramework/src/com/intellij/mock/MockModule.java b/platform/testFramework/src/com/intellij/mock/MockModule.java index 2b0fc2c77dc9..878d1871cb9f 100644 --- a/platform/testFramework/src/com/intellij/mock/MockModule.java +++ b/platform/testFramework/src/com/intellij/mock/MockModule.java @@ -28,6 +28,7 @@ import org.jetbrains.annotations.Nullable; */ public class MockModule extends MockComponentManager implements Module { private final Project myProject; + private String myName = "MockModule"; public MockModule(@NotNull Disposable parentDisposable) { this(null, parentDisposable); @@ -114,7 +115,12 @@ public class MockModule extends MockComponentManager implements Module { @Override @NotNull public String getName() { - return "MockModule"; + return myName; + } + + public MockModule setName(String name) { + myName = name; + return this; } @Override diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/dgm/DGMMemberContributor.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/dgm/DGMMemberContributor.java index 696ef2f66fb2..0143c83caa1b 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/dgm/DGMMemberContributor.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/dgm/DGMMemberContributor.java @@ -15,6 +15,8 @@ */ package org.jetbrains.plugins.groovy.dgm; +import com.intellij.lang.properties.IProperty; +import com.intellij.lang.properties.psi.PropertiesFile; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Couple; import com.intellij.psi.*; @@ -26,13 +28,15 @@ import com.intellij.psi.util.CachedValuesManager; import com.intellij.psi.util.PsiModificationTracker; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.lang.resolve.NonCodeMembersContributor; import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil; import java.util.List; import java.util.concurrent.ConcurrentMap; +import static org.jetbrains.plugins.groovy.lang.psi.util.GroovyCommonClassNames.DEFAULT_INSTANCE_EXTENSIONS; +import static org.jetbrains.plugins.groovy.lang.psi.util.GroovyCommonClassNames.DEFAULT_STATIC_EXTENSIONS; + /** * Provides members from extension classes referenced in {@code META-INF/services/org.codehaus.groovy.runtime.ExtensionModule}. */ @@ -72,7 +76,7 @@ public class DGMMemberContributor extends NonCodeMembersContributor { List gdkMethods = ContainerUtil.newArrayList(); JavaPsiFacade facade = JavaPsiFacade.getInstance(project); - Couple> extensions = GroovyExtensionProvider.getInstance(project).collectExtensions(resolveScope); + Couple> extensions = collectExtensions(project, resolveScope); for (String category : extensions.getFirst()) { PsiClass clazz = facade.findClass(category, resolveScope); if (clazz != null) { @@ -87,4 +91,39 @@ public class DGMMemberContributor extends NonCodeMembersContributor { } return gdkMethods; } + + @NotNull + private static Couple> collectExtensions(@NotNull Project project, @NotNull GlobalSearchScope resolveScope) { + List instanceClasses = ContainerUtil.newArrayList(DEFAULT_INSTANCE_EXTENSIONS); + List staticClasses = ContainerUtil.newArrayList(DEFAULT_STATIC_EXTENSIONS); + doCollectExtensions(project, resolveScope, instanceClasses, staticClasses); + return Couple.of(instanceClasses, staticClasses); + } + + private static void doCollectExtensions(@NotNull Project project, + @NotNull GlobalSearchScope resolveScope, + List instanceClasses, + List staticClasses) { + PsiPackage aPackage = JavaPsiFacade.getInstance(project).findPackage("META-INF.services"); + if (aPackage == null) return; + + for (PsiDirectory directory : aPackage.getDirectories(resolveScope)) { + PsiFile file = directory.findFile(DGMUtil.ORG_CODEHAUS_GROOVY_RUNTIME_EXTENSION_MODULE); + if (file instanceof PropertiesFile) { + IProperty inst = ((PropertiesFile)file).findPropertyByKey("extensionClasses"); + IProperty stat = ((PropertiesFile)file).findPropertyByKey("staticExtensionClasses"); + + if (inst != null) collectClasses(inst, instanceClasses); + if (stat != null) collectClasses(stat, staticClasses); + } + } + } + + private static void collectClasses(IProperty pr, List classes) { + String value = pr.getUnescapedValue(); + if (value == null) return; + value = value.trim(); + String[] qnames = value.split("\\s*,\\s*"); + ContainerUtil.addAll(classes, qnames); + } } diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/dgm/DGMUtil.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/dgm/DGMUtil.java index 09c00afbfd4a..faf605c098f2 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/dgm/DGMUtil.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/dgm/DGMUtil.java @@ -25,12 +25,13 @@ import com.intellij.psi.PsiFile; * @author Max Medvedev */ public class DGMUtil { + public static final String ORG_CODEHAUS_GROOVY_RUNTIME_EXTENSION_MODULE = "org.codehaus.groovy.runtime.ExtensionModule"; public static final String[] KEYS = new String[]{"moduleName", "moduleVersion", "extensionClasses", "staticExtensionClasses",}; public static boolean isInDGMFile(PsiElement e) { PsiFile file = e.getContainingFile(); return file instanceof PropertiesFile && - Comparing.equal(file.getName(), GroovyExtensionProvider.ORG_CODEHAUS_GROOVY_RUNTIME_EXTENSION_MODULE, + Comparing.equal(file.getName(), ORG_CODEHAUS_GROOVY_RUNTIME_EXTENSION_MODULE, SystemInfo.isFileSystemCaseSensitive); } } diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/dgm/GroovyExtensionProvider.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/dgm/GroovyExtensionProvider.java deleted file mode 100644 index f1963f84f03c..000000000000 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/dgm/GroovyExtensionProvider.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright 2000-2014 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. - */ -package org.jetbrains.plugins.groovy.dgm; - -import com.intellij.lang.properties.IProperty; -import com.intellij.lang.properties.psi.PropertiesFile; -import com.intellij.openapi.components.ServiceManager; -import com.intellij.openapi.project.Project; -import com.intellij.openapi.util.Condition; -import com.intellij.openapi.util.Couple; -import com.intellij.psi.JavaPsiFacade; -import com.intellij.psi.PsiDirectory; -import com.intellij.psi.PsiFile; -import com.intellij.psi.PsiPackage; -import com.intellij.psi.search.GlobalSearchScope; -import com.intellij.util.containers.ContainerUtil; -import org.jetbrains.annotations.NonNls; -import org.jetbrains.annotations.NotNull; - -import java.util.List; - -import static org.jetbrains.plugins.groovy.lang.psi.util.GroovyCommonClassNames.DEFAULT_INSTANCE_EXTENSIONS; -import static org.jetbrains.plugins.groovy.lang.psi.util.GroovyCommonClassNames.DEFAULT_STATIC_EXTENSIONS; - -/** - * @author Max Medvedev - */ -public class GroovyExtensionProvider { - @NonNls public static final String ORG_CODEHAUS_GROOVY_RUNTIME_EXTENSION_MODULE = "org.codehaus.groovy.runtime.ExtensionModule"; - private final Project myProject; - - public GroovyExtensionProvider(Project project) { - myProject = project; - } - - public static GroovyExtensionProvider getInstance(Project project) { - return ServiceManager.getService(project, GroovyExtensionProvider.class); - } - - public Couple> collectExtensions(@NotNull GlobalSearchScope resolveScope) { - List instanceClasses = ContainerUtil.newArrayList(DEFAULT_INSTANCE_EXTENSIONS); - List staticClasses = ContainerUtil.newArrayList(DEFAULT_STATIC_EXTENSIONS); - doCollectExtensions(resolveScope, instanceClasses, staticClasses); - return Couple.of(instanceClasses, staticClasses); - } - - private void doCollectExtensions(@NotNull GlobalSearchScope resolveScope, List instanceClasses, List staticClasses) { - PsiPackage aPackage = JavaPsiFacade.getInstance(myProject).findPackage("META-INF.services"); - if (aPackage == null) return; - - for (PsiDirectory directory : aPackage.getDirectories(resolveScope)) { - PsiFile file = directory.findFile(ORG_CODEHAUS_GROOVY_RUNTIME_EXTENSION_MODULE); - if (file instanceof PropertiesFile) { - IProperty inst = ((PropertiesFile)file).findPropertyByKey("extensionClasses"); - IProperty stat = ((PropertiesFile)file).findPropertyByKey("staticExtensionClasses"); - - if (inst != null) collectClasses(inst, instanceClasses); - if (stat != null) collectClasses(stat, staticClasses); - } - } - } - - private static void collectClasses(IProperty pr, List classes) { - String value = pr.getUnescapedValue(); - if (value == null) return; - value = value.trim(); - String[] qnames = value.split("\\s*,\\s*"); - ContainerUtil.addAll(classes, qnames); - } - - public static class GroovyExtensionVetoSPI implements Condition { - - @Override - public boolean value(String s) { - return ORG_CODEHAUS_GROOVY_RUNTIME_EXTENSION_MODULE.equals(s); - } - } -} diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/dgm/GroovyExtensionVetoSPI.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/dgm/GroovyExtensionVetoSPI.java new file mode 100644 index 000000000000..1c99743f8281 --- /dev/null +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/dgm/GroovyExtensionVetoSPI.java @@ -0,0 +1,26 @@ +/* + * Copyright 2000-2016 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. + */ +package org.jetbrains.plugins.groovy.dgm; + +import com.intellij.openapi.util.Condition; + +public class GroovyExtensionVetoSPI implements Condition { + + @Override + public boolean value(String s) { + return DGMUtil.ORG_CODEHAUS_GROOVY_RUNTIME_EXTENSION_MODULE.equals(s); + } +} diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/GroovyCoreEnvironment.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/GroovyCoreEnvironment.java index 3a90f63ba359..585c6321d66b 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/GroovyCoreEnvironment.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/GroovyCoreEnvironment.java @@ -66,7 +66,6 @@ import org.jetbrains.plugins.groovy.configSlurper.ConfigSlurperMapContentProvide import org.jetbrains.plugins.groovy.configSlurper.GroovyMapValueTypeEnhancer; import org.jetbrains.plugins.groovy.dgm.DGMImplicitPropertyUsageProvider; import org.jetbrains.plugins.groovy.dgm.DGMMemberContributor; -import org.jetbrains.plugins.groovy.dgm.GroovyExtensionProvider; import org.jetbrains.plugins.groovy.dsl.DslActivationStatus; import org.jetbrains.plugins.groovy.dsl.GroovyDslAnnotator; import org.jetbrains.plugins.groovy.dsl.GroovyDslFileIndex; @@ -359,7 +358,6 @@ public class GroovyCoreEnvironment { project.registerService(GroovyPsiManager.class, GroovyPsiManager.class); project.registerService(GroovyCodeStyleManager.class, CoreGroovyCodeStyleManager.class); project.registerService(GroovyCodeStyleSettingsFacade.class, CoreGroovyCodeStyleSettingsFacade.class); - project.registerService(GroovyExtensionProvider.class, GroovyExtensionProvider.class); projectEnvironment.addProjectExtension(PsiShortNamesCache.EP_NAME, new GroovyShortNamesCache(project)); projectEnvironment.addProjectExtension(PsiElementFinder.EP_NAME, new GroovyClassFinder(project)); TextEditorHighlightingPassRegistrar registrar = TextEditorHighlightingPassRegistrar.getInstance(project); diff --git a/plugins/groovy/src/META-INF/plugin.xml b/plugins/groovy/src/META-INF/plugin.xml index 9ac4d73c13f1..a1d2009df337 100644 --- a/plugins/groovy/src/META-INF/plugin.xml +++ b/plugins/groovy/src/META-INF/plugin.xml @@ -576,7 +576,7 @@ - + @@ -626,9 +626,6 @@ - - diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/dgm/DGMFileTypeFactory.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/dgm/DGMFileTypeFactory.java index e82c560e4571..d3cbd33d66ff 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/dgm/DGMFileTypeFactory.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/dgm/DGMFileTypeFactory.java @@ -29,7 +29,7 @@ public class DGMFileTypeFactory extends FileTypeFactory { @Override public void createFileTypes(@NotNull FileTypeConsumer consumer) { - ExactFileNameMatcher matcher = new ExactFileNameMatcher(GroovyExtensionProvider.ORG_CODEHAUS_GROOVY_RUNTIME_EXTENSION_MODULE, + ExactFileNameMatcher matcher = new ExactFileNameMatcher(DGMUtil.ORG_CODEHAUS_GROOVY_RUNTIME_EXTENSION_MODULE, !SystemInfo.isFileSystemCaseSensitive); consumer.consume(PropertiesFileType.INSTANCE, matcher); }