From 780332cab50439f3f06a256fd977a882d33f6639 Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Mon, 29 Jul 2019 20:37:36 +0300 Subject: [PATCH] don't load java element types on splash GitOrigin-RevId: 00c30a875b30da340227c96a0723cdb7e2194f0b --- .../opassign/OperatorAssignmentPredicate.java | 44 ++++++++----------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/plugins/IntentionPowerPak/src/com/siyeh/ipp/opassign/OperatorAssignmentPredicate.java b/plugins/IntentionPowerPak/src/com/siyeh/ipp/opassign/OperatorAssignmentPredicate.java index 617e28fec155..50718cd598a6 100644 --- a/plugins/IntentionPowerPak/src/com/siyeh/ipp/opassign/OperatorAssignmentPredicate.java +++ b/plugins/IntentionPowerPak/src/com/siyeh/ipp/opassign/OperatorAssignmentPredicate.java @@ -19,39 +19,33 @@ import com.intellij.psi.JavaTokenType; import com.intellij.psi.PsiAssignmentExpression; import com.intellij.psi.PsiElement; import com.intellij.psi.tree.IElementType; +import com.intellij.util.containers.ContainerUtil; import com.siyeh.ipp.base.PsiElementPredicate; -import java.util.HashSet; import java.util.Set; class OperatorAssignmentPredicate implements PsiElementPredicate { - - private static final Set OPERATOR_ASSIGNMENT_TOKENS = - new HashSet(); - - static { - OPERATOR_ASSIGNMENT_TOKENS.add(JavaTokenType.PLUSEQ); - OPERATOR_ASSIGNMENT_TOKENS.add(JavaTokenType.MINUSEQ); - OPERATOR_ASSIGNMENT_TOKENS.add(JavaTokenType.ASTERISKEQ); - OPERATOR_ASSIGNMENT_TOKENS.add(JavaTokenType.PERCEQ); - OPERATOR_ASSIGNMENT_TOKENS.add(JavaTokenType.DIVEQ); - OPERATOR_ASSIGNMENT_TOKENS.add(JavaTokenType.ANDEQ); - OPERATOR_ASSIGNMENT_TOKENS.add(JavaTokenType.OREQ); - OPERATOR_ASSIGNMENT_TOKENS.add(JavaTokenType.XOREQ); - OPERATOR_ASSIGNMENT_TOKENS.add(JavaTokenType.LTLTEQ); - OPERATOR_ASSIGNMENT_TOKENS.add(JavaTokenType.GTGTEQ); - OPERATOR_ASSIGNMENT_TOKENS.add(JavaTokenType.GTGTGTEQ); + private static class Lazy { + private static final Set OPERATOR_ASSIGNMENT_TOKENS = ContainerUtil.newHashSet( + JavaTokenType.PLUSEQ, + JavaTokenType.MINUSEQ, + JavaTokenType.ASTERISKEQ, + JavaTokenType.PERCEQ, + JavaTokenType.DIVEQ, + JavaTokenType.ANDEQ, + JavaTokenType.OREQ, + JavaTokenType.XOREQ, + JavaTokenType.LTLTEQ, + JavaTokenType.GTGTEQ, + JavaTokenType.GTGTGTEQ + ); } @Override public boolean satisfiedBy(PsiElement element) { - if (!(element instanceof PsiAssignmentExpression)) { - return false; - } - final PsiAssignmentExpression assignmentExpression = - (PsiAssignmentExpression)element; - final IElementType tokenType = - assignmentExpression.getOperationTokenType(); - return OPERATOR_ASSIGNMENT_TOKENS.contains(tokenType); + if (!(element instanceof PsiAssignmentExpression)) return false; + PsiAssignmentExpression assignmentExpression = (PsiAssignmentExpression)element; + IElementType tokenType = assignmentExpression.getOperationTokenType(); + return Lazy.OPERATOR_ASSIGNMENT_TOKENS.contains(tokenType); } } \ No newline at end of file