diff --git a/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/AbstractFileType.java b/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/AbstractFileType.java index 6c97ebe15c37..74c42b44a365 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/AbstractFileType.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/AbstractFileType.java @@ -328,12 +328,9 @@ public class AbstractFileType extends UserFileType implements } @Nullable - static Element writeMapping(String typeName, @NotNull FileNameMatcher matcher, boolean specifyTypeName) { + static Element writeMapping(@NotNull String typeName, @NotNull FileNameMatcher matcher, boolean specifyTypeName) { Element mapping = new Element(ELEMENT_MAPPING); - if (matcher instanceof ExtensionFileNameMatcher) { - mapping.setAttribute(ATTRIBUTE_EXT, ((ExtensionFileNameMatcher)matcher).getExtension()); - } - else if (writePattern(matcher, mapping)) { + if (!writePattern(matcher, mapping)) { return null; } @@ -344,17 +341,21 @@ public class AbstractFileType extends UserFileType implements return mapping; } - static boolean writePattern(FileNameMatcher matcher, Element mapping) { - if (matcher instanceof WildcardFileNameMatcher) { + // returns true if written + static boolean writePattern(@NotNull FileNameMatcher matcher, @NotNull Element mapping) { + if (matcher instanceof ExtensionFileNameMatcher) { + mapping.setAttribute(ATTRIBUTE_EXT, ((ExtensionFileNameMatcher)matcher).getExtension()); + } + else if (matcher instanceof WildcardFileNameMatcher) { mapping.setAttribute(ATTRIBUTE_PATTERN, ((WildcardFileNameMatcher)matcher).getPattern()); } else if (matcher instanceof ExactFileNameMatcher) { mapping.setAttribute(ATTRIBUTE_PATTERN, ((ExactFileNameMatcher)matcher).getFileName()); } else { - return true; + return false; } - return false; + return true; } @Override diff --git a/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/RemovedMappingTracker.java b/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/RemovedMappingTracker.java index 86e5b35c6cc6..2e64b5697c2a 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/RemovedMappingTracker.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/RemovedMappingTracker.java @@ -152,10 +152,7 @@ class RemovedMappingTracker { boolean specifyTypeName, boolean approved) { Element mapping = new Element(ELEMENT_REMOVED_MAPPING); - if (matcher instanceof ExtensionFileNameMatcher) { - mapping.setAttribute(AbstractFileType.ATTRIBUTE_EXT, ((ExtensionFileNameMatcher)matcher).getExtension()); - } - else if (AbstractFileType.writePattern(matcher, mapping)) { + if (!AbstractFileType.writePattern(matcher, mapping)) { return null; } if (approved) {