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 Modifier and Type Class Description private static class
AsmCompilerSupport.DummyClassLoader
-
Field Summary
Fields Modifier and Type Field Description protected int
bitsets
protected org.objectweb.asm.ClassWriter
factory
protected org.objectweb.asm.MethodVisitor
factoryInit
protected java.lang.String
factoryName
private static AsmCompilerSupport.DummyClassLoader
loader
protected org.objectweb.asm.ClassWriter
machine
protected org.objectweb.asm.MethodVisitor
machineInit
protected java.lang.String
machineName
protected org.objectweb.asm.MethodVisitor
match
protected int
maxStack
protected int
maxVars
protected int
ranges
(package private) static int
REG_NUM
protected int
templates
-
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, DEFAULT_ENCODING_IS_NOT_SETTED, 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, MATCH_STACK_LIMIT_OVER, MEMORY, META_CODE_SYNTAX, MISMATCH, MISMATCH_CODE_LENGTH_IN_CLASS_RANGE, MULTIPLEX_DEFINED_NAME, MULTIPLEX_DEFINITION_NAME_CALL, NESTED_REPEAT_NOT_ALLOWED, NESTED_REPEAT_OPERATOR, NEVER_ENDING_RECURSION, NO_SUPPORT_CONFIG, NOT_SUPPORTED_ENCODING_COMBINATION, NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED, OVER_THREAD_PASS_LIMIT_COUNT, PARSER_BUG, PREMATURE_END_OF_CHAR_CLASS, SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR, STACK_BUG, 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, TYPE_BUG, 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_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, ASM4, ASM5, ASM6, ASM7, 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, 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, V9
-
-
Constructor Summary
Constructors Constructor Description AsmCompilerSupport(Analyser analyser)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
aload(int var)
protected void
astore(int var)
private void
buildArray(int index, int value, int type)
private void
installArray(java.lang.String name, byte[] arr, int p, int length)
private void
installArray(java.lang.String name, int[] arr)
protected java.lang.String
installBitSet(int[] arr)
protected java.lang.String
installCodeRange(int[] arr)
protected java.lang.String
installTemplate(byte[] arr, int p, int length)
protected void
load(int var)
protected void
load(java.lang.String field)
protected void
load(java.lang.String field, java.lang.String singature)
private void
loadInt(org.objectweb.asm.MethodVisitor mv, int value)
protected void
loadThis()
protected void
move(int to, int from)
protected void
prepareFactory()
protected void
prepareFactoryInit()
protected void
prepareMachine()
protected void
prepareMachineInit()
protected void
prepareMachineMatch()
protected void
setupClasses()
protected void
setupFactoryInit()
protected void
setupMachineInit()
protected void
setupMachineMatch()
protected void
store(int var)
protected void
store(java.lang.String field)
protected void
store(java.lang.String field, java.lang.String singature)
-
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 Detail
-
factory
protected org.objectweb.asm.ClassWriter factory
-
factoryInit
protected org.objectweb.asm.MethodVisitor factoryInit
-
factoryName
protected java.lang.String factoryName
-
machine
protected org.objectweb.asm.ClassWriter machine
-
machineInit
protected org.objectweb.asm.MethodVisitor machineInit
-
match
protected org.objectweb.asm.MethodVisitor match
-
machineName
protected java.lang.String 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
private static final AsmCompilerSupport.DummyClassLoader loader
-
-
Constructor Detail
-
AsmCompilerSupport
AsmCompilerSupport(Analyser analyser)
-
-
Method Detail
-
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
protected final void load(java.lang.String field, java.lang.String singature)
-
load
protected final void load(java.lang.String field)
-
store
protected final void store(java.lang.String field, java.lang.String singature)
-
store
protected final void store(java.lang.String field)
-
installTemplate
protected final java.lang.String installTemplate(byte[] arr, int p, int length)
-
installCodeRange
protected final java.lang.String installCodeRange(int[] arr)
-
installBitSet
protected final java.lang.String installBitSet(int[] arr)
-
installArray
private void installArray(java.lang.String name, int[] arr)
-
installArray
private void installArray(java.lang.String name, byte[] arr, int p, int length)
-
buildArray
private void buildArray(int index, int value, int type)
-
loadInt
private void loadInt(org.objectweb.asm.MethodVisitor mv, int value)
-
-