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 classAsmCompilerSupport.DummyClassLoader
-
Field Summary
Fields Modifier and Type Field Description protected intbitsetsprotected org.objectweb.asm.ClassWriterfactoryprotected org.objectweb.asm.MethodVisitorfactoryInitprotected java.lang.StringfactoryNameprivate static AsmCompilerSupport.DummyClassLoaderloaderprotected org.objectweb.asm.ClassWritermachineprotected org.objectweb.asm.MethodVisitormachineInitprotected java.lang.StringmachineNameprotected org.objectweb.asm.MethodVisitormatchprotected intmaxStackprotected intmaxVarsprotected intranges(package private) static intREG_NUMprotected inttemplates-
Fields inherited from interface org.joni.constants.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
-
Fields inherited from interface org.joni.exception.ErrorMessages
ERR_CHAR_CLASS_VALUE_AT_END_OF_RANGE, ERR_CHAR_CLASS_VALUE_AT_START_OF_RANGE, ERR_CONTROL_CODE_SYNTAX, ERR_DEFAULT_ENCODING_IS_NOT_SETTED, ERR_EMPTY_CHAR_CLASS, ERR_EMPTY_GROUP_NAME, ERR_EMPTY_RANGE_IN_CHAR_CLASS, ERR_END_PATTERN_AT_CONTROL, ERR_END_PATTERN_AT_ESCAPE, ERR_END_PATTERN_AT_LEFT_BRACE, ERR_END_PATTERN_AT_LEFT_BRACKET, ERR_END_PATTERN_AT_META, ERR_END_PATTERN_IN_GROUP, ERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS, ERR_GROUP_NUMBER_OVER_FOR_CAPTURE_HISTORY, ERR_INVALID_ARGUMENT, ERR_INVALID_BACKREF, ERR_INVALID_CHAR_IN_GROUP_NAME, ERR_INVALID_COMBINATION_OF_OPTIONS, ERR_INVALID_GROUP_NAME, ERR_INVALID_LOOK_BEHIND_PATTERN, ERR_INVALID_POSIX_BRACKET_TYPE, ERR_INVALID_REPEAT_RANGE_PATTERN, ERR_INVALID_WIDE_CHAR_VALUE, ERR_MATCH_STACK_LIMIT_OVER, ERR_MEMORY, ERR_META_CODE_SYNTAX, ERR_MISMATCH_CODE_LENGTH_IN_CLASS_RANGE, ERR_MULTIPLEX_DEFINED_NAME, ERR_MULTIPLEX_DEFINITION_NAME_CALL, ERR_NESTED_REPEAT_NOT_ALLOWED, ERR_NESTED_REPEAT_OPERATOR, ERR_NEVER_ENDING_RECURSION, ERR_NOT_SUPPORTED_ENCODING_COMBINATION, ERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED, ERR_OVER_THREAD_PASS_LIMIT_COUNT, ERR_PARSER_BUG, ERR_PREMATURE_END_OF_CHAR_CLASS, ERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR, ERR_STACK_BUG, ERR_TARGET_OF_REPEAT_OPERATOR_INVALID, ERR_TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED, ERR_TOO_BIG_BACKREF_NUMBER, ERR_TOO_BIG_NUMBER, ERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE, ERR_TOO_BIG_SB_CHAR_VALUE, ERR_TOO_MANY_MULTI_BYTE_RANGES, ERR_TOO_SHORT_MULTI_BYTE_STRING, ERR_TYPE_BUG, ERR_UNDEFINED_BYTECODE, ERR_UNDEFINED_GROUP_OPTION, ERR_UNDEFINED_GROUP_REFERENCE, ERR_UNDEFINED_NAME_REFERENCE, ERR_UNEXPECTED_BYTECODE, ERR_UNMATCHED_CLOSE_PARENTHESIS, ERR_UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS, ERR_UPPER_SMALLER_THAN_LOWER_IN_REPEAT_RANGE, MISMATCH, NO_SUPPORT_CONFIG
-
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, V19, V20, V21, V22, V23, V24, V25, V26, V9
-
-
Constructor Summary
Constructors Constructor Description AsmCompilerSupport(Analyser analyser)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaload(int var)protected voidastore(int var)private voidbuildArray(int index, int value, int type)private voidinstallArray(java.lang.String name, byte[] arr, int p, int length)private voidinstallArray(java.lang.String name, int[] arr)protected java.lang.StringinstallBitSet(int[] arr)protected java.lang.StringinstallCodeRange(int[] arr)protected java.lang.StringinstallTemplate(byte[] arr, int p, int length)protected voidload(int var)protected voidload(java.lang.String field)protected voidload(java.lang.String field, java.lang.String singature)private voidloadInt(org.objectweb.asm.MethodVisitor mv, int value)protected voidloadThis()protected voidmove(int to, int from)protected voidprepareFactory()protected voidprepareFactoryInit()protected voidprepareMachine()protected voidprepareMachineInit()protected voidprepareMachineMatch()protected voidsetupClasses()protected voidsetupFactoryInit()protected voidsetupMachineInit()protected voidsetupMachineMatch()protected voidstore(int var)protected voidstore(java.lang.String field)protected voidstore(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)
-
-