diff --git a/java/java-impl/src/com/intellij/psi/impl/search/JspIndexPatternBuilder.java b/java/java-impl/src/com/intellij/psi/impl/search/JspIndexPatternBuilder.java index c5124896d19b..6011081b0051 100644 --- a/java/java-impl/src/com/intellij/psi/impl/search/JspIndexPatternBuilder.java +++ b/java/java-impl/src/com/intellij/psi/impl/search/JspIndexPatternBuilder.java @@ -26,7 +26,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.JspPsiUtil; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiFile; -import com.intellij.psi.impl.cache.impl.id.IdTableBuilding; +import com.intellij.psi.impl.cache.impl.id.PlatformIdTableBuilding; import com.intellij.psi.impl.source.tree.StdTokenSets; import com.intellij.psi.jsp.JspFile; import com.intellij.psi.jsp.JspTokenType; @@ -47,7 +47,7 @@ public class JspIndexPatternBuilder implements IndexPatternBuilder { boolean alreadyInitializedHighlighter = false; if ((cachedEditorHighlighter = EditorHighlighterCache.getEditorHighlighterForCachesBuilding(document)) != null && - IdTableBuilding.checkCanUseCachedEditorHighlighter(file.getText(), cachedEditorHighlighter)) { + PlatformIdTableBuilding.checkCanUseCachedEditorHighlighter(file.getText(), cachedEditorHighlighter)) { highlighter = cachedEditorHighlighter; alreadyInitializedHighlighter = true; } diff --git a/platform/lang-api/src/com/intellij/lang/cacheBuilder/CacheBuilderRegistry.java b/platform/indexing-api/src/com/intellij/lang/cacheBuilder/CacheBuilderRegistry.java similarity index 100% rename from platform/lang-api/src/com/intellij/lang/cacheBuilder/CacheBuilderRegistry.java rename to platform/indexing-api/src/com/intellij/lang/cacheBuilder/CacheBuilderRegistry.java diff --git a/platform/lang-api/src/com/intellij/lang/cacheBuilder/DefaultWordsScanner.java b/platform/indexing-api/src/com/intellij/lang/cacheBuilder/DefaultWordsScanner.java similarity index 100% rename from platform/lang-api/src/com/intellij/lang/cacheBuilder/DefaultWordsScanner.java rename to platform/indexing-api/src/com/intellij/lang/cacheBuilder/DefaultWordsScanner.java diff --git a/platform/lang-api/src/com/intellij/lang/cacheBuilder/SimpleWordsScanner.java b/platform/indexing-api/src/com/intellij/lang/cacheBuilder/SimpleWordsScanner.java similarity index 98% rename from platform/lang-api/src/com/intellij/lang/cacheBuilder/SimpleWordsScanner.java rename to platform/indexing-api/src/com/intellij/lang/cacheBuilder/SimpleWordsScanner.java index 0254640eb460..6273654982a9 100644 --- a/platform/lang-api/src/com/intellij/lang/cacheBuilder/SimpleWordsScanner.java +++ b/platform/indexing-api/src/com/intellij/lang/cacheBuilder/SimpleWordsScanner.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 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. diff --git a/platform/lang-api/src/com/intellij/lang/cacheBuilder/WordOccurrence.java b/platform/indexing-api/src/com/intellij/lang/cacheBuilder/WordOccurrence.java similarity index 98% rename from platform/lang-api/src/com/intellij/lang/cacheBuilder/WordOccurrence.java rename to platform/indexing-api/src/com/intellij/lang/cacheBuilder/WordOccurrence.java index 596dce8076d1..9a9018cb9078 100644 --- a/platform/lang-api/src/com/intellij/lang/cacheBuilder/WordOccurrence.java +++ b/platform/indexing-api/src/com/intellij/lang/cacheBuilder/WordOccurrence.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 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. diff --git a/platform/lang-api/src/com/intellij/lang/cacheBuilder/WordsScanner.java b/platform/indexing-api/src/com/intellij/lang/cacheBuilder/WordsScanner.java similarity index 97% rename from platform/lang-api/src/com/intellij/lang/cacheBuilder/WordsScanner.java rename to platform/indexing-api/src/com/intellij/lang/cacheBuilder/WordsScanner.java index 4ffba0bc283a..0bfd41d0e483 100644 --- a/platform/lang-api/src/com/intellij/lang/cacheBuilder/WordsScanner.java +++ b/platform/indexing-api/src/com/intellij/lang/cacheBuilder/WordsScanner.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 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. diff --git a/platform/lang-api/src/com/intellij/lang/findUsages/EmptyFindUsagesProvider.java b/platform/indexing-api/src/com/intellij/lang/findUsages/EmptyFindUsagesProvider.java similarity index 97% rename from platform/lang-api/src/com/intellij/lang/findUsages/EmptyFindUsagesProvider.java rename to platform/indexing-api/src/com/intellij/lang/findUsages/EmptyFindUsagesProvider.java index 617cd8c775a6..c3400711ac1b 100644 --- a/platform/lang-api/src/com/intellij/lang/findUsages/EmptyFindUsagesProvider.java +++ b/platform/indexing-api/src/com/intellij/lang/findUsages/EmptyFindUsagesProvider.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 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. diff --git a/platform/lang-api/src/com/intellij/lang/findUsages/FindUsagesProvider.java b/platform/indexing-api/src/com/intellij/lang/findUsages/FindUsagesProvider.java similarity index 98% rename from platform/lang-api/src/com/intellij/lang/findUsages/FindUsagesProvider.java rename to platform/indexing-api/src/com/intellij/lang/findUsages/FindUsagesProvider.java index 9b7ccbc7b733..a56b0e126acc 100644 --- a/platform/lang-api/src/com/intellij/lang/findUsages/FindUsagesProvider.java +++ b/platform/indexing-api/src/com/intellij/lang/findUsages/FindUsagesProvider.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 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. diff --git a/platform/lang-api/src/com/intellij/lang/findUsages/LanguageFindUsages.java b/platform/indexing-api/src/com/intellij/lang/findUsages/LanguageFindUsages.java similarity index 95% rename from platform/lang-api/src/com/intellij/lang/findUsages/LanguageFindUsages.java rename to platform/indexing-api/src/com/intellij/lang/findUsages/LanguageFindUsages.java index 0a2820262e5f..9a830f393286 100644 --- a/platform/lang-api/src/com/intellij/lang/findUsages/LanguageFindUsages.java +++ b/platform/indexing-api/src/com/intellij/lang/findUsages/LanguageFindUsages.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 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. diff --git a/platform/lang-api/src/com/intellij/psi/CustomHighlighterTokenType.java b/platform/indexing-api/src/com/intellij/psi/CustomHighlighterTokenType.java similarity index 100% rename from platform/lang-api/src/com/intellij/psi/CustomHighlighterTokenType.java rename to platform/indexing-api/src/com/intellij/psi/CustomHighlighterTokenType.java diff --git a/platform/lang-api/src/com/intellij/psi/search/IndexPattern.java b/platform/indexing-api/src/com/intellij/psi/search/IndexPattern.java similarity index 100% rename from platform/lang-api/src/com/intellij/psi/search/IndexPattern.java rename to platform/indexing-api/src/com/intellij/psi/search/IndexPattern.java diff --git a/platform/lang-api/src/com/intellij/psi/search/IndexPatternProvider.java b/platform/indexing-api/src/com/intellij/psi/search/IndexPatternProvider.java similarity index 100% rename from platform/lang-api/src/com/intellij/psi/search/IndexPatternProvider.java rename to platform/indexing-api/src/com/intellij/psi/search/IndexPatternProvider.java diff --git a/platform/lang-api/src/com/intellij/psi/search/UsageSearchContext.java b/platform/indexing-api/src/com/intellij/psi/search/UsageSearchContext.java similarity index 96% rename from platform/lang-api/src/com/intellij/psi/search/UsageSearchContext.java rename to platform/indexing-api/src/com/intellij/psi/search/UsageSearchContext.java index ec8e3e86419f..34935e4fbf26 100644 --- a/platform/lang-api/src/com/intellij/psi/search/UsageSearchContext.java +++ b/platform/indexing-api/src/com/intellij/psi/search/UsageSearchContext.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 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. diff --git a/platform/indexing-impl/indexing-impl.iml b/platform/indexing-impl/indexing-impl.iml index 373eaa417d53..8446a9dbc69c 100644 --- a/platform/indexing-impl/indexing-impl.iml +++ b/platform/indexing-impl/indexing-impl.iml @@ -8,6 +8,7 @@ + diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/AbstractCustomLexer.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/AbstractCustomLexer.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/AbstractCustomLexer.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/AbstractCustomLexer.java diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/CustomFileTypeLexer.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/CustomFileTypeLexer.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/CustomFileTypeLexer.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/CustomFileTypeLexer.java diff --git a/platform/platform-impl/src/com/intellij/ide/highlighter/custom/SyntaxTable.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/SyntaxTable.java similarity index 100% rename from platform/platform-impl/src/com/intellij/ide/highlighter/custom/SyntaxTable.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/SyntaxTable.java diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/BraceTokenParser.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/BraceTokenParser.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/BraceTokenParser.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/BraceTokenParser.java diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/HexNumberParser.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/HexNumberParser.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/HexNumberParser.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/HexNumberParser.java diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/IdentifierParser.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/IdentifierParser.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/IdentifierParser.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/IdentifierParser.java diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/KeywordParser.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/KeywordParser.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/KeywordParser.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/KeywordParser.java diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/LineCommentParser.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/LineCommentParser.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/LineCommentParser.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/LineCommentParser.java diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/MultilineCommentParser.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/MultilineCommentParser.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/MultilineCommentParser.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/MultilineCommentParser.java diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/NumberParser.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/NumberParser.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/NumberParser.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/NumberParser.java diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/PrefixedTokenParser.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/PrefixedTokenParser.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/PrefixedTokenParser.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/PrefixedTokenParser.java diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/PunctuationParser.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/PunctuationParser.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/PunctuationParser.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/PunctuationParser.java diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/QuotedStringParser.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/QuotedStringParser.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/QuotedStringParser.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/QuotedStringParser.java diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/TokenInfo.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/TokenInfo.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/TokenInfo.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/TokenInfo.java diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/TokenParser.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/TokenParser.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/TokenParser.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/TokenParser.java diff --git a/platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/WhitespaceParser.java b/platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/WhitespaceParser.java similarity index 100% rename from platform/lang-impl/src/com/intellij/ide/highlighter/custom/tokens/WhitespaceParser.java rename to platform/indexing-impl/src/com/intellij/ide/highlighter/custom/tokens/WhitespaceParser.java diff --git a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/IndexPatternUtil.java b/platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/IndexPatternUtil.java similarity index 100% rename from platform/lang-impl/src/com/intellij/psi/impl/cache/impl/IndexPatternUtil.java rename to platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/IndexPatternUtil.java diff --git a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/OccurrenceConsumer.java b/platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/OccurrenceConsumer.java similarity index 100% rename from platform/lang-impl/src/com/intellij/psi/impl/cache/impl/OccurrenceConsumer.java rename to platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/OccurrenceConsumer.java diff --git a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/FileTypeIdIndexer.java b/platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/id/FileTypeIdIndexer.java similarity index 95% rename from platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/FileTypeIdIndexer.java rename to platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/id/FileTypeIdIndexer.java index 3b62ced1aa00..f770ac1d5d97 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/FileTypeIdIndexer.java +++ b/platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/id/FileTypeIdIndexer.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 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. diff --git a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/IdIndexEntry.java b/platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/id/IdIndexEntry.java similarity index 97% rename from platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/IdIndexEntry.java rename to platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/id/IdIndexEntry.java index 9a940cf41241..2dc2842021db 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/IdIndexEntry.java +++ b/platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/id/IdIndexEntry.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 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. diff --git a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/IdIndexers.java b/platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/id/IdIndexers.java similarity index 95% rename from platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/IdIndexers.java rename to platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/id/IdIndexers.java index 77fa23144eda..db1fcf6d91b1 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/IdIndexers.java +++ b/platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/id/IdIndexers.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 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. diff --git a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/todo/TodoIndexEntry.java b/platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/todo/TodoIndexEntry.java similarity index 100% rename from platform/lang-impl/src/com/intellij/psi/impl/cache/impl/todo/TodoIndexEntry.java rename to platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/todo/TodoIndexEntry.java diff --git a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/todo/TodoIndexers.java b/platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/todo/TodoIndexers.java similarity index 100% rename from platform/lang-impl/src/com/intellij/psi/impl/cache/impl/todo/TodoIndexers.java rename to platform/indexing-impl/src/com/intellij/psi/impl/cache/impl/todo/TodoIndexers.java diff --git a/platform/lang-impl/src/com/intellij/util/indexing/IdDataConsumer.java b/platform/indexing-impl/src/com/intellij/util/indexing/IdDataConsumer.java similarity index 97% rename from platform/lang-impl/src/com/intellij/util/indexing/IdDataConsumer.java rename to platform/indexing-impl/src/com/intellij/util/indexing/IdDataConsumer.java index 18088f3b5f61..841be6f90278 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/IdDataConsumer.java +++ b/platform/indexing-impl/src/com/intellij/util/indexing/IdDataConsumer.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 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. @@ -22,7 +22,6 @@ import gnu.trove.THashMap; import gnu.trove.TIntIntHashMap; import gnu.trove.TIntIntProcedure; -import java.util.HashMap; import java.util.Map; /** diff --git a/platform/lang-api/src/com/intellij/psi/search/PsiSearchHelper.java b/platform/lang-api/src/com/intellij/psi/search/PsiSearchHelper.java index ed5c1f093bec..15ff4815a4b8 100644 --- a/platform/lang-api/src/com/intellij/psi/search/PsiSearchHelper.java +++ b/platform/lang-api/src/com/intellij/psi/search/PsiSearchHelper.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 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. diff --git a/platform/lang-impl/lang-impl.iml b/platform/lang-impl/lang-impl.iml index cf57ba46c814..7c6fff5ea654 100644 --- a/platform/lang-impl/lang-impl.iml +++ b/platform/lang-impl/lang-impl.iml @@ -22,7 +22,7 @@ - + diff --git a/platform/lang-impl/src/com/intellij/find/findUsages/DefaultFindUsagesHandlerFactory.java b/platform/lang-impl/src/com/intellij/find/findUsages/DefaultFindUsagesHandlerFactory.java index 4bbbef3f1274..5c921cc9471d 100644 --- a/platform/lang-impl/src/com/intellij/find/findUsages/DefaultFindUsagesHandlerFactory.java +++ b/platform/lang-impl/src/com/intellij/find/findUsages/DefaultFindUsagesHandlerFactory.java @@ -16,7 +16,6 @@ package com.intellij.find.findUsages; import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiFile; import com.intellij.lang.findUsages.LanguageFindUsages; import com.intellij.psi.PsiFileSystemItem; import org.jetbrains.annotations.NotNull; diff --git a/platform/lang-impl/src/com/intellij/openapi/fileTypes/PlainTextSyntaxHighlighterFactory.java b/platform/lang-impl/src/com/intellij/openapi/fileTypes/PlainTextSyntaxHighlighterFactory.java index 6251aa3a93eb..927e4c729737 100644 --- a/platform/lang-impl/src/com/intellij/openapi/fileTypes/PlainTextSyntaxHighlighterFactory.java +++ b/platform/lang-impl/src/com/intellij/openapi/fileTypes/PlainTextSyntaxHighlighterFactory.java @@ -20,13 +20,11 @@ package com.intellij.openapi.fileTypes; import com.intellij.ide.highlighter.custom.AbstractCustomLexer; -import com.intellij.ide.highlighter.custom.CustomHighlighterColors; import com.intellij.ide.highlighter.custom.tokens.*; import com.intellij.lexer.Lexer; import com.intellij.openapi.editor.colors.TextAttributesKey; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.psi.CustomHighlighterTokenType; import com.intellij.psi.tree.IElementType; import org.jetbrains.annotations.NotNull; diff --git a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/BaseFilterLexerUtil.java b/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/BaseFilterLexerUtil.java index 1e7c3d7c7743..7ac97fa442fa 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/BaseFilterLexerUtil.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/BaseFilterLexerUtil.java @@ -21,7 +21,6 @@ import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.psi.impl.cache.impl.id.IdIndexEntry; import com.intellij.psi.impl.cache.impl.id.IdTableBuilding; import com.intellij.psi.impl.cache.impl.id.LexerBasedIdIndexer; -import com.intellij.psi.impl.cache.impl.todo.LexerBasedTodoIndexer; import com.intellij.psi.impl.cache.impl.todo.TodoIndexEntry; import com.intellij.psi.search.IndexPattern; import com.intellij.util.indexing.FileContent; @@ -29,7 +28,6 @@ import com.intellij.util.indexing.IdDataConsumer; import gnu.trove.THashMap; import java.util.Collections; -import java.util.HashMap; import java.util.Map; public class BaseFilterLexerUtil { diff --git a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/IdTableBuilding.java b/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/IdTableBuilding.java index bb8dc7f3104f..7d61c806e49d 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/IdTableBuilding.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/IdTableBuilding.java @@ -16,39 +16,26 @@ package com.intellij.psi.impl.cache.impl.id; -import com.intellij.ide.highlighter.HighlighterFactory; import com.intellij.ide.highlighter.custom.CustomFileTypeLexer; -import com.intellij.idea.LoggerFactory; import com.intellij.lang.Language; -import com.intellij.lang.LanguageParserDefinitions; -import com.intellij.lang.ParserDefinition; import com.intellij.lang.cacheBuilder.*; import com.intellij.lang.findUsages.FindUsagesProvider; import com.intellij.lang.findUsages.LanguageFindUsages; -import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.editor.ex.util.LexerEditorHighlighter; -import com.intellij.openapi.editor.highlighter.EditorHighlighter; -import com.intellij.openapi.editor.highlighter.HighlighterIterator; import com.intellij.openapi.fileTypes.FileType; -import com.intellij.openapi.fileTypes.FileTypes; import com.intellij.openapi.fileTypes.LanguageFileType; -import com.intellij.openapi.fileTypes.StdFileTypes; import com.intellij.openapi.fileTypes.impl.AbstractFileType; -import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.CustomHighlighterTokenType; -import com.intellij.psi.impl.cache.impl.BaseFilterLexer; -import com.intellij.psi.impl.cache.impl.CacheUtil; import com.intellij.psi.impl.cache.impl.IndexPatternUtil; import com.intellij.psi.impl.cache.impl.OccurrenceConsumer; import com.intellij.psi.impl.cache.impl.todo.TodoIndexEntry; import com.intellij.psi.impl.cache.impl.todo.TodoIndexers; import com.intellij.psi.search.IndexPattern; import com.intellij.psi.search.UsageSearchContext; -import com.intellij.psi.tree.IElementType; import com.intellij.psi.tree.TokenSet; import com.intellij.util.Processor; -import com.intellij.util.containers.CollectionFactory; -import com.intellij.util.indexing.*; +import com.intellij.util.indexing.DataIndexer; +import com.intellij.util.indexing.FileContent; +import com.intellij.util.indexing.IdDataConsumer; import com.intellij.util.text.CharArrayUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -123,8 +110,6 @@ public class IdTableBuilding { } private static final HashMap ourIdIndexers = new HashMap(); - private static final HashMap> ourTodoIndexers = - new HashMap>(); @Deprecated public static void registerIdIndexer(FileType fileType, FileTypeIdIndexer indexer) { @@ -133,7 +118,7 @@ public class IdTableBuilding { @Deprecated public static void registerTodoIndexer(FileType fileType, DataIndexer indexer) { - ourTodoIndexers.put(fileType, indexer); + PlatformIdTableBuilding.ourTodoIndexers.put(fileType, indexer); } public static boolean isIdIndexerRegistered(FileType fileType) { @@ -144,18 +129,7 @@ public class IdTableBuilding { return ourIdIndexers.containsKey(fileType) || TodoIndexers.INSTANCE.forFileType(fileType) != null; } - static { - registerIdIndexer(FileTypes.PLAIN_TEXT, new PlainTextIndexer()); - registerTodoIndexer(FileTypes.PLAIN_TEXT, new PlainTextTodoIndexer()); - registerIdIndexer(StdFileTypes.IDEA_MODULE, null); - registerIdIndexer(StdFileTypes.IDEA_WORKSPACE, null); - registerIdIndexer(StdFileTypes.IDEA_PROJECT, null); - - registerTodoIndexer(StdFileTypes.IDEA_MODULE, null); - registerTodoIndexer(StdFileTypes.IDEA_WORKSPACE, null); - registerTodoIndexer(StdFileTypes.IDEA_PROJECT, null); - } @Nullable public static FileTypeIdIndexer getFileTypeIndexer(FileType fileType) { @@ -201,46 +175,6 @@ public class IdTableBuilding { } - private static final TokenSet ABSTRACT_FILE_COMMENT_TOKENS = - TokenSet.create(CustomHighlighterTokenType.LINE_COMMENT, CustomHighlighterTokenType.MULTI_LINE_COMMENT); - - @Nullable - public static DataIndexer getTodoIndexer(FileType fileType, final VirtualFile virtualFile) { - final DataIndexer indexer = ourTodoIndexers.get(fileType); - - if (indexer != null) { - return indexer; - } - - final DataIndexer extIndexer; - if (fileType instanceof SubstitutedFileType) { - SubstitutedFileType sft = (SubstitutedFileType)fileType; - extIndexer = - new CompositeTodoIndexer(getTodoIndexer(sft.getOriginalFileType(), virtualFile), getTodoIndexer(sft.getFileType(), virtualFile)); - } - else { - extIndexer = TodoIndexers.INSTANCE.forFileType(fileType); - } - if (extIndexer != null) { - return extIndexer; - } - - if (fileType instanceof LanguageFileType) { - final Language lang = ((LanguageFileType)fileType).getLanguage(); - final ParserDefinition parserDef = LanguageParserDefinitions.INSTANCE.forLanguage(lang); - final TokenSet commentTokens = parserDef != null ? parserDef.getCommentTokens() : null; - if (commentTokens != null) { - return new TokenSetTodoIndexer(commentTokens, virtualFile); - } - } - - if (fileType instanceof AbstractFileType) { - return new TokenSetTodoIndexer(ABSTRACT_FILE_COMMENT_TOKENS, virtualFile); - } - - return null; - } - private static class WordsScannerFileTypeIdIndexerAdapter extends FileTypeIdIndexer { private final WordsScanner myScanner; @@ -279,102 +213,6 @@ public class IdTableBuilding { } } - private static class CompositeTodoIndexer implements DataIndexer { - - private final DataIndexer[] indexers; - - public CompositeTodoIndexer(DataIndexer... indexers) { - this.indexers = indexers; - } - - @NotNull - @Override - public Map map(FileContent inputData) { - Map result = CollectionFactory.newTroveMap(); - for (DataIndexer indexer : indexers) { - for (Map.Entry entry : indexer.map(inputData).entrySet()) { - TodoIndexEntry key = entry.getKey(); - if (result.containsKey(key)) { - result.put(key, result.get(key) + entry.getValue()); - } else { - result.put(key, entry.getValue()); - } - } - } - return result; - } - } - - private static class TokenSetTodoIndexer implements DataIndexer { - @NotNull private final TokenSet myCommentTokens; - private final VirtualFile myFile; - - public TokenSetTodoIndexer(@NotNull final TokenSet commentTokens, @NotNull final VirtualFile file) { - myCommentTokens = commentTokens; - myFile = file; - } - - @Override - @NotNull - public Map map(final FileContent inputData) { - if (IndexPatternUtil.getIndexPatternCount() > 0) { - final CharSequence chars = inputData.getContentAsText(); - final OccurrenceConsumer occurrenceConsumer = new OccurrenceConsumer(null, true); - EditorHighlighter highlighter; - - final EditorHighlighter editorHighlighter = inputData.getUserData(FileBasedIndexImpl.EDITOR_HIGHLIGHTER); - if (editorHighlighter != null && checkCanUseCachedEditorHighlighter(chars, editorHighlighter)) { - highlighter = editorHighlighter; - } - else { - highlighter = HighlighterFactory.createHighlighter(null, myFile); - highlighter.setText(chars); - } - - final int documentLength = chars.length(); - BaseFilterLexer.TodoScanningData[] todoScanningDatas = null; - final HighlighterIterator iterator = highlighter.createIterator(0); - - while (!iterator.atEnd()) { - final IElementType token = iterator.getTokenType(); - - if (myCommentTokens.contains(token) || CacheUtil.isInComments(token)) { - int start = iterator.getStart(); - if (start >= documentLength) break; - int end = iterator.getEnd(); - - todoScanningDatas = BaseFilterLexer.advanceTodoItemsCount( - chars.subSequence(start, Math.min(end, documentLength)), - occurrenceConsumer, - todoScanningDatas - ); - if (end > documentLength) break; - } - iterator.advance(); - } - final Map map = new HashMap(); - for (IndexPattern pattern : IndexPatternUtil.getIndexPatterns()) { - final int count = occurrenceConsumer.getOccurrenceCount(pattern); - if (count > 0) { - map.put(new TodoIndexEntry(pattern.getPatternString(), pattern.isCaseSensitive()), count); - } - } - return map; - } - return Collections.emptyMap(); - } - } - - public static boolean checkCanUseCachedEditorHighlighter(final CharSequence chars, final EditorHighlighter editorHighlighter) { - assert editorHighlighter instanceof LexerEditorHighlighter; - final boolean b = ((LexerEditorHighlighter)editorHighlighter).checkContentIsEqualTo(chars); - if (!b) { - final Logger logger = LoggerFactory.getInstance().getLoggerInstance(IdTableBuilding.class.getName()); - logger.warn("Unexpected mismatch of editor highlighter content with indexing content"); - } - return b; - } - public static void scanWords(final ScanWordProcessor processor, final CharSequence chars, final int startOffset, final int endOffset) { scanWords(processor, chars, CharArrayUtil.fromSequenceWithoutCopying(chars), startOffset, endOffset, false); } diff --git a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/PlatformIdTableBuilding.java b/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/PlatformIdTableBuilding.java new file mode 100644 index 000000000000..80c6f558cd85 --- /dev/null +++ b/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/id/PlatformIdTableBuilding.java @@ -0,0 +1,211 @@ +/* + * Copyright 2000-2012 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 com.intellij.psi.impl.cache.impl.id; + +import com.intellij.ide.highlighter.HighlighterFactory; +import com.intellij.lang.Language; +import com.intellij.lang.LanguageParserDefinitions; +import com.intellij.lang.ParserDefinition; +import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.editor.ex.util.LexerEditorHighlighter; +import com.intellij.openapi.editor.highlighter.EditorHighlighter; +import com.intellij.openapi.editor.highlighter.HighlighterIterator; +import com.intellij.openapi.fileTypes.FileType; +import com.intellij.openapi.fileTypes.FileTypes; +import com.intellij.openapi.fileTypes.LanguageFileType; +import com.intellij.openapi.fileTypes.StdFileTypes; +import com.intellij.openapi.fileTypes.impl.AbstractFileType; +import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.psi.CustomHighlighterTokenType; +import com.intellij.psi.impl.cache.impl.BaseFilterLexer; +import com.intellij.psi.impl.cache.impl.CacheUtil; +import com.intellij.psi.impl.cache.impl.IndexPatternUtil; +import com.intellij.psi.impl.cache.impl.OccurrenceConsumer; +import com.intellij.psi.impl.cache.impl.todo.TodoIndexEntry; +import com.intellij.psi.impl.cache.impl.todo.TodoIndexers; +import com.intellij.psi.search.IndexPattern; +import com.intellij.psi.tree.IElementType; +import com.intellij.psi.tree.TokenSet; +import com.intellij.util.containers.CollectionFactory; +import com.intellij.util.indexing.DataIndexer; +import com.intellij.util.indexing.FileBasedIndexImpl; +import com.intellij.util.indexing.FileContent; +import com.intellij.util.indexing.SubstitutedFileType; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +/** + * Author: dmitrylomov + */ +public abstract class PlatformIdTableBuilding { + static final HashMap> ourTodoIndexers = + new HashMap>(); + private static final TokenSet ABSTRACT_FILE_COMMENT_TOKENS = + TokenSet.create(CustomHighlighterTokenType.LINE_COMMENT, CustomHighlighterTokenType.MULTI_LINE_COMMENT); + + private PlatformIdTableBuilding() {} + + @Nullable + public static DataIndexer getTodoIndexer(FileType fileType, final VirtualFile virtualFile) { + final DataIndexer indexer = ourTodoIndexers.get(fileType); + + if (indexer != null) { + return indexer; + } + + final DataIndexer extIndexer; + if (fileType instanceof SubstitutedFileType) { + SubstitutedFileType sft = (SubstitutedFileType)fileType; + extIndexer = + new CompositeTodoIndexer(getTodoIndexer(sft.getOriginalFileType(), virtualFile), getTodoIndexer(sft.getFileType(), virtualFile)); + } + else { + extIndexer = TodoIndexers.INSTANCE.forFileType(fileType); + } + if (extIndexer != null) { + return extIndexer; + } + + if (fileType instanceof LanguageFileType) { + final Language lang = ((LanguageFileType)fileType).getLanguage(); + final ParserDefinition parserDef = LanguageParserDefinitions.INSTANCE.forLanguage(lang); + final TokenSet commentTokens = parserDef != null ? parserDef.getCommentTokens() : null; + if (commentTokens != null) { + return new TokenSetTodoIndexer(commentTokens, virtualFile); + } + } + + if (fileType instanceof AbstractFileType) { + return new TokenSetTodoIndexer(ABSTRACT_FILE_COMMENT_TOKENS, virtualFile); + } + + return null; + } + + public static boolean checkCanUseCachedEditorHighlighter(final CharSequence chars, final EditorHighlighter editorHighlighter) { + assert editorHighlighter instanceof LexerEditorHighlighter; + final boolean b = ((LexerEditorHighlighter)editorHighlighter).checkContentIsEqualTo(chars); + if (!b) { + final Logger logger = Logger.getInstance(IdTableBuilding.class.getName()); + logger.warn("Unexpected mismatch of editor highlighter content with indexing content"); + } + return b; + } + + + private static class CompositeTodoIndexer implements DataIndexer { + + private final DataIndexer[] indexers; + + public CompositeTodoIndexer(DataIndexer... indexers) { + this.indexers = indexers; + } + + @NotNull + @Override + public Map map(FileContent inputData) { + Map result = CollectionFactory.newTroveMap(); + for (DataIndexer indexer : indexers) { + for (Map.Entry entry : indexer.map(inputData).entrySet()) { + TodoIndexEntry key = entry.getKey(); + if (result.containsKey(key)) { + result.put(key, result.get(key) + entry.getValue()); + } else { + result.put(key, entry.getValue()); + } + } + } + return result; + } + } + + private static class TokenSetTodoIndexer implements DataIndexer { + @NotNull private final TokenSet myCommentTokens; + private final VirtualFile myFile; + + public TokenSetTodoIndexer(@NotNull final TokenSet commentTokens, @NotNull final VirtualFile file) { + myCommentTokens = commentTokens; + myFile = file; + } + + @Override + @NotNull + public Map map(final FileContent inputData) { + if (IndexPatternUtil.getIndexPatternCount() > 0) { + final CharSequence chars = inputData.getContentAsText(); + final OccurrenceConsumer occurrenceConsumer = new OccurrenceConsumer(null, true); + EditorHighlighter highlighter; + + final EditorHighlighter editorHighlighter = inputData.getUserData(FileBasedIndexImpl.EDITOR_HIGHLIGHTER); + if (editorHighlighter != null && checkCanUseCachedEditorHighlighter(chars, editorHighlighter)) { + highlighter = editorHighlighter; + } + else { + highlighter = HighlighterFactory.createHighlighter(null, myFile); + highlighter.setText(chars); + } + + final int documentLength = chars.length(); + BaseFilterLexer.TodoScanningData[] todoScanningDatas = null; + final HighlighterIterator iterator = highlighter.createIterator(0); + + while (!iterator.atEnd()) { + final IElementType token = iterator.getTokenType(); + + if (myCommentTokens.contains(token) || CacheUtil.isInComments(token)) { + int start = iterator.getStart(); + if (start >= documentLength) break; + int end = iterator.getEnd(); + + todoScanningDatas = BaseFilterLexer.advanceTodoItemsCount( + chars.subSequence(start, Math.min(end, documentLength)), + occurrenceConsumer, + todoScanningDatas + ); + if (end > documentLength) break; + } + iterator.advance(); + } + final Map map = new HashMap(); + for (IndexPattern pattern : IndexPatternUtil.getIndexPatterns()) { + final int count = occurrenceConsumer.getOccurrenceCount(pattern); + if (count > 0) { + map.put(new TodoIndexEntry(pattern.getPatternString(), pattern.isCaseSensitive()), count); + } + } + return map; + } + return Collections.emptyMap(); + } + } + + static { + IdTableBuilding.registerIdIndexer(FileTypes.PLAIN_TEXT, new IdTableBuilding.PlainTextIndexer()); + IdTableBuilding.registerTodoIndexer(FileTypes.PLAIN_TEXT, new IdTableBuilding.PlainTextTodoIndexer()); + + IdTableBuilding.registerIdIndexer(StdFileTypes.IDEA_MODULE, null); + IdTableBuilding.registerIdIndexer(StdFileTypes.IDEA_WORKSPACE, null); + IdTableBuilding.registerIdIndexer(StdFileTypes.IDEA_PROJECT, null); + + IdTableBuilding.registerTodoIndexer(StdFileTypes.IDEA_MODULE, null); + IdTableBuilding.registerTodoIndexer(StdFileTypes.IDEA_WORKSPACE, null); + IdTableBuilding.registerTodoIndexer(StdFileTypes.IDEA_PROJECT, null); + } +} diff --git a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/todo/TodoIndex.java b/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/todo/TodoIndex.java index e4c91b7904da..19809f52fa41 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/todo/TodoIndex.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/todo/TodoIndex.java @@ -26,6 +26,7 @@ import com.intellij.openapi.project.ProjectUtil; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.impl.cache.impl.id.IdTableBuilding; +import com.intellij.psi.impl.cache.impl.id.PlatformIdTableBuilding; import com.intellij.psi.search.IndexPatternProvider; import com.intellij.psi.tree.TokenSet; import com.intellij.util.indexing.*; @@ -101,7 +102,8 @@ public class TodoIndex extends FileBasedIndexExtension @NotNull public Map map(final FileContent inputData) { final VirtualFile file = inputData.getFile(); - final DataIndexer indexer = IdTableBuilding.getTodoIndexer(inputData.getFileType(), file); + final DataIndexer indexer = PlatformIdTableBuilding + .getTodoIndexer(inputData.getFileType(), file); if (indexer != null) { return indexer.map(inputData); } diff --git a/platform/lang-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java b/platform/lang-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java index 1c115224b026..c8245d5fe416 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2012 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. diff --git a/platform/platform-impl/platform-impl.iml b/platform/platform-impl/platform-impl.iml index 11055551a29d..1732f622dc68 100644 --- a/platform/platform-impl/platform-impl.iml +++ b/platform/platform-impl/platform-impl.iml @@ -29,6 +29,8 @@ + + diff --git a/platform/platform-impl/src/com/intellij/ide/highlighter/custom/impl/ReadFileType.java b/platform/platform-impl/src/com/intellij/ide/highlighter/custom/impl/ReadFileType.java index bc63896eda7f..32491f6346da 100644 --- a/platform/platform-impl/src/com/intellij/ide/highlighter/custom/impl/ReadFileType.java +++ b/platform/platform-impl/src/com/intellij/ide/highlighter/custom/impl/ReadFileType.java @@ -17,7 +17,6 @@ package com.intellij.ide.highlighter.custom.impl; import com.intellij.ide.highlighter.custom.SyntaxTable; import com.intellij.openapi.fileTypes.impl.AbstractFileType; -import com.intellij.openapi.options.SettingsEditor; import org.jdom.Element; public class ReadFileType extends AbstractFileType {