From 1a776c807f8ad3edff3c288b2301c4a412172e1b Mon Sep 17 00:00:00 2001 From: Dennis Ushakov Date: Wed, 29 Mar 2017 22:53:57 +0300 Subject: [PATCH] mark tokens in data characters as foreign language as they may contain injections (see xml) (WEB-25184) --- .../intellij/psi/impl/cache/impl/idCache/HtmlIdIndexer.java | 5 +++++ .../psi/impl/cache/impl/idCache/XHtmlFilterLexer.java | 5 +++-- .../intellij/psi/impl/cache/impl/idCache/XHtmlIdIndexer.java | 5 +++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/xml/impl/src/com/intellij/psi/impl/cache/impl/idCache/HtmlIdIndexer.java b/xml/impl/src/com/intellij/psi/impl/cache/impl/idCache/HtmlIdIndexer.java index 3686118ac246..10bdbb82cb97 100644 --- a/xml/impl/src/com/intellij/psi/impl/cache/impl/idCache/HtmlIdIndexer.java +++ b/xml/impl/src/com/intellij/psi/impl/cache/impl/idCache/HtmlIdIndexer.java @@ -30,4 +30,9 @@ public class HtmlIdIndexer extends LexerBasedIdIndexer { static XHtmlFilterLexer createIndexingLexer(OccurrenceConsumer consumer) { return new XHtmlFilterLexer(new HtmlHighlightingLexer(FileTypeManager.getInstance().getStdFileType("CSS")), consumer); } + + @Override + public int getVersion() { + return 2; + } } diff --git a/xml/xml-psi-impl/src/com/intellij/psi/impl/cache/impl/idCache/XHtmlFilterLexer.java b/xml/xml-psi-impl/src/com/intellij/psi/impl/cache/impl/idCache/XHtmlFilterLexer.java index 3663fb7aed24..29dc7def9718 100644 --- a/xml/xml-psi-impl/src/com/intellij/psi/impl/cache/impl/idCache/XHtmlFilterLexer.java +++ b/xml/xml-psi-impl/src/com/intellij/psi/impl/cache/impl/idCache/XHtmlFilterLexer.java @@ -40,8 +40,9 @@ public class XHtmlFilterLexer extends BaseFilterLexer { advanceTodoItemCountsInToken(); } else if (tokenType == XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN || tokenType == XmlTokenType.XML_NAME || - tokenType == XmlTokenType.XML_TAG_NAME - ) { + tokenType == XmlTokenType.XML_TAG_NAME || + tokenType == XmlTokenType.XML_DATA_CHARACTERS + ) { scanWordsInToken(UsageSearchContext.IN_PLAIN_TEXT | UsageSearchContext.IN_FOREIGN_LANGUAGES, tokenType == XmlTokenType.XML_ATTRIBUTE_VALUE_TOKEN, false); diff --git a/xml/xml-psi-impl/src/com/intellij/psi/impl/cache/impl/idCache/XHtmlIdIndexer.java b/xml/xml-psi-impl/src/com/intellij/psi/impl/cache/impl/idCache/XHtmlIdIndexer.java index be9c3946e97f..f1952c6102e9 100644 --- a/xml/xml-psi-impl/src/com/intellij/psi/impl/cache/impl/idCache/XHtmlIdIndexer.java +++ b/xml/xml-psi-impl/src/com/intellij/psi/impl/cache/impl/idCache/XHtmlIdIndexer.java @@ -29,4 +29,9 @@ public class XHtmlIdIndexer extends LexerBasedIdIndexer { static XHtmlFilterLexer createIndexingLexer(OccurrenceConsumer consumer) { return new XHtmlFilterLexer(new XHtmlHighlightingLexer(), consumer); } + + @Override + public int getVersion() { + return 2; + } }