diff options
Diffstat (limited to 'java/java-impl/src/com/intellij/compilerOutputIndex/api/fs/AsmUtil.java')
-rw-r--r-- | java/java-impl/src/com/intellij/compilerOutputIndex/api/fs/AsmUtil.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/java/java-impl/src/com/intellij/compilerOutputIndex/api/fs/AsmUtil.java b/java/java-impl/src/com/intellij/compilerOutputIndex/api/fs/AsmUtil.java index 315a78e69c49..0ed09484e3ad 100644 --- a/java/java-impl/src/com/intellij/compilerOutputIndex/api/fs/AsmUtil.java +++ b/java/java-impl/src/com/intellij/compilerOutputIndex/api/fs/AsmUtil.java @@ -2,11 +2,13 @@ package com.intellij.compilerOutputIndex.api.fs; import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.ArrayUtil; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.asm4.Opcodes; import org.jetbrains.asm4.Type; import java.util.ArrayList; import java.util.List; +import java.util.Set; /** * @author Dmitry Batkovich <dmitry.batkovich@jetbrains.com> @@ -52,4 +54,32 @@ public final class AsmUtil implements Opcodes { private static String asJavaInnerClassQName(final String byteCodeClassQName) { return StringUtil.replaceChar(byteCodeClassQName, '$', '.'); } + + //char + //double + //float + //int + //long + //short + //boolean + //byte + //void + //Object + //String + //Class + private static final Set<String> ASM_PRIMITIVE_TYPES = ContainerUtil.newHashSet("C", "D", "F", "I", "J", "S", "Z", "B", "V", + "Ljava/lang/Object;", + "Ljava/lang/String;", + "Ljava/lang/Class;"); + + public static boolean isPrimitive(final String asmType) { + return ASM_PRIMITIVE_TYPES.contains(asmType); + } + + public static boolean isPrimitiveOrArray(final String asmType) { + if (asmType.startsWith("[")) { + return true; + } + return isPrimitive(asmType); + } } |