Package org.joni
Class AsmCompilerSupport
java.lang.Object
org.joni.Compiler
org.joni.AsmCompilerSupport
- All Implemented Interfaces:
org.jcodings.exception.ErrorMessages
,AsmConstants
,ErrorMessages
,org.objectweb.asm.Opcodes
- Direct Known Subclasses:
AsmCompiler
abstract class AsmCompilerSupport
extends Compiler
implements org.objectweb.asm.Opcodes, AsmConstants
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
protected org.objectweb.asm.ClassWriter
protected org.objectweb.asm.MethodVisitor
protected String
private static final AsmCompilerSupport.DummyClassLoader
protected org.objectweb.asm.ClassWriter
protected org.objectweb.asm.MethodVisitor
protected String
protected org.objectweb.asm.MethodVisitor
protected int
protected int
protected int
(package private) static int
protected int
Fields inherited from interface org.joni.constants.internal.AsmConstants
BITSET, BYTES, CODERANGE, END, LAST_INDEX, MSA_BEGIN, MSA_BEST_LEN, MSA_BEST_S, MSA_END, MSA_OPTONS, MSA_START, RANGE, S, SPREV, SSTART, STR, TEMPLATE, THIS
Fields inherited from interface org.jcodings.exception.ErrorMessages
ERR_COULD_NOT_REPLICATE, ERR_ENCODING_ALIAS_ALREADY_REGISTERED, ERR_ENCODING_ALREADY_REGISTERED, ERR_ENCODING_CLASS_DEF_NOT_FOUND, ERR_ENCODING_LOAD_ERROR, ERR_ENCODING_REPLICA_ALREADY_REGISTERED, ERR_ILLEGAL_CHARACTER, ERR_INVALID_CHAR_PROPERTY_NAME, ERR_INVALID_CODE_POINT_VALUE, ERR_NO_SUCH_ENCODNG, ERR_TOO_BIG_WIDE_CHAR_VALUE, ERR_TOO_LONG_WIDE_CHAR_VALUE, ERR_TRANSCODER_ALREADY_REGISTERED, ERR_TRANSCODER_CLASS_DEF_NOT_FOUND, ERR_TRANSCODER_LOAD_ERROR, ERR_TYPE_BUG
Fields inherited from interface org.joni.exception.ErrorMessages
CHAR_CLASS_VALUE_AT_END_OF_RANGE, CHAR_CLASS_VALUE_AT_START_OF_RANGE, CONTROL_CODE_SYNTAX, EMPTY_CHAR_CLASS, EMPTY_GROUP_NAME, EMPTY_RANGE_IN_CHAR_CLASS, END_PATTERN_AT_CONTROL, END_PATTERN_AT_ESCAPE, END_PATTERN_AT_LEFT_BRACE, END_PATTERN_AT_LEFT_BRACKET, END_PATTERN_AT_META, END_PATTERN_IN_GROUP, END_PATTERN_WITH_UNMATCHED_PARENTHESIS, GROUP_NUMBER_OVER_FOR_CAPTURE_HISTORY, INVALID_ARGUMENT, INVALID_BACKREF, INVALID_CHAR_IN_GROUP_NAME, INVALID_COMBINATION_OF_OPTIONS, INVALID_CONDITION_PATTERN, INVALID_GROUP_NAME, INVALID_LOOK_BEHIND_PATTERN, INVALID_POSIX_BRACKET_TYPE, INVALID_REPEAT_RANGE_PATTERN, INVALID_WIDE_CHAR_VALUE, META_CODE_SYNTAX, MISMATCH_CODE_LENGTH_IN_CLASS_RANGE, MULTIPLEX_DEFINED_NAME, MULTIPLEX_DEFINITION_NAME_CALL, NESTED_REPEAT_NOT_ALLOWED, NESTED_REPEAT_OPERATOR, NEVER_ENDING_RECURSION, NOT_SUPPORTED_ENCODING_COMBINATION, NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED, OVER_THREAD_PASS_LIMIT_COUNT, PARSER_BUG, PREMATURE_END_OF_CHAR_CLASS, TARGET_OF_REPEAT_OPERATOR_INVALID, TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED, TOO_BIG_BACKREF_NUMBER, TOO_BIG_NUMBER, TOO_BIG_NUMBER_FOR_REPEAT_RANGE, TOO_BIG_SB_CHAR_VALUE, TOO_MANY_CAPTURE_GROUPS, TOO_MANY_MULTI_BYTE_RANGES, TOO_SHORT_DIGITS, TOO_SHORT_MULTI_BYTE_STRING, UNDEFINED_BYTECODE, UNDEFINED_GROUP_OPTION, UNDEFINED_GROUP_REFERENCE, UNDEFINED_NAME_REFERENCE, UNEXPECTED_BYTECODE, UNMATCHED_CLOSE_PARENTHESIS, UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS, UPPER_SMALLER_THAN_LOWER_IN_REPEAT_RANGE
Fields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_RECORD, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V16, V17, V18, V9
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected final void
aload
(int var) protected final void
astore
(int var) private void
buildArray
(int index, int value, int type) private void
installArray
(String name, byte[] arr, int p, int length) private void
installArray
(String name, int[] arr) protected final String
installBitSet
(int[] arr) protected final String
installCodeRange
(int[] arr) protected final String
installTemplate
(byte[] arr, int p, int length) protected final void
load
(int var) protected final void
protected final void
private void
loadInt
(org.objectweb.asm.MethodVisitor mv, int value) protected final void
loadThis()
protected final void
move
(int to, int from) protected final void
protected final void
protected final void
protected final void
protected final void
protected final void
protected final void
protected final void
protected final void
protected final void
store
(int var) protected final void
protected final void
Methods inherited from class org.joni.Compiler
addCompileString, compile, compileAltNode, compileAnchorNode, compileAnyCharNode, compileBackrefNode, compileCallNode, compileCClassNode, compileCECQuantifierNode, compileCTypeNode, compileEncloseNode, compileNonCECQuantifierNode, compileOptionNode, compileTree, compileTreeNTimes, finish, newInternalException, newSyntaxException, prepare
-
Field Details
-
factory
protected org.objectweb.asm.ClassWriter factory -
factoryInit
protected org.objectweb.asm.MethodVisitor factoryInit -
factoryName
-
machine
protected org.objectweb.asm.ClassWriter machine -
machineInit
protected org.objectweb.asm.MethodVisitor machineInit -
match
protected org.objectweb.asm.MethodVisitor match -
machineName
-
maxStack
protected int maxStack -
maxVars
protected int maxVars -
bitsets
protected int bitsets -
ranges
protected int ranges -
templates
protected int templates -
REG_NUM
static int REG_NUM -
loader
-
-
Constructor Details
-
AsmCompilerSupport
AsmCompilerSupport(Analyser analyser)
-
-
Method Details
-
prepareFactory
protected final void prepareFactory() -
prepareFactoryInit
protected final void prepareFactoryInit() -
setupFactoryInit
protected final void setupFactoryInit() -
prepareMachine
protected final void prepareMachine() -
prepareMachineInit
protected final void prepareMachineInit() -
setupMachineInit
protected final void setupMachineInit() -
prepareMachineMatch
protected final void prepareMachineMatch() -
setupMachineMatch
protected final void setupMachineMatch() -
setupClasses
protected final void setupClasses() -
aload
protected final void aload(int var) -
astore
protected final void astore(int var) -
loadThis
protected final void loadThis() -
load
protected final void load(int var) -
store
protected final void store(int var) -
move
protected final void move(int to, int from) -
load
-
load
-
store
-
store
-
installTemplate
-
installCodeRange
-
installBitSet
-
installArray
-
installArray
-
buildArray
private void buildArray(int index, int value, int type) -
loadInt
private void loadInt(org.objectweb.asm.MethodVisitor mv, int value)
-