Class ConstantPoolParser
- java.lang.Object
-
- org.apache.maven.shared.dependency.analyzer.asm.ConstantPoolParser
-
public class ConstantPoolParser extends java.lang.Object
A small parser to read the constant pool directly, in case it contains references ASM does not support. Adapted from http://stackoverflow.com/a/32278587/23691 Constant pool types:- See Also:
- JVM 9 Sepc, JVM 10 Sepc
-
-
Field Summary
Fields Modifier and Type Field Description static byte
CONSTANT_CLASS
static byte
CONSTANT_DOUBLE
static byte
CONSTANT_FIELDREF
static byte
CONSTANT_FLOAT
static byte
CONSTANT_INTEGER
static byte
CONSTANT_INTERFACEMETHODREF
static byte
CONSTANT_INVOKE_DYNAMIC
static byte
CONSTANT_LONG
static byte
CONSTANT_METHOD_TYPE
static byte
CONSTANT_METHODHANDLE
static byte
CONSTANT_METHODREF
static byte
CONSTANT_MODULE
static byte
CONSTANT_NAME_AND_TYPE
static byte
CONSTANT_PACKAGE
static byte
CONSTANT_STRING
static byte
CONSTANT_UTF8
static int
HEAD
private static int
OX3F
private static int
OXE0
private static int
OXF0
-
Constructor Summary
Constructors Constructor Description ConstantPoolParser()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static java.lang.String
decodeString(java.nio.ByteBuffer buf)
(package private) static java.util.Set<java.lang.String>
getConstantPoolClassReferences(byte[] b)
(package private) static java.util.Set<java.lang.String>
parseConstantPoolClassReferences(java.nio.ByteBuffer buf)
-
-
-
Field Detail
-
HEAD
public static final int HEAD
- See Also:
- Constant Field Values
-
CONSTANT_UTF8
public static final byte CONSTANT_UTF8
- See Also:
- Constant Field Values
-
CONSTANT_INTEGER
public static final byte CONSTANT_INTEGER
- See Also:
- Constant Field Values
-
CONSTANT_FLOAT
public static final byte CONSTANT_FLOAT
- See Also:
- Constant Field Values
-
CONSTANT_LONG
public static final byte CONSTANT_LONG
- See Also:
- Constant Field Values
-
CONSTANT_DOUBLE
public static final byte CONSTANT_DOUBLE
- See Also:
- Constant Field Values
-
CONSTANT_CLASS
public static final byte CONSTANT_CLASS
- See Also:
- Constant Field Values
-
CONSTANT_STRING
public static final byte CONSTANT_STRING
- See Also:
- Constant Field Values
-
CONSTANT_FIELDREF
public static final byte CONSTANT_FIELDREF
- See Also:
- Constant Field Values
-
CONSTANT_METHODREF
public static final byte CONSTANT_METHODREF
- See Also:
- Constant Field Values
-
CONSTANT_INTERFACEMETHODREF
public static final byte CONSTANT_INTERFACEMETHODREF
- See Also:
- Constant Field Values
-
CONSTANT_NAME_AND_TYPE
public static final byte CONSTANT_NAME_AND_TYPE
- See Also:
- Constant Field Values
-
CONSTANT_METHODHANDLE
public static final byte CONSTANT_METHODHANDLE
- See Also:
- Constant Field Values
-
CONSTANT_METHOD_TYPE
public static final byte CONSTANT_METHOD_TYPE
- See Also:
- Constant Field Values
-
CONSTANT_INVOKE_DYNAMIC
public static final byte CONSTANT_INVOKE_DYNAMIC
- See Also:
- Constant Field Values
-
CONSTANT_MODULE
public static final byte CONSTANT_MODULE
- See Also:
- Constant Field Values
-
CONSTANT_PACKAGE
public static final byte CONSTANT_PACKAGE
- See Also:
- Constant Field Values
-
OXF0
private static final int OXF0
- See Also:
- Constant Field Values
-
OXE0
private static final int OXE0
- See Also:
- Constant Field Values
-
OX3F
private static final int OX3F
- See Also:
- Constant Field Values
-
-
Method Detail
-
getConstantPoolClassReferences
static java.util.Set<java.lang.String> getConstantPoolClassReferences(byte[] b)
-
parseConstantPoolClassReferences
static java.util.Set<java.lang.String> parseConstantPoolClassReferences(java.nio.ByteBuffer buf)
-
decodeString
private static java.lang.String decodeString(java.nio.ByteBuffer buf)
-
-