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 intprotected org.objectweb.asm.ClassWriterprotected org.objectweb.asm.MethodVisitorprotected Stringprivate static final AsmCompilerSupport.DummyClassLoaderprotected org.objectweb.asm.ClassWriterprotected org.objectweb.asm.MethodVisitorprotected Stringprotected org.objectweb.asm.MethodVisitorprotected intprotected intprotected int(package private) static intprotected intFields inherited from interface 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, THISFields 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_ERRORFields inherited from interface 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_CONFIGFields 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 -
Method Summary
Modifier and TypeMethodDescriptionprotected final voidaload(int var) protected final voidastore(int var) private voidbuildArray(int index, int value, int type) private voidinstallArray(String name, byte[] arr, int p, int length) private voidinstallArray(String name, int[] arr) protected final StringinstallBitSet(int[] arr) protected final StringinstallCodeRange(int[] arr) protected final StringinstallTemplate(byte[] arr, int p, int length) protected final voidload(int var) protected final voidprotected final voidprivate voidloadInt(org.objectweb.asm.MethodVisitor mv, int value) protected final voidloadThis()protected final voidmove(int to, int from) protected final voidprotected final voidprotected final voidprotected final voidprotected final voidprotected final voidprotected final voidprotected final voidprotected final voidprotected final voidstore(int var) protected final voidprotected final voidMethods inherited from class 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)
-