diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/cache/TypeInfo.java b/java/java-psi-impl/src/com/intellij/psi/impl/cache/TypeInfo.java index 89624b0363fa..8a21c554ebad 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/cache/TypeInfo.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/cache/TypeInfo.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2014 JetBrains s.r.o. + * 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. @@ -50,30 +50,17 @@ import static com.intellij.util.BitUtil.isSet; public class TypeInfo { private static final String[] ourIndexFrequentType; private static final TObjectIntHashMap ourFrequentTypeIndex; - static { ourIndexFrequentType = new String[]{ "", - "boolean", - "byte", - "char", - "double", - "float", - "int", - "long", - "null", - "short", - "void", - CommonClassNames.JAVA_LANG_OBJECT_SHORT, - CommonClassNames.JAVA_LANG_OBJECT, - CommonClassNames.JAVA_LANG_STRING_SHORT, - CommonClassNames.JAVA_LANG_STRING + "boolean", "byte", "char", "double", "float", "int", "long", "null", "short", "void", + CommonClassNames.JAVA_LANG_OBJECT_SHORT, CommonClassNames.JAVA_LANG_OBJECT, + CommonClassNames.JAVA_LANG_STRING_SHORT, CommonClassNames.JAVA_LANG_STRING }; ourFrequentTypeIndex = new TObjectIntHashMap(); for (int i = 0; i < ourIndexFrequentType.length; i++) { - String type = ourIndexFrequentType[i]; - ourFrequentTypeIndex.put(type, i); + ourFrequentTypeIndex.put(ourIndexFrequentType[i], i); } } @@ -282,4 +269,4 @@ public class TypeInfo { int frequentIndex = ourFrequentTypeIndex.get(type); return frequentIndex == 0 ? type : ourIndexFrequentType[frequentIndex]; } -} +} \ No newline at end of file diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/compiled/StubBuildingVisitor.java b/java/java-psi-impl/src/com/intellij/psi/impl/compiled/StubBuildingVisitor.java index c679847459d7..868b71ece175 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/compiled/StubBuildingVisitor.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/compiled/StubBuildingVisitor.java @@ -29,7 +29,6 @@ import com.intellij.psi.impl.java.stubs.impl.*; import com.intellij.psi.stubs.PsiFileStub; import com.intellij.psi.stubs.StubElement; import com.intellij.util.ArrayUtil; -import com.intellij.util.BitUtil; import com.intellij.util.Consumer; import com.intellij.util.Function; import com.intellij.util.cls.ClsFormatException; @@ -49,6 +48,7 @@ import static com.intellij.openapi.util.Pair.pair; import static com.intellij.psi.CommonClassNames.JAVA_LANG_ANNOTATION_ANNOTATION; import static com.intellij.psi.CommonClassNames.JAVA_LANG_STRING; import static com.intellij.psi.impl.compiled.ClsFileImpl.EMPTY_ATTRIBUTES; +import static com.intellij.util.BitUtil.isSet; /** * @author max @@ -101,10 +101,10 @@ public class StubBuildingVisitor extends ClassVisitor { String shortName = myShortName != null && name.endsWith(myShortName) ? myShortName : PsiNameHelper.getShortClassName(fqn); int flags = myAccess | access; - boolean isDeprecated = BitUtil.isSet(flags, Opcodes.ACC_DEPRECATED); - boolean isInterface = BitUtil.isSet(flags, Opcodes.ACC_INTERFACE); - boolean isEnum = BitUtil.isSet(flags, Opcodes.ACC_ENUM); - boolean isAnnotationType = BitUtil.isSet(flags, Opcodes.ACC_ANNOTATION); + boolean isDeprecated = isSet(flags, Opcodes.ACC_DEPRECATED); + boolean isInterface = isSet(flags, Opcodes.ACC_INTERFACE); + boolean isEnum = isSet(flags, Opcodes.ACC_ENUM); + boolean isAnnotationType = isSet(flags, Opcodes.ACC_ANNOTATION); byte stubFlags = PsiClassStubImpl.packFlags(isDeprecated, isInterface, isEnum, false, false, isAnnotationType, false, false); myResult = new PsiClassStubImpl(JavaStubElementTypes.CLASS, myParent, fqn, shortName, null, stubFlags); @@ -206,39 +206,39 @@ public class StubBuildingVisitor extends ClassVisitor { private static int packCommonFlags(int access) { int flags = 0; - if (BitUtil.isSet(access, Opcodes.ACC_PRIVATE)) flags |= ModifierFlags.PRIVATE_MASK; - else if (BitUtil.isSet(access, Opcodes.ACC_PROTECTED)) flags |= ModifierFlags.PROTECTED_MASK; - else if (BitUtil.isSet(access, Opcodes.ACC_PUBLIC)) flags |= ModifierFlags.PUBLIC_MASK; + if (isSet(access, Opcodes.ACC_PRIVATE)) flags |= ModifierFlags.PRIVATE_MASK; + else if (isSet(access, Opcodes.ACC_PROTECTED)) flags |= ModifierFlags.PROTECTED_MASK; + else if (isSet(access, Opcodes.ACC_PUBLIC)) flags |= ModifierFlags.PUBLIC_MASK; else flags |= ModifierFlags.PACKAGE_LOCAL_MASK; - if (BitUtil.isSet(access, Opcodes.ACC_STATIC)) flags |= ModifierFlags.STATIC_MASK; - if (BitUtil.isSet(access, Opcodes.ACC_FINAL)) flags |= ModifierFlags.FINAL_MASK; + if (isSet(access, Opcodes.ACC_STATIC)) flags |= ModifierFlags.STATIC_MASK; + if (isSet(access, Opcodes.ACC_FINAL)) flags |= ModifierFlags.FINAL_MASK; return flags; } private static int packClassFlags(int access) { int flags = packCommonFlags(access); - if (BitUtil.isSet(access, Opcodes.ACC_ABSTRACT)) flags |= ModifierFlags.ABSTRACT_MASK; + if (isSet(access, Opcodes.ACC_ABSTRACT)) flags |= ModifierFlags.ABSTRACT_MASK; return flags; } private static int packFieldFlags(int access) { int flags = packCommonFlags(access); - if (BitUtil.isSet(access, Opcodes.ACC_VOLATILE)) flags |= ModifierFlags.VOLATILE_MASK; - if (BitUtil.isSet(access, Opcodes.ACC_TRANSIENT)) flags |= ModifierFlags.TRANSIENT_MASK; + if (isSet(access, Opcodes.ACC_VOLATILE)) flags |= ModifierFlags.VOLATILE_MASK; + if (isSet(access, Opcodes.ACC_TRANSIENT)) flags |= ModifierFlags.TRANSIENT_MASK; return flags; } private static int packMethodFlags(int access, boolean isInterface) { int flags = packCommonFlags(access); - if (BitUtil.isSet(access, Opcodes.ACC_SYNCHRONIZED)) flags |= ModifierFlags.SYNCHRONIZED_MASK; - if (BitUtil.isSet(access, Opcodes.ACC_NATIVE)) flags |= ModifierFlags.NATIVE_MASK; - if (BitUtil.isSet(access, Opcodes.ACC_STRICT)) flags |= ModifierFlags.STRICTFP_MASK; + if (isSet(access, Opcodes.ACC_SYNCHRONIZED)) flags |= ModifierFlags.SYNCHRONIZED_MASK; + if (isSet(access, Opcodes.ACC_NATIVE)) flags |= ModifierFlags.NATIVE_MASK; + if (isSet(access, Opcodes.ACC_STRICT)) flags |= ModifierFlags.STRICTFP_MASK; - if (BitUtil.isSet(access, Opcodes.ACC_ABSTRACT)) flags |= ModifierFlags.ABSTRACT_MASK; - else if (isInterface && !BitUtil.isSet(access, Opcodes.ACC_STATIC)) flags |= ModifierFlags.DEFENDER_MASK; + if (isSet(access, Opcodes.ACC_ABSTRACT)) flags |= ModifierFlags.ABSTRACT_MASK; + else if (isInterface && !isSet(access, Opcodes.ACC_STATIC)) flags |= ModifierFlags.DEFENDER_MASK; return flags; } @@ -267,7 +267,7 @@ public class StubBuildingVisitor extends ClassVisitor { @Override public void visitInnerClass(String name, String outerName, String innerName, int access) { - if (BitUtil.isSet(access, Opcodes.ACC_SYNTHETIC)) return; + if (isSet(access, Opcodes.ACC_SYNTHETIC)) return; if (innerName == null || outerName == null) return; if (myParent instanceof PsiFileStub && myInternalName.equals(name)) { @@ -285,16 +285,15 @@ public class StubBuildingVisitor extends ClassVisitor { @Override @Nullable public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { - if (BitUtil.isSet(access, Opcodes.ACC_SYNTHETIC)) return null; + if (isSet(access, Opcodes.ACC_SYNTHETIC)) return null; if (name == null) return null; - byte flags = PsiFieldStubImpl.packFlags(BitUtil.isSet(access, Opcodes.ACC_ENUM), BitUtil.isSet(access, Opcodes.ACC_DEPRECATED), false, - false); + byte flags = PsiFieldStubImpl.packFlags(isSet(access, Opcodes.ACC_ENUM), isSet(access, Opcodes.ACC_DEPRECATED), false, false); TypeInfo type = fieldType(desc, signature); String initializer = constToString(value, type.text, false, myMapping); PsiFieldStub stub = new PsiFieldStubImpl(myResult, name, type, initializer, flags); PsiModifierListStub modList = new PsiModifierListStubImpl(stub, packFieldFlags(access)); - return new AnnotationCollectingVisitor(modList, myMapping); + return new FieldAnnotationCollectingVisitor(modList, myMapping); } private TypeInfo fieldType(String desc, String signature) { @@ -322,7 +321,7 @@ public class StubBuildingVisitor extends ClassVisitor { // must be marked as synthetic, except for default constructors and the class initialization method. // However Scala compiler erroneously generates ACC_BRIDGE instead of ACC_SYNTHETIC flag for in-trait implementation delegation. // See IDEA-78649 - if (BitUtil.isSet(access, Opcodes.ACC_SYNTHETIC)) return null; + if (isSet(access, Opcodes.ACC_SYNTHETIC)) return null; if (name == null) return null; if (SYNTHETIC_CLASS_INIT_METHOD.equals(name)) return null; @@ -335,9 +334,9 @@ public class StubBuildingVisitor extends ClassVisitor { } boolean isConstructor = SYNTHETIC_INIT_METHOD.equals(name); - boolean isDeprecated = BitUtil.isSet(access, Opcodes.ACC_DEPRECATED); - boolean isVarargs = BitUtil.isSet(access, Opcodes.ACC_VARARGS); - boolean isStatic = BitUtil.isSet(access, Opcodes.ACC_STATIC); + boolean isDeprecated = isSet(access, Opcodes.ACC_DEPRECATED); + boolean isVarargs = isSet(access, Opcodes.ACC_VARARGS); + boolean isStatic = isSet(access, Opcodes.ACC_STATIC); boolean isAnnotationMethod = myResult.isAnnotationType(); byte flags = PsiMethodStubImpl.packFlags(isConstructor, isAnnotationMethod, isVarargs, isDeprecated, false, false); @@ -372,7 +371,7 @@ public class StubBuildingVisitor extends ClassVisitor { boolean isEnumConstructor = isEnum && isConstructor; boolean isInnerClassConstructor = isConstructor && !(myParent instanceof PsiFileStub) && - !BitUtil.isSet(myModList.getModifiersMask(), Opcodes.ACC_STATIC); + !isSet(myModList.getModifiersMask(), Opcodes.ACC_STATIC); List args = info.argTypes; if (!generic && isEnumConstructor && args.size() >= 2 && JAVA_LANG_STRING.equals(args.get(0)) && "int".equals(args.get(1))) { @@ -401,7 +400,7 @@ public class StubBuildingVisitor extends ClassVisitor { int localVarIgnoreCount = isStatic ? 0 : isEnumConstructor ? 3 : 1; int paramIgnoreCount = isEnumConstructor ? 2 : isInnerClassConstructor ? 1 : 0; - return new AnnotationParamCollectingVisitor(stub, modList, localVarIgnoreCount, paramIgnoreCount, paramCount, paramStubs, myMapping); + return new ParameterAnnotationCollectingVisitor(stub, modList, localVarIgnoreCount, paramIgnoreCount, paramCount, paramStubs, myMapping); } private MethodInfo parseMethodSignature(String signature, String[] exceptions) throws ClsFormatException { @@ -556,11 +555,11 @@ public class StubBuildingVisitor extends ClassVisitor { } } - private static class AnnotationCollectingVisitor extends FieldVisitor { + private static class FieldAnnotationCollectingVisitor extends FieldVisitor { private final PsiModifierListStub myModList; private final Function myMapping; - private AnnotationCollectingVisitor(PsiModifierListStub modList, Function mapping) { + private FieldAnnotationCollectingVisitor(PsiModifierListStub modList, Function mapping) { super(ASM_API); myModList = modList; myMapping = mapping; @@ -577,7 +576,7 @@ public class StubBuildingVisitor extends ClassVisitor { } } - private static class AnnotationParamCollectingVisitor extends MethodVisitor { + private static class ParameterAnnotationCollectingVisitor extends MethodVisitor { private final PsiMethodStub myOwner; private final PsiModifierListStub myModList; private final int myIgnoreCount; @@ -588,13 +587,13 @@ public class StubBuildingVisitor extends ClassVisitor { private int myUsedParamSize = 0; private int myUsedParamCount = 0; - private AnnotationParamCollectingVisitor(PsiMethodStub owner, - PsiModifierListStub modList, - int ignoreCount, - int paramIgnoreCount, - int paramCount, - PsiParameterStubImpl[] paramStubs, - Function mapping) { + private ParameterAnnotationCollectingVisitor(PsiMethodStub owner, + PsiModifierListStub modList, + int ignoreCount, + int paramIgnoreCount, + int paramCount, + PsiParameterStubImpl[] paramStubs, + Function mapping) { super(ASM_API); myOwner = owner; myModList = modList; diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/impl/PsiAnnotationStubImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/impl/PsiAnnotationStubImpl.java index 582fc99aeb5d..fd4cc294b77b 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/impl/PsiAnnotationStubImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/impl/PsiAnnotationStubImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2015 JetBrains s.r.o. + * 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. @@ -44,7 +44,7 @@ public class PsiAnnotationStubImpl extends StubBase implements Ps private final String myText; private SoftReference myParsedFromRepository; - public PsiAnnotationStubImpl(final StubElement parent, final String text) { + public PsiAnnotationStubImpl(StubElement parent, String text) { super(parent, JavaStubElementTypes.ANNOTATION); CharSequence interned = CharTableImpl.getStaticInterned(text); myText = interned == null ? text : interned.toString(); @@ -58,11 +58,9 @@ public class PsiAnnotationStubImpl extends StubBase implements Ps @Override public PsiAnnotation getPsiElement() { PsiAnnotation annotation = SoftReference.dereference(myParsedFromRepository); - if (annotation != null) { - return annotation; - } + if (annotation != null) return annotation; - final String text = getText(); + String text = getText(); try { PsiJavaParserFacade facade = JavaPsiFacade.getInstance(getProject()).getParserFacade(); annotation = facade.createAnnotationFromText(text, getPsi()); @@ -76,8 +74,7 @@ public class PsiAnnotationStubImpl extends StubBase implements Ps } @Override - @SuppressWarnings({"HardCodedStringLiteral"}) public String toString() { - return "PsiAnnotationStub[" + myText + "]"; + return "PsiAnnotationStub[" + myText + ']'; } -} +} \ No newline at end of file diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/impl/PsiFieldStubImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/impl/PsiFieldStubImpl.java index 7bf6e3a2d4ea..ab0c309b940e 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/impl/PsiFieldStubImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/java/stubs/impl/PsiFieldStubImpl.java @@ -30,16 +30,16 @@ import org.jetbrains.annotations.Nullable; * @author max */ public class PsiFieldStubImpl extends StubBase implements PsiFieldStub { - private final StringRef myName; - private final TypeInfo myType; - private final StringRef myInitializer; - private final byte myFlags; - private static final int ENUM_CONST = 0x01; private static final int DEPRECATED = 0x02; private static final int DEPRECATED_ANNOTATION = 0x04; private static final int HAS_DOC_COMMENT = 0x08; + private final StringRef myName; + private final TypeInfo myType; + private final StringRef myInitializer; + private final byte myFlags; + public PsiFieldStubImpl(StubElement parent, String name, @NotNull TypeInfo type, @Nullable String initializer, byte flags) { this(parent, StringRef.fromString(name), type, StringRef.fromString(initializer), flags); } @@ -105,7 +105,7 @@ public class PsiFieldStubImpl extends StubBase implements PsiFieldStub return flags; } - @SuppressWarnings({"HardCodedStringLiteral"}) + @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("PsiFieldStub["); @@ -123,7 +123,7 @@ public class PsiFieldStubImpl extends StubBase implements PsiFieldStub builder.append('=').append(myInitializer); } - builder.append("]"); + builder.append(']'); return builder.toString(); } -} +} \ No newline at end of file